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

Wei Ding, Peng Liang, Antony Tang, Hans van Vliet
2014 Information and Software Technology  
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
more » ... sed 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 knowledgebased 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 knowledgebased 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.
doi:10.1016/j.infsof.2014.01.008 fatcat:xzw6ouvybndnjfhazkre5iyx7e