Knowledge-based approaches in software documentation: A systematic literature review

  • Authors:
  • Wei Ding;Peng Liang;Antony Tang;Hans Van Vliet

  • Affiliations:
  • State Key Lab of Software Engineering, School of Computer, Wuhan University, China and Key Laboratory of Earthquake Geodesy, Institute of Seismology, China Earthquake Administration, China;State Key Lab of Software Engineering, School of Computer, Wuhan University, China and Department of Computer Science, VU University Amsterdam, Netherlands;Faculty of Information and Communication Technologies, Swinburne University of Technology, Australia;Department of Computer Science, VU University Amsterdam, Netherlands

  • Venue:
  • Information and Software Technology
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context: Software documents are core artifacts produced and consumed in documentation activity in the software lifecycle. Meanwhile, knowledge-based approaches have been extensively used in software development for decades, however, the software engineering community lacks a comprehensive understanding on how knowledge-based approaches are used in software documentation, especially documentation of software architecture design. Objective: The objective of this work is to explore how knowledge-based approaches are employed in software documentation, their influences to the quality of software documentation, and the costs and benefits of using these approaches. Method: We use a systematic literature review method to identify the primary studies on knowledge-based approaches in software documentation, following a pre-defined review protocol. Results: Sixty studies are finally selected, in which twelve quality attributes of software documents, four cost categories, and nine benefit categories of using knowledge-based approaches in software documentation are identified. Architecture understanding is the top benefit of using knowledge-based approaches in software documentation. The cost of retrieving information from documents is the major concern when using knowledge-based approaches in software documentation. Conclusions: The findings of this review suggest several future research directions that are critical and promising but underexplored in current research and practice: (1) there is a need to use knowledge-based approaches to improve the quality attributes of software documents that receive less attention, especially credibility, conciseness, and unambiguity; (2) using knowledge-based approaches with the knowledge content in software documents which gets less attention in current applications of knowledge-based approaches in software documentation, to further improve the practice of software documentation activity; (3) putting more focus on the application of software documents using the knowledge-based approaches (knowledge reuse, retrieval, reasoning, and sharing) in order to make the most use of software documents; and (4) evaluating the costs and benefits of using knowledge-based approaches in software documentation qualitatively and quantitatively.