Conference Proceeding Article
Layered architecture prescribes a good principle for separating concerns to make systems more maintainable. One example of such layered architectures is the separation of classes into three groups: Boundary, Control, and Entity, which are referred to as the three analysis class stereotypes in UML. Classes of different stereotypes are interacting with one another, when properly designed, the overall interaction would be maintainable, flexible, and robust. On the other hand, poor design would result in less maintainable system that is prone to errors. In many software projects, the stereotypes of classes are often missing, thus detection of design flaws becomes non-trivial. In this paper, we provide a framework that automatically labels classes as Boundary, Control, or Entity, and detects design flaws of the rules associated with each stereotype. Our evaluation with programs developed by both novice and expert developers show that our technique is able to detect many design flaws accurately.
Automated detection, Layered architecture, Non-trivial, Software project
Software Engineering | Systems Architecture
Software and Cyber-Physical Systems
SEKE 2011: 23rd International Conference on Software Engineering and Knowledge Engineering, Miami Beach, 7-9 July 2011: Proceedings
Knowledge Systems Institute Graduate School
City or Country
BUDI, Aditya; Lucia, -; LO, David; JIANG, Lingxiao; and WANG, Shaowei.
Automated Detection of Likely Design Flaws in Layered Architectures. (2011). SEKE 2011: 23rd International Conference on Software Engineering and Knowledge Engineering, Miami Beach, 7-9 July 2011: Proceedings. 613-618. Research Collection School Of Information Systems.
Available at: http://ink.library.smu.edu.sg/sis_research/1399
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.