Automated Prioritization of Metrics-based Design Flaws in UML Class Diagrams
Journal article, 2014

The importance of software architecture in software development prolongs throughout the entire software life cycle. This is because quality of the architectural design defines the structural aspects of the system that are difficult to change, and hence will affect most of the subsequent development and maintenance activities. This paper considers software design flaws (related to the system structure) and not flaws identified at run time (by testing). These design flaws are akin to what is described in the literature as anti-patterns, bad smells or rotting design. Recently, two tools that have been developed for quality assurance of software designs represented in the UML notation: SDMetrics and MetricView. However these tools are not considered practical because they report many design flaws which are not considered by developers (false positives). This paper explores an approach that tries to identify which design flaws should be considered important and which are not. To this end, we propose an approach for automated prioritization of software design flaws (BX approach), to facilitate developers to focus on important design flaws more effectively. We designed and implemented a tool (PoSDef) that implements this approach. The BX approach and the PoSDef tool have been validated using two open source projects and one large industrial system. Our validation consists of comparing our approach and tool with the existing design flaw tools. The evaluation has shown that the proposed approach could facilitate developers to identify and prioritize important design flaws effectively.

Metrics

Software Quality Assurance

Electrical & Electronic

Theory &

Engineering

Class Diagrams

Software

Methods

Software Engineering

Computer Science

Model-based Development

Computer Science

UML

Author

Michel Chaudron

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

Brian Katumba

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

X. X. Ran

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

2014 40th Euromicro Conference Series on Software Engineering and Advanced Applications (Seaa 2014)

1089-6503 (ISSN)

369-376

Areas of Advance

Information and Communication Technology

Subject Categories

Computer and Information Science

DOI

10.1109/seaa.2014.82

ISBN

9781479957941

More information

Latest update

12/6/2018