The Use of Software Complexity Metrics in Software Maintenance
IEEE Transactions on Software Engineering
A Controlled Expeniment on the Impact of Software Structure on Maintainability
IEEE Transactions on Software Engineering
Object-oriented metrics that predict maintainability
Journal of Systems and Software - Special issue on object-oriented software
Object-oriented software metrics: a practical guide
Object-oriented software metrics: a practical guide
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
Using Neural Networks to Modularize Software
Machine Learning - Special issue on structured connectionist systems
The application of software maintainability models in industrial software systems
Selected papers of the sixth annual Oregon workshop on Software metrics
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
An Evaluation of the MOOD Set of Object-Oriented Software Metrics
IEEE Transactions on Software Engineering
Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis
IEEE Transactions on Software Engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Automatic method refactoring using weighted dependence graphs
Proceedings of the 21st international conference on Software engineering
Principles of survey research: part 1: turning lemons into lemonade
ACM SIGSOFT Software Engineering Notes
Principles of survey research: part 3: constructing a survey instrument
ACM SIGSOFT Software Engineering Notes
A Hierarchical Model for Object-Oriented Design Quality Assessment
IEEE Transactions on Software Engineering
Practical Software Maintenance: Best Practices for Managing Your Software Investment
Practical Software Maintenance: Best Practices for Managing Your Software Investment
Software Engineering
Principles of survey research part 2: designing a survey
ACM SIGSOFT Software Engineering Notes
Principles of survey research: part 5: populations and samples
ACM SIGSOFT Software Engineering Notes
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Software Quality: The Elusive Target
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Chidamber and Kemerer's Metrics Suite: A Measurement Theory Perspective
IEEE Transactions on Software Engineering
Principles of survey research part 4: questionnaire evaluation
ACM SIGSOFT Software Engineering Notes
Predicting Maintenance Performance Using Object-Oriented Design Complexity Metrics
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
A Unified Framework for Cohesion Measurement
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Advanced Clone-Analysis to Support Object-Oriented System Refactoring
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
A Maintainability Model for Industrial Software Systems Using Design Level Metrics
WCRE '00 Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)
Automated Support for Program Refactoring using Invariants
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Experimental Analysis of the Cognitive Processes of Program Maintainers during Software Maintenance
ICSM '97 Proceedings of the International Conference on Software Maintenance
A Language Independent Approach for Detecting Duplicated Code
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Identifying Refactoring Opportunities Using Logic Meta Programming
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
A Quantitative Evaluation of Maintainability Enhancement by Refactoring
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
A Taxonomy and an Initial Empirical Study of Bad Smells in Code
ICSM '03 Proceedings of the International Conference on Software Maintenance
Refactoring Workbook
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Empirical Software Engineering
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Software psychology: Human factors in computer and information systems (Winthrop computer systems series)
Drivers for software refactoring decisions
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Assessment of software system evolvability
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Code evaluation using fuzzy logic
FS'08 Proceedings of the 9th WSEAS International Conference on Fuzzy Systems
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
Software defect prediction based on source code metrics time series
Transactions on rough sets XIII
ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
An empirical investigation of perceived reliability of open source Java programs
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Empirical Software Engineering
Towards a catalog of spreadsheet smells
ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications - Volume Part IV
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
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Hi-index | 0.00 |
This paper presents the results of an empirical study on the subjective evaluation of code smells that identify poorly evolvable structures in software. We propose use of the term software evolvability to describe the ease of further developing a piece of software and outline the research area based on four different viewpoints. Furthermore, we describe the differences between human evaluations and automatic program analysis based on software evolvability metrics. The empirical component is based on a case study in a Finnish software product company, in which we studied two topics. First, we looked at the effect of the evaluator when subjectively evaluating the existence of smells in code modules. We found that the use of smells for code evaluation purposes can be difficult due to conflicting perceptions of different evaluators. However, the demographics of the evaluators partly explain the variation. Second, we applied selected source code metrics for identifying four smells and compared these results to the subjective evaluations. The metrics based on automatic program analysis and the human-based smell evaluations did not fully correlate. Based upon our results, we suggest that organizations should make decisions regarding software evolvability improvement based on a combination of subjective evaluations and code metrics. Due to the limitations of the study we also recognize the need for conducting more refined studies and experiments in the area of software evolvability.