The Use of Software Complexity Metrics in Software Maintenance
IEEE Transactions on Software Engineering
Construction and testing of polynomials predicting software maintainability
Journal of Systems and Software - Special issue of the best papers from the Oregon Workshop on Software Metrics, 1993
Object-oriented metrics: measures of complexity
Object-oriented metrics: measures of complexity
Development and application of an automated source code maintainability index
Journal of Software Maintenance: Research and Practice
AntiPatterns: refactoring software, architectures, and projects in crisis
AntiPatterns: refactoring software, architectures, and projects in crisis
Qualitative Methods in Empirical Studies of Software Engineering
IEEE Transactions on Software Engineering
Does The Modern Code Inspection Have Value?
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Empirical Validation of Class Diagram Metrics
ISESE '02 Proceedings of the 2002 International Symposium on Empirical Software Engineering
A Quantitative Evaluation of Maintainability Enhancement by Refactoring
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Refactoring Workbook
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Software psychology: Human factors in computer and information systems (Winthrop computer systems series)
Subjective evaluation of software evolvability using code smells: An empirical study
Empirical Software Engineering
Code smell eradication and associated refactoring
ECC'08 Proceedings of the 2nd conference on European computing conference
Is a strategy for code smell assessment long overdue?
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
Building empirical support for automated code smell detection
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
Understanding context: creating a lasting impact in experimental software engineering research
Proceedings of the FSE/SDP workshop on Future of software engineering research
Review of recent systems for automatic assessment of programming assignments
Proceedings of the 10th Koli Calling International Conference on Computing Education Research
Identifying extract-method refactoring candidates automatically
Proceedings of the Fifth Workshop on Refactoring Tools
An exploratory study to investigate the impact of conceptualization in god class detection
Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
Hi-index | 0.00 |
This paper presents an empirical study of drivers for software refactoring decisions. We studied the refactoring decisions made by 37 students evaluating ten methods of a purposefully constructed Java program. The decision rationales reported by the evaluators were coded to identify the drivers behind the decisions. The identified drivers were categorized into Structure, Documentation, Visual Representation, and General drivers. The evaluators had conflicting opinions both regarding the internal quality of the methods and refactoring decisions. Complex code problems were detected only by experienced evaluators. Using regression analysis, we looked at the predictive value of drivers explaining the refactoring decisions. The most salient driver leading to a favourable refactoring decision was method size. This study provides information of the refactoring decisions and helps form a basis for creating code problem detectors. By comparing automatic detection and the identified drivers we gained understanding of code problems that are difficult or impossible to detect automatically, for example Poor Algorithm. Issues detected only by experienced developers, and code problems for which the human eye surpasses automatic detection indicate good areas for developer education.