Matt Gatrell

Learn More
In this paper, we document a study of design patterns in commercial, proprietary software and determine whether design pattern participants (i.e. the constituent classes of a pattern) had a greater propensity for faults than non-participants. We studied a commercial software system for a 24 month period and identified design pattern participants by(More)
Recent empirical work has shown that some of the most frequently applied Java-based refactorings relate to the manipulation of code conditionals and flags. The logic of such code is often complex and difficult to test regressively. One open research issue thus relates to the fault-proneness profiles of classes where these refactorings have been applied,(More)
Objective. This paper documents a study of the application of refactorings in commercial C# software comprising 270 versions over a two-month period. The software was developed in a continuous integration environment in a large, multi-national company where each software change committed to the source control was regarded as a new version. The aim of the(More)
This paper documents a study of change in commercial, proprietary C# software and attempts to determine whether a relationship exists between class changes and faults and the design context of a class, namely its size and inheritance relationships. Results showed a strong positive correlation between the size of a class and change-proneness but not for all(More)
In a unit testing environment, understanding the relationship between production classes and test classes has implications for overall maintenance and hence systems development costs. Equally, the fault-proneness of each type may have a similar influence on the level or required maintenance. In this paper, we explore two aspects of the differences between(More)
  • 1