A source code query to support structured program understanding

Most software undoubtedly undergoes changes and needs maintenance due to environment, technologies and domain knowledge changes. A maintainer is responsible to analyze and understand the code occurrences prior to making any changes. The change in some parts of the codes will affect other parts withi...

Full description

Saved in:
Bibliographic Details
Main Author: Din, Dahlia
Format: Thesis
Published: 2010
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Most software undoubtedly undergoes changes and needs maintenance due to environment, technologies and domain knowledge changes. A maintainer is responsible to analyze and understand the code occurrences prior to making any changes. The change in some parts of the codes will affect other parts within the same codes. Therefore, program understanding is one of the important factors to understand the code occurrences and its effectiveness in software maintenance. A program understanding activity involves browsing and exploring the source codes or the software documentations. However, in some cases not all the developed software has updated documentations. In this situation the documents tend to be more or less obsolete, while source code remains as the only reliable source left for maintainers to understand the software. In this case, maintainers need to spend more time traversing source code to understand the code occurrences. Thus, a flexible codes query method is proposed to enhance code occurrences understanding. This method applies parsing, pattern matching and regular expression techniques to extract software artifacts from source code. These extracted artifacts are analyzed and brought to light via multiple levels of abstraction. The results present multiple artifacts, relationship among the artifacts and their locations in the source code. In this research, a prototype was developed to provide a source code query method that supports structured program understanding in C programs. The method was then tested in a controlled experiment using a case study to prove effectiveness query of artifacts occurrences in source code to support program understanding.