The Use of Software Complexity Metrics in Software Maintenance
IEEE Transactions on Software Engineering
A field study of the software design process for large systems
Communications of the ACM
An evaluation of some design metrics
Software Engineering Journal - Special issue: on software reliability and metrics
Object-oriented metrics that predict maintainability
Journal of Systems and Software - Special issue on object-oriented software
Derivation and validation of software metrics
Derivation and validation of software metrics
Object-oriented software metrics: a practical guide
Object-oriented software metrics: a practical guide
People, Organizations, and Process Improvement
IEEE Software
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Proceedings of the 20th international conference on Software engineering
A comparison of measurement and defect characteristics of new and legacy software systems
Journal of Systems and Software
The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics
IEEE Transactions on Software Engineering
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Quantitative Analysis of Faults and Failures in a Complex Software System
IEEE Transactions on Software Engineering
An empirical comparison and characterization of high defect and high complexity modules
Journal of Systems and Software
Using the Focus Group Method in Software Engineering: Obtaining Practitioner and User Experiences
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Journal of Systems and Software
Predictors of customer perceived software quality
Proceedings of the 27th international conference on Software engineering
Use of relative code churn measures to predict system defect density
Proceedings of the 27th international conference on Software engineering
Static analysis tools as early indicators of pre-release defect density
Proceedings of the 27th international conference on Software engineering
Predicting the Location and Number of Faults in Large Software Systems
IEEE Transactions on Software Engineering
The Top Ten List: Dynamic Fault Prediction
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Building Defect Prediction Models in Practice
IEEE Software
Emphasizing Human Capabilities in Software Development
IEEE Software
Identifying and characterizing change-prone classes in two large-scale open-source products
Journal of Systems and Software
Using Developer Information as a Factor for Fault Prediction
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Software Structure Metrics Based on Information Flow
IEEE Transactions on Software Engineering
An Empirical Study of a Syntactic Complexity Family
IEEE Transactions on Software Engineering
CASCON '07 Proceedings of the 2007 conference of the center for advanced studies on Collaborative research
The influence of organizational structure on software quality: an empirical case study
Proceedings of the 30th international conference on Software engineering
Predicting build failures using social network analysis on developer communication
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Software Dependencies, Work Dependencies, and Their Impact on Failures
IEEE Transactions on Software Engineering
Programmer-based fault prediction
Proceedings of the 6th International Conference on Predictive Models in Software Engineering
An empirical study on the influence of pattern roles on change-proneness
Empirical Software Engineering
Ownership, experience and defects: a fine-grained study of authorship
Proceedings of the 33rd International Conference on Software Engineering
Software quality metrics based on interconnectivity
Journal of Systems and Software
Hi-index | 0.00 |
Volatile software modules, for the purposes of this work, are defined as those that are significantly more change-prone than other modules in the same system or subsystem. There is significant literature investigating models for predicting which modules in a system will become volatile, and/or are defect-prone. Much of this work focuses on using source code-related characteristics (e.g., complexity metrics) and simple change metrics (e.g., number of past changes) as inputs to the predictive models. Our work attempts to broaden the array of factors considered in such prediction approaches. To this end, we collected data directly from development personnel about the factors they rely on to foresee what parts of a system are going to become volatile. In this paper, we describe a focus group study conducted with the development team of a small but active open source project, in which we asked this very question. The results of the focus group indicate, among other things, that a period of volatility in a particular area of the system is often predicted by a pattern characterized by inactivity in a certain area (resulting in that area becoming less mature than others), increased communication between developers regarding opportunities for improvement in that area, and then the emergence of a champion who takes the initiative to start working on those improvements. The initial changes lead to more changes (both to extend the improvements already made and to fix problems introduced), thus leading to volatility.