English

Logical Segmentation of Source Code

Software Engineering 2019-07-23 v1 Machine Learning Machine Learning

Abstract

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.

Keywords

Cite

@article{arxiv.1907.08615,
  title  = {Logical Segmentation of Source Code},
  author = {Jacob Dormuth and Ben Gelman and Jessica Moore and David Slater},
  journal= {arXiv preprint arXiv:1907.08615},
  year   = {2019}
}

Comments

SEKE2019 Conference Full Paper