Automated Prioritization of Metrics-based Design Flaws in UML Class Diagrams
Paper i proceeding, 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.


Software Engineering

Computer Science


Class Diagrams

Theory &




Electrical & Electronic

Computer Science

Model-based Development

Software Quality Assurance


Michel Chaudron

Chalmers, Data- och informationsteknik, Software Engineering

Brian Katumba

Chalmers, Data- och informationsteknik, Software Engineering

X. X. Ran

Chalmers, Data- och informationsteknik, Software Engineering

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

1089-6503 (ISSN)

369-376 6928837

40th Euromicro Conference Series on Software Engineering and Advanced Applications, SEAA 2014
Verona, Italy,


Informations- och kommunikationsteknik


Data- och informationsvetenskap



Mer information

Senast uppdaterat