Logical Segmentation of Source Code
  Many software analysis methods have come to rely on machine learning
approaches. Code segmentation - the process of decomposing source code into
meaningful blocks - can augment these methods by featurizing code, reducing
noise, and limiting the problem space. Traditionally, code segmentation has
been done using syntactic cues; current approaches do not intentionally capture
logical content. We develop a novel deep learning approach to generate logical
code segments regardless of the language or syntactic correctness of the code.
Due to the lack of logically segmented source code, we introduce a unique data
set construction technique to approximate ground truth for logically segmented
code. Logical code segmentation can improve tasks such as automatically
commenting code, detecting software vulnerabilities, repairing bugs, labeling
code functionality, and synthesizing new code.
