The Community for Technology Leaders
Green Image
ABSTRACT
<p><b>Abstract</b>—Software system documentation is almost always expressed informally in natural language and free text. Examples include requirement specifications, design documents, manual pages, system development journals, error logs, and related maintenance reports. We propose a method based on information retrieval to recover traceability links between source code and free text documents. A premise of our work is that programmers use meaningful names for program items, such as functions, variables, types, classes, and methods. We believe that the application-domain knowledge that programmers process when writing the code is often captured by the mnemonics for identifiers; therefore, the analysis of these mnemonics can help to associate high-level concepts with program concepts and vice-versa. We apply both a probabilistic and a vector space information retrieval model in two case studies to trace C++ source code onto manual pages and Java code to functional requirements. We compare the results of applying the two models, discuss the benefits and limitations, and describe directions for improvements.</p>
INDEX TERMS
Redocumentation, traceability, program comprehension, object orientation, information retrieval.
CITATION
Andrea De Lucia, Giuliano Antoniol, Ettore Merlo, Gerardo Canfora, Gerardo Casazza, "Recovering Traceability Links between Code and Documentation", IEEE Transactions on Software Engineering, vol. 28, no. , pp. 970-983, October 2002, doi:10.1109/TSE.2002.1041053
92 ms
(Ver )