Experiences with the automatic discovery of violations to the normalized systems design theorems
Faculty of Applied Economics
International journal on advances in software
, p. 46-60
University of Antwerp
Evolvability is an important concern for the design and development of information systems. The Normalized Systems theory has recently been proposed and aims to ensure the high evolvability of information systems. The Normalized Systems theory is based on the systems theoretic concept of stability and proposes four design theorems that act as constraints on the modular structure of software. In this paper, we explore the feasibility of building a tool that is able to automatically identify violations to these Normalized Systems design theorems in the source code of applications. Such a tool could help developers in identifying limitations to the evolvability of their applications. We describe how a prototype of such a tool was developed and report on the evaluation of this tool consisting of the analysis of the source code of four open source software applications. Our results demonstrate that it is feasible to automatically identify violations to the Normalized Systems design theorems. In addition, the results show that there is considerable variety in how well the different theorems are adhered to by various software applications. We also identified some issues and limitations with the current version of the tool and discuss how these issues can be addressed in a future version.