Back to top

Doctoral Symposium paper titled 'Towards a framework for managing architectural design decisions' accepted at the ECSA 2017

Software architecture is considered as a set of architectural design decisions. The recent trends, both in research and industry, call for improved tool support for software architects and developers to manage architectural design decisions and its associated concepts. As part of our ongoing work, we propose a framework for managing architectural design decisions in large software-intensive projects. Each component within this framework addresses specific use cases including (a) extraction and classification of design decisions from issue management systems, (b) annotation of architectural elements, (c) recommendation of alternative decision options, (d) reasoning about decisions’ rationale, and (e) recommendation of experts for addressing design decisions. These components are planned to be iteratively realized and evaluated using the design science research approach. We believe that the realization of such a framework will allow an architectural knowledge management systems to integrate with the design, development, and maintenance phases to support stakeholders not only to document design decisions but also to learn from decisions made in the past projects.


Paper titled Automatic extraction of design decisions from issue management systems - a machine learning based approach accepted at the ECSA 2017

Abstract: The need to explicitly document design decisions has been emphasized both in research and in industry. To address design concerns, software architects and developers implicitly capture design decisions in tools such as issue management systems. These design decisions are not explicitly labeled and are not integrated with the architecture knowledge management tools. Automatically extracting these design decisions will aid the architectural knowledge management tools to learn from the past decisions and to guide architects while making decisions in similar context. In this paper, we propose a two-phase supervised machine learning based approach to, first, automatically detect design decisions from issues and second, to automatically classify the identified design decisions into different decision categories. We have manually analyzed and labeled more than 1,500 issues from two large open source repositories and have used this dataset for generating the machine learning models. We have made the dataset publicly available that will serve as a starting point for researchers to further reference and investigate the design decision detection and classification problem. Our evaluation shows that by using linear support vector machines, we can detect design decisions with 91.29% accuracy and classify them with an accuracy of 82.79%. This provides a quantitative basis for learning from past design decisions to support stakeholders in making better and informed design decisions.