An evaluation of retrieval effectiveness for a full-text document-retrieval system
Communications of the ACM
On the role of domain knowledge-based approaches to software development
ACM SIGSOFT Software Engineering Notes
LaSSIE: a knowledge-based software information system
Communications of the ACM - Special issue on software engineering
Software requirements: objects, functions, and states
Software requirements: objects, functions, and states
The capability maturity model: guidelines for improving the software process
The capability maturity model: guidelines for improving the software process
An examination of the effects of requirements changes on software maintenance releases
Journal of Software Maintenance: Research and Practice
On the many ways software engineering can benefit from knowledge engineering
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
The relevance of software documentation, tools and technologies: a survey
Proceedings of the 2002 ACM symposium on Document engineering
Software Documentation: How Much Is Enough?
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Survey of semantic annotation platforms
Proceedings of the 2005 ACM symposium on Applied computing
A Survey of the Use and Documentation of Architecture Design Rationale
WICSA '05 Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture
A rationale-based architecture model for design traceability and reasoning
Journal of Systems and Software
Empirical studies of agile software development: A systematic review
Information and Software Technology
A Realistic Empirical Evaluation of the Costs and Benefits of UML in Software Maintenance
IEEE Transactions on Software Engineering
A unified architecture for natural language processing: deep neural networks with multitask learning
Proceedings of the 25th international conference on Machine learning
Software Architecture Knowledge Management
ASWEC '08 Proceedings of the 19th Australian Conference on Software Engineering
Document based rational software development
Knowledge-Based Systems
Information and Software Technology
Enriching software architecture documentation
Journal of Systems and Software
A comparative study of architecture knowledge management tools
Journal of Systems and Software
KaitoroBase: Visual Exploration of Software Architecture Documents
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Architectural knowledge: getting to the core
QoSA'07 Proceedings of the Quality of software architectures 3rd international conference on Software architectures, components, and applications
Requirements engineering for software product lines: A systematic literature review
Information and Software Technology
Reusing security requirements using an extended quality model
Proceedings of the 2010 ICSE Workshop on Software Engineering for Secure Systems
A systematic review of comparative evidence of aspect-oriented programming
Information and Software Technology
Using systematic mapping to explore software architecture knowledge
Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge
Knowledge Sharing in Software Development
QSIC '10 Proceedings of the 2010 10th International Conference on Quality Software
Documenting Software Architectures: Views and Beyond
Documenting Software Architectures: Views and Beyond
Tracing architecturally significant requirements: a decision-centric approach
Proceedings of the 33rd International Conference on Software Engineering
Proceedings of the 6th International Workshop on SHAring and Reusing Architectural Knowledge
Supporting agile software development through active documentation
Requirements Engineering
Alignment of Requirements Specification and Testing: A Systematic Mapping Study
ICSTW '11 Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
Software Architecture Documentation: The Road Ahead
WICSA '11 Proceedings of the 2011 Ninth Working IEEE/IFIP Conference on Software Architecture
Building up and reasoning about architectural knowledge
QoSA'06 Proceedings of the Second international conference on Quality of Software Architectures
Software and Systems Traceability
Software and Systems Traceability
Towards an evidence-based understanding of electronic data sources
EASE'10 Proceedings of the 14th international conference on Evaluation and Assessment in Software Engineering
Systematic mapping studies in software engineering
EASE'08 Proceedings of the 12th international conference on Evaluation and Assessment in Software Engineering
Evaluating the specificity of text retrieval queries to support software engineering tasks
Proceedings of the 34th International Conference on Software Engineering
Experimentation in Software Engineering
Experimentation in Software Engineering
Ontology-based Software Architecture Documentation
WICSA-ECSA '12 Proceedings of the 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture
IEEE Software
Application of knowledge-based approaches in software architecture: A systematic mapping study
Information and Software Technology
Patterns of Knowledge in API Reference Documentation
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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.