Til hovedinnhold
Norsk English

A study of cyclic dependencies on defect profile of software components

Sammendrag

Background:
Empirical evidence shows that dependency cycles among software components are pervasive in real-life software systems, although such cycles are known to be detrimental to software quality attributes such as understandability, testability, reusability, build-ability and maintainability.

Research goals:
Can the use of extended object-oriented metrics make us better understand the relationships among cyclic related components and their defect-proneness?

Approach:
First, we extend such metrics to mine and classify software components into two groups – the cyclic and the non-cyclic ones. Next, we have performed an empirical study of six software applications. Using standard statistical tests on four different hypotheses, we have determined the significance of the defect profiles of both groups.

Results:
Our results show that most defects and defective components are concentrated in cyclic-dependent components, either directly or indirectly.

Discussion and conclusion:
These results have important implications for software maintenance and system testing. By identifying the most defect-prone set in a software system, it is possible to effectively allocate testing resources in a cost efficient manner. Based on these results, we demonstrate how additional structural properties could be collected to understand component's defect proneness and aid decision process in refactoring defect-prone cyclic related components.

Kategori

Vitenskapelig artikkel

Språk

Engelsk

Forfatter(e)

  • Tosin Daniel Oyetoyan
  • Daniela Soares Cruzes
  • Reidar Conradi

Institusjon(er)

  • Norges teknisk-naturvitenskapelige universitet
  • SINTEF Digital / Software Engineering, Safety and Security

År

2013

Publisert i

Journal of Systems and Software

ISSN

0164-1212

Forlag

Elsevier

Årgang

86

Hefte nr.

12

Side(r)

3162 - 3182

Vis denne publikasjonen hos Cristin