An empirical approach to the study of errors in large software under maintenance
The Institute of Electrical and Electronics Engineers, Inc on Conference on software maintenance--1985
The State of Software Maintenance
IEEE Transactions on Software Engineering
Scale Economies in New Software Development
IEEE Transactions on Software Engineering
Departmentalization in software development and maintenance
Communications of the ACM
An Entropy-Based Measure of Software Complexity
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Toward full life cycle control: adding maintenance measurement to the SEL
Journal of Systems and Software
Complexity measures for concurrent programs based on information-theoretic metrics
Information Processing Letters
Journal of Systems and Software - Special issue of the best papers from the Oregon Workshop on Software Metrics, 1993
Understanding and predicting the process of software maintenance release
Proceedings of the 18th international conference on Software engineering
A field study of scale economies in software maintenance
Management Science - Special issue: Frontier research on information systems and economics
Time Series Analysis: Forecasting and Control
Time Series Analysis: Forecasting and Control
Dimensions of Software Evolution
ICSM '94 Proceedings of the International Conference on Software Maintenance
The non-homogeneous maintenance periods: a case study of software modifications
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
An empirical analysis of software evolution profiles and outcomes
ICIS '99 Proceedings of the 20th international conference on Information Systems
Formal foundations of software evolution: workshop report
ACM SIGSOFT Software Engineering Notes
Evolution patterns of open-source software systems and communities
Proceedings of the International Workshop on Principles of Software Evolution
Effort estimation for corrective software maintenance
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Rules and Tools for Software Evolution Planning and Management
Annals of Software Engineering
Software Evolution and Software Evolution Processes
Annals of Software Engineering
Evolution in software and related areas
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
An approach to a theory of software evolution
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Estimation and Prediction Metrics for Adaptive Maintenance Effort of Object-Oriented Systems
IEEE Transactions on Software Engineering
Controlling Requirements Evolution: An Avionics Case Study
SAFECOMP '00 Proceedings of the 19th International Conference on Computer Safety, Reliability and Security
ICGT '02 Proceedings of the First International Conference on Graph Transformation
A model of factors affecting an information system's change in state
Journal of Software Maintenance: Research and Practice
Behavioural modelling of long-lived evolution processes: some issues and an example
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
On the uniformity of software evolution patterns
Proceedings of the 25th International Conference on Software Engineering
Extending Software Change Impact Analysis into COTS Components
SEW '02 Proceedings of the 27th Annual NASA Goddard Software Engineering Workshop (SEW-27'02)
An Approach to Modelling Long-Term Growth Trends in Software Systems
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Dynamic and Static Views of Software Evolution
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
An Empirical Study of Open-Source and Closed-Source Software Products
IEEE Transactions on Software Engineering
Improving evolvability through refactoring
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Observations on patterns of development in open source software projects
5-WOSSE Proceedings of the fifth workshop on Open source software engineering
Towards a taxonomy of software change: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
The Structural Complexity of Software: An Experimental Test
IEEE Transactions on Software Engineering
Journal of Software Maintenance and Evolution: Research and Practice
A Study of Design Characteristics in Evolving Software Using Stability as a Criterion
IEEE Transactions on Software Engineering
Forecasting the Number of Changes in Eclipse Using Time Series Analysis
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Measuring the evolution of open source software systems with their communities
ACM SIGSOFT Software Engineering Notes
Software evolution in open source projects—a large-scale investigation
Journal of Software Maintenance and Evolution: Research and Practice
The application of product measures in directing software maintenance activity
Journal of Software Maintenance and Evolution: Research and Practice
Proceedings of the 2008 international working conference on Mining software repositories
A framework for the simulation of structural software evolution
ACM Transactions on Modeling and Computer Simulation (TOMACS)
Do software libraries evolve differently than applications?: an empirical investigation
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Determining factors that affect long-term evolution in scientific application software
Journal of Systems and Software
Characterizing software architecture changes: A systematic review
Information and Software Technology
Class movement and re-location: An empirical study of Java inheritance evolution
Journal of Systems and Software
The Linux kernel as a case study in software evolution
Journal of Systems and Software
Is a strategy for code smell assessment long overdue?
Proceedings of the 2010 ICSE Workshop on Emerging Trends in Software Metrics
Software evolution in agile development: a case study
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Assessing the current state of software evolution and intellectual energy spent
Proceedings of the Workshop on Advances in Functional Size Measurement and Effort Estimation
Effect of software evolution on software metrics: an open source case study
ACM SIGSOFT Software Engineering Notes
Dealing with known unknowns: towards a game-theoretic foundation for software requirement evolution
CAiSE'11 Proceedings of the 23rd international conference on Advanced information systems engineering
Querying versioned software repositories
ADBIS'11 Proceedings of the 15th international conference on Advances in databases and information systems
Rank-based refactoring decision support: two studies
Innovations in Systems and Software Engineering
Measuring similarity of large software systems based on source code correspondence
PROFES'05 Proceedings of the 6th international conference on Product Focused Software Process Improvement
Simulating the structural evolution of software
SPW/ProSim'06 Proceedings of the 2006 international conference on Software Process Simulation and Modeling
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
A Longitudinal Study of Fan-In and Fan-Out Coupling in Open-Source Systems
International Journal of Information System Modeling and Design
Methodology Mashups: An Exploration of Processes Used to Maintain Software
Journal of Management Information Systems
Understanding and simulating software evolution
Proceedings of the 2013 International Conference on Software Engineering
Exploring Relationships in Tailoring Option, Task Category, and Effort in ERP Software Maintenance
International Journal of Enterprise Information Systems
ACM Computing Surveys (CSUR)
Hi-index | 0.02 |
With the approach of the new millennium, a primary focus in software engineering involves issues relating to upgrading, migrating, and evolving existing software systems. In this environment, the role of careful empirical studies as the basis for improving software maintenance processes, methods, and tools is highlighted. One of the most important processes that merits empirical evaluation is software evolution. Software evolution refers to the dynamic behavior of software systems as they are maintained and enhanced over their lifetimes. Software evolution is particularly important as systems in organizations become longer-lived. However, evolution is challenging to study due to the longitudinal nature of the phenomenon in addition to the usual difficulties in collecting empirical data. In this paper, we describe a set of methods and techniques that we have developed and adapted to empirically study software evolution. Our longitudinal empirical study involves collecting, coding, and analyzing more than 25,000 change events to 23 commercial software systems over a 20-year period. Using data from two of the systems, we illustrate the efficacy of flexible phase mapping and gamma sequence analytic methods originally developed in social psychology to examine group problem solving processes. We have adapted these techniques in the context of our study to identify and understand the phases through which a software system travels as it evolves over time. We contrast this approach with time series analysis, the more traditional way of studying longitudinal data. Our work demonstrates the advantages of applying methods and techniques from other domains to software engineering and illustrates how, despite difficulties, software evolution can be empirically studied.