Developing a Model of Loop Actions by Mining Loop Characteristics from a Large Code Corpus

DSpace/Manakin Repository

Show simple item record Wang, Xiaoran Pollock, Lori Vijay-Shanker, K. 2015-09-27T13:07:26Z 2015-09-27T13:07:26Z 2015-09
dc.description.abstract Some high level algorithmic steps require more than one statement to implement, but are not large enough to be a method on their own. Specifically, many algorithmic steps (e.g., count, compare pairs of elements, find the maximum) are implemented as loop structures, which lack the higher level abstraction of the action being performed, and can negatively affect both human readers and automatic tools. Additionally, in a study of 14,317 projects, we found that less than 20% of loops are documented to help readers. In this paper, we present a novel automatic approach to identify the high level action implemented by a given loop. We leverage the available, large source of high-quality open source projects to mine loop characteristics and develop an action identification model. We use the model and feature vectors extracted from loop code to automatically identify the high level actions implemented by loops. We have evaluated the accuracy of the loop action identification and coverage of the model over 7159 open source programs. The results show great promise for this approach to automatically insert internal comments and provide additional higher level naming for loop actions to be used by tools such as code search. en_US
dc.description.sponsorship National Science Foundation CCF-1422184. en_US
dc.language.iso en_US en_US
dc.publisher IEEE en_US
dc.subject abstraction en_US
dc.subject mining code patterns en_US
dc.subject documentation generation en_US
dc.title Developing a Model of Loop Actions by Mining Loop Characteristics from a Large Code Corpus en_US
dc.type In Conference Proceedings *
dc.booktitle International Conference on Software Maintenance and Evolution (ICSME) en_US
dc.project Natural Language Program Analysis en_US

Files in this item

This item appears in the following Collection(s)

Show simple item record

Related Items