• DocumentCode
    3176581
  • Title

    An Empirical Study on the Relation between Dependency Neighborhoods and Failures

  • Author

    Zimmerman, Tom ; Nagappan, Nachiappan ; Herzig, Kim ; Premraj, Rahul ; Williams, Laurie

  • Author_Institution
    Microsoft Res., Redmond, WA, USA
  • fYear
    2011
  • fDate
    21-25 March 2011
  • Firstpage
    347
  • Lastpage
    356
  • Abstract
    Changing source code in large software systems is complex and requires a good understanding of dependencies between software components. Modification to components with little regard to dependencies may have an adverse impact on the quality of the latter, i.e., increase their risk to fail. We conduct an empirical study to understand the relationship between the quality of components and the characteristics of their dependencies such as their frequency of change, their complexity, number of past failures and the like. Our study has been conducted on two large software systems: Microsoft VISTA and ECLIPSE. Our results show that components that have outgoing dependencies to components with higher object-oriented complexity tend to have fewer field failures for VISTA, but the opposite relation holds for ECLIPSE. Likewise, other notable observations have been made through our study that (a) confirm that certain characteristics of components increase the risk of their dependencies to fail and (b) some of the characteristics are project specific while some were also found to be common. We expect that such results can be leveraged for use to provide new directions for research in defect prediction, test prioritization and related research fields that utilize code dependencies in their empirical analysis. Additionally, these results provide insights to engineers on the potential reliability impacts of new component dependencies based upon the characteristics of the component.
  • Keywords
    object-oriented programming; program testing; software quality; systems analysis; ECLIPSE; Microsoft VISTA; code dependency; component quality; defect prediction; dependency neighborhood; empirical analysis; field failure; object-oriented complexity; software component; source code changing; test prioritization; Complexity theory; Couplings; Java; Measurement; Servers; Software systems; defects; dependency; empirical software engineering; software quality;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Testing, Verification and Validation (ICST), 2011 IEEE Fourth International Conference on
  • Conference_Location
    Berlin
  • Print_ISBN
    978-1-61284-174-8
  • Electronic_ISBN
    978-0-7695-4342-0
  • Type

    conf

  • DOI
    10.1109/ICST.2011.39
  • Filename
    5770624