Exploring action unit granularity of source code for supporting software maintenance

Author(s)Wang, Xiaoran
Date Accessioned2017-12-14T13:28:06Z
Date Available2017-12-14T13:28:06Z
Publication Date2017
SWORD Update2017-09-05T16:32:33Z
AbstractBecause resources for today's software are used primarily for maintenance and evolution, researchers are striving to make software engineers more efficient through automation. Programmers now use integrated development environments (IDEs), debuggers, and tools for code search, testing, and program understanding to reduce the tedious, error-prone tasks. A key component of these tools is analyzing source code and gathering information for software developers. Most analyses treat a method as a set of individual statements or a bag of words. Those analyses do not leverage information at levels of abstraction between the individual statement and the whole method. However, a method normally contains multiple high-level steps to achieve a certain function or execute an algorithm. The steps are expressed by a sequence of statements instead of a single statement. In this dissertation, I have explored the feasibility of automatically identifying these high level actions towards improving software maintenance tools and program understanding. ☐ Specifically, methods can often be viewed as a sequence of blocks that correspond to high level actions. We define an action unit as a code block that consists of a sequence of consecutive statements that logically implement a high level action. Rather than lower level actions represented by individual statements, action units represent a higher level action, for example, “initializing a collection”' or “setting up a GUI component”. Action units are intermediary steps of an algorithm or sub-actions of a bigger and more general action. In this dissertation, I (1) introduce the notion of action units and define the kinds of action units, (2) develop techniques to automatically identify actions for loop-based action units, (3) automatically generate natural language descriptions for object-related action units, and (4) automatically insert blank lines into methods based on action units to improve source code readability.en_US
AdvisorPollock, Lori L.
AdvisorShanker, Vijay K.
DegreePh.D.
DepartmentUniversity of Delaware, Department of Computer and Information Sciences
Unique Identifier1015336951
URLhttp://udspace.udel.edu/handle/19716/21806
Languageen
PublisherUniversity of Delawareen_US
URIhttps://search.proquest.com/docview/1958957034?accountid=10457
KeywordsApplied sciencesen_US
KeywordsCode readabilityen_US
KeywordsComment generationen_US
KeywordsSoftware documentationen_US
KeywordsSource code analysisen_US
TitleExploring action unit granularity of source code for supporting software maintenanceen_US
TypeThesisen_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Wang_udel_0060D_12922.pdf
Size:
872.74 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
2.22 KB
Format:
Item-specific license agreed upon to submission
Description: