Title
Understanding how the requirements are implemented in source code
Abstract
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. 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.
Year
DOI
Venue
2003
10.1109/APSEC.2003.1254359
APSEC
Keywords
Field
DocType
source code structure,gnu system,information retrieval technology,information retrieval field,requirements implementation understanding,requirement-slicing problem,static source code structure analysis,recall metrics,call graph,software metrics,initial function,information retrieval,queries andidentifier information,program slicing,reverse engineering,function name,software maintenance,program comprehension,static source codestructure analysis,system documentation,source code,traceability,precision metrics,information retrievalmodel,static analysis.,static analysis,structure analysis,functional requirement
Static program analysis,Functional requirement,Data mining,Source code,Systematic code,Computer science,Redundant code,Code generation,Code word,KPI-driven code analysis
Conference
ISBN
Citations 
PageRank 
0-7695-2011-1
11
0.77
References 
Authors
12
5
Name
Order
Citations
PageRank
Wei Zhao11738.65
Lingming Zhang22726154.39
Yin Liu31749.07
Jing Luo4211.72
Jiasu Sun569432.02