14 research outputs found
Traceability Recovery by Modeling Programmer Behavior
comprehension, object orientation When a system evolves, while the source code is changed documentation and traceability links are barely ever up-dated: maintaining traceability information between soft-ware artifacts is a costly and tedious activity frequently sac-rificed during development and maintenance due to market pressure. This paper presents a new method to recovery traceabil-ity links between high level and low level artifacts. The method is based on the partial knowledge of a subset of traceabilty links. It can be fully automated and the human intervention is only required to confirm or confute recovered traceability links. The method has been applied to software written in Java, to trace classes onto functional requirements, experimental result demonstrate the superiority of the novel method over the previously published results on the same system. 1
Recovering traceability links between code and documentation
Abstract—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