Research

Mining Cause-Effect-Chains from Version Histories – ISSRE 2011

by kim September 28, 2011

Software reliability is heavily impacted by soft- ware changes. How do these changes relate to each other? By analyzing the impacted method definitions and usages, we determine dependencies between changes, resulting in a change genealogy that captures how earlier changes enable and cause later ones. Model checking this genealogy reveals temporal process patterns that encode [...]

Network versus Code Metrics to Predict Defects: A Replication Study – ESEM 2011

by kim May 21, 2011

Several defect prediction models have been proposed to identify which entities in a software system are likely to have defects before its release. This paper presents a replication of one such study conducted by Zimmermann and Nagappan [1] on Windows Server 2003 where the authors leveraged dependency relationships between software entities captured using social network [...]

An Empirical Study of the Factors Relating Field Failures and Dependencies – ICST 2011

by kim November 30, 2010

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 [...]

Change Bursts as Defect Predictors – ISSRE 2010

by kim August 3, 2010

In software development, every change induces a risk. What happens if code changes again and again in some period of time? In an empirical study on Windows Vista, we found that the features of such change bursts have the highest predictive power for defect-prone components. With precision and recall values well above 90%, change bursts [...]

Capturing the Long-Term Impact of Changes – ICSE 2010

by kim February 17, 2010

Developers change source code to add new functionality, fix bugs, or refactor their code. Many of these changes have immediate impact on quality or stability. However, some impact of changes may become evident only in the long term. The goal of this thesis is to explore the long-term impact of changes by detecting dependencies between [...]

Mining the Jazz Repository: Challenges and Opportunities

by kim April 22, 2009

By integrating various development and collaboration tools into one single platform, the Jazz environment offers several opportunities for software repository miners. In particular, Jazz offers full traceability from the initial requirements via work packages and work assignments to the final changes and tests; all these features can be easily accessed and leveraged for better prediction [...]

Predicting Defects in SAP Java Code: An Experience Report – ICSE 2009

by kim April 5, 2009

Which components of a large software system are the most defect-prone? In a study on a large SAP Java system, we evaluated and compared a number of defect predictors, based on code features such as complexity metrics, static error detectors, change frequency, or component imports, thus replicating a number of earlier case studies in an [...]