Please use this identifier to cite or link to this item:
http://bura.brunel.ac.uk/handle/2438/6974
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | Counsell, S | - |
dc.contributor.author | Gatrell, Matt | - |
dc.date.accessioned | 2012-11-05T12:44:54Z | - |
dc.date.available | 2012-11-05T12:44:54Z | - |
dc.date.issued | 2012 | - |
dc.identifier.uri | http://bura.brunel.ac.uk/handle/2438/6974 | - |
dc.description | This thesis was submitted for the degree of Doctor of Philosophy and was awarded by Brunel University | en_US |
dc.description.abstract | Object-Oriented design and development dominates both commercial and open source software projects. One of the principal goals of object-oriented design is to aid reuse, and hence, reduce future maintenance efforts of software systems. However, the on-going maintenance of large-scale software systems (both changes and faults) continues to be a significant proportion of the lifecycle of the system and the total investment cost. Understanding and thus being able to predict - or even reduce - the impact of the contributing factors of future maintenance efforts of a software system is thus highly beneficial to software practitioners. In this Thesis we empirically study a large, commercial software system with the principal aim to determine the contributing factors to the change and fault propensity over a three-year period. We consider the object-oriented design context of the software, specifically its inheritance characteristics, coupling and cohesion properties, object-oriented design pattern participation, and size. We also explore the effect of refactoring and test classes in the software. Our results show that several aspects of the design context of a class have an impact to the change and fault-proneness of the software. Specifically, we show that classes with high afferent or efferent coupling are more change and fault-prone; we also identify a number of design patterns whose participants tend to have a higher change and fault propensity than non-participants and we identify a range of inheritance characteristics (in terms of depth of inheritance and number of children) that result in an increase to change and fault-proneness. Furthermore we show that refactoring is a commonly occurring maintenance activity, although it is largely limited to simpler types of refactorings. Finally, we provide some insight into the co-evolution of production and test code during refactoring. | en_US |
dc.language.iso | en | en_US |
dc.publisher | Brunel University, School of Information Systems, Computing and Mathematics | - |
dc.relation.ispartof | School of Information Systems, Computing and Mathematics | - |
dc.relation.uri | http://bura.brunel.ac.uk/bitstream/2438/6974/1/FulltextThesis.pdf | - |
dc.subject | Refactoring | en_US |
dc.subject | Design pattern | en_US |
dc.subject | Coupling | en_US |
dc.subject | Cohesion | en_US |
dc.subject | Size | en_US |
dc.title | An empirical investigation into contributory factors of change and fault propensity in large-scale commercial object-oriented software | en_US |
dc.type | Thesis | en_US |
Appears in Collections: | Computer Science Dept of Computer Science Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
FulltextThesis.pdf | 1.95 MB | Adobe PDF | View/Open |
Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.