Vadim Markovtsev, source{d}.
Vadim Markovtsev
@vadimlearning
source{d}
#MLonCode
class MyAnalyzer(Analyzer):
@classmethod
def train(cls, ...) -> AnalyzerModel:
# ...
def analyze(self, ...) -> [Comment]:
# do something with self.model
Because coding is an act of communication, one might expect large code corpora to have rich patterns, similar to natural language, thus allowing software engineering tools to exploit probabilistic ML models.
Send is to receive as push is to pop.
a = b * 2
a≤5 Λ b≤1 Λ c ⇒ α
a≤5 Λ 1<b<4 ⇒ β
5<a<10 Λ c ⇒ γ
a>5 Λ c Λ b>2 ⇒ α
a>5 Λ c Λ b>2 Λ d Λ a>10 ⇒ α
(merge)
a>10 Λ c Λ b>2 Λ d ⇒ α
(redundant)
a>10 Λ c Λ d ⇒ α
(feature exclusion)
a>10 Λ c ⇒ α
(confidence threshold)