Towards automatically generating explanations of software systems Generating explanations of a web-template system in different abstraction levels
Abstract
Traditional software documentation is often challenging to manage as its content
grow. For example, information becomes scattered, information become hard to retrieve and the documentation has to satisfy multiple different stakeholders. The aim
of this study was to find ways to address these challenges. It followed a design science
research approach, with one case used for demonstration and evaluation. A tool,
System Explanation Composer (SEC), was built to explore how software artifacts
and architectural knowledge (AK) could be interrelated and how different aspects
of the case system could be explained and presented. A meta-model which presents
software artifacts and AK was designed. This meta-model interrelates knowledge in
the following four categories; requirements, architecture, rationale, and implementation. SEC generates explanations to a selected set of commonly asked development
related questions using this meta-model. These explanations were evaluated using
a quantitative and a qualitative approach. Although the sample size of the evaluation was too small for making any generalizable statements, the quantitative results
strongly indicate that participants in this study solved development-related tasks
faster, more accurately and more independently using SEC as opposed to using
file-based documentation. The qualitative results also support this statement and
indicate that SEC could further assist developers in performing their daily tasks
more efficiently after improving two main aspects: the behavior and rationale sections of the meta-model and the query system of SEC.
Degree
Student essay
Collections
View/ Open
Date
2021-03-03Author
Tao, Alex
Roodbari, Mahsa
Keywords
software
explanation
architectural view
requirement
architecture
rationale
implementation
ontology
artifacts
architectural knowledge
Language
eng