• DocumentCode
    841254
  • Title

    Recovering traceability links between code and documentation

  • Author

    Antoniol, Giuliano ; Canfora, Gerardo ; Casazza, Gerardo ; De Lucia, Andrea ; Merlo, Ettore

  • Author_Institution
    Res. Centre on Software Technol., Univ. of Sannio, Roma, Italy
  • Volume
    28
  • Issue
    10
  • fYear
    2002
  • fDate
    10/1/2002 12:00:00 AM
  • Firstpage
    970
  • Lastpage
    983
  • 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.
  • Keywords
    information retrieval; natural languages; object-oriented programming; probability; system documentation; free text documents; information retrieval; object orientation; program comprehension; software system documentation; source code; traceability; traceability link recovery; vector space; Context modeling; Documentation; Information resources; Information retrieval; Inspection; Java; Mathematics; Natural languages; Programming profession; Writing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2002.1041053
  • Filename
    1041053