The impact of UML modeling on defect density and defect resolution time in a proprietary system
Artikel i vetenskaplig tidskrift, 2014

Background: The contribution of modeling in software development has been a subject of debates. The proponents of model-driven development argue that a big upfront modeling requires substantial investment, but it will payoff later in the implementation phase in terms of increased productivity and quality. Other software engineers perceive modeling activity as a waste of time and money without any real contribution to the final software product. Considering present advancement of model-based software development in software industry, we are challenged to investigate the real contribution of modeling in software development. Objective: We analyze the impacts of UML modeling, specifically the production of class and sequence diagrams, on the quality of the code, as measured by defect density, and on defect resolution time. Method: Using data of a proprietary system, we conduct post-mortem analyses to test the difference in defect density between software modules that are modeled and not modeled. Similarly, we test the difference in resolution time between defects that are related to modeled and not modeled functionality. Result: We have found that the production of UML class diagrams and sequence diagrams reduces defect density in the code and the time required to fix defects. These results are obtained after controlling for the effects of co-factors such as code coupling and complexity. Conclusion: The results confirm that not only does the production of UML class diagrams and sequence diagrams possibly help improve the quality of software, but also it possibly help increase the productivity in software maintenance.

Defect resolution time

Software Engineering

UML

Quality

Defect density

Software maintenance

Effort

Productivity

Författare

Ariadi Nugroho

Michel Chaudron

Empirical Software Engineering

1382-3256 (ISSN) 1573-7616 (eISSN)

Vol. 19 4 926-954

Ämneskategorier

Programvaruteknik

DOI

10.1007/s10664-013-9243-2

Mer information

Skapat

2017-10-10