loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
10th Asia-Pacific Software Engineering Conference (APSEC'03)
Understanding How the Requirements Are Implemented in Source Code
Chiang Mai, Thailand
December 10-December 12
ISBN: 0-7695-2011-1
Wei Zhao, Peking University, Beijing
Lu Zhang, Peking University, Beijing
Yin Liu, Peking University, Beijing
Jing Luo, Peking University, Beijing
Jiasu Sun, Peking University, Beijing
For software maintenance and evolution, a common problem is to understand how each requirement is implemented in the source code. The basic solution of this problem is to find the fragment of source code that is corresponding to the implementation of each requirement. This can be viewed as a requirement-slicing problem -- slicing the source code according to each individual requirement. In this paper, we present an approach to find the set of functions that is corresponding to each requirement. The main idea of our method is to combine the information retrieval technology with the static analysis of source code structures. First, we retrieve the initial function sets through some information retrieval model using functional requirements as the queries and identifier information (such as function names, parameter names, variable names etc.) of functions in the source code as target documents. Then we complement each retrieved initial function set by analyzing the call graph extracted from the source code. A premise of our approach is that programmers should use meaningful names as identifiers. Furthermore, we perform an experimental study based on a GNU system. We use two basic metrics: precision and recall (which are the common practice in the information retrieval field), to evaluate our approach. We also compare the results directly acquired from information retrieval with those that are complemented through static source code structure analysis.
Index Terms:
program comprehension, software maintenance, traceability, information retrieval, static analysis
Citation:
Wei Zhao, Lu Zhang, Yin Liu, Jing Luo, Jiasu Sun, "Understanding How the Requirements Are Implemented in Source Code," apsec, pp.68, 10th Asia-Pacific Software Engineering Conference (APSEC'03), 2003
Usage of this product signifies your acceptance of the Terms of Use.