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

Methods

Software Engineering

Computer Science

Engineering

Class Diagrams

Theory &

Metrics

Software

UML

Electrical & Electronic

Computer Science

Model-based Development

Software Quality Assurance

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 6928837

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

Areas of Advance

Information and Communication Technology

Subject Categories

Computer and Information Science

DOI

10.1109/seaa.2014.82

More information

Latest update

7/14/2021