Reference Model for Smooth Growth of Software Systems
IEEE Transactions on Software Engineering
IBM Systems Journal
Metrics and Laws of Software Evolution - The Nineties View
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Evaluation Experiments on the Detection of Programming Patterns Using Software Metrics
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
The Build-Time Software Architecture View
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Metrics and analysis of software architecture evolution with discontinuity
Proceedings of the International Workshop on Principles of Software Evolution
Challenges: environmental design for pervasive computing systems
Proceedings of the 8th annual international conference on Mobile computing and networking
Investigating quality in large-scale Open Source Software
5-WOSSE Proceedings of the fifth workshop on Open source software engineering
Observations on patterns of development in open source software projects
5-WOSSE Proceedings of the fifth workshop on Open source software engineering
The evolution of FreeBSD and linux
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Self-organization process in open-source software: An empirical study
Information and Software Technology
Proceedings of the 2008 international working conference on Mining software repositories
Empirical evaluation of clone detection using syntax suffix trees
Empirical Software Engineering
An evaluation of code similarity identification for the grow-and-prune model
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Information Technology and Management
Class movement and re-location: An empirical study of Java inheritance evolution
Journal of Systems and Software
WikiDev 2.0: discovering clusters of related team artifacts
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Patterns of component evolution
SC'07 Proceedings of the 6th international conference on Software composition
Effect of software evolution on software metrics: an open source case study
ACM SIGSOFT Software Engineering Notes
Beyond Green: Evolution to Adaptability and Recyclability
GREENCOM '11 Proceedings of the 2011 IEEE/ACM International Conference on Green Computing and Communications
The single-vendor commercial open course business model
Information Systems and e-Business Management
Users and developers: an agent-based simulation of open source software evolution
SPW/ProSim'06 Proceedings of the 2006 international conference on Software Process Simulation and Modeling
A Longitudinal Study of Fan-In and Fan-Out Coupling in Open-Source Systems
International Journal of Information System Modeling and Design
Predicting OSS Development Success: A Data Mining Approach
International Journal of Information System Modeling and Design
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Our recent work has addressed how and why software systems evolve over time, with a particular emphasis on software architecture and open source software systems [2, 3, 6]. In this position paper, we present a short summary of two recent projects.First, we have performed a case study on the evolution of the Linux kernel [3], as well as some other open source software (OSS) systems. We have found that several OSS systems appear not to obey some of "Lehman's laws" of software evolution [5, 7], and that Linux in particular is continuing to grow at a geometric rate. Currently, we are working on a detailed study of the evolution of one of the subsystems of the Linux kernel: the SCSI drivers subsystem. We have found that cloning, which is usually considered to be an indicator of lazy development and poor process, is quite common and is even considered to be a useful practice.Second, we are developing a tool called Beagle to aid software maintainers in understanding how large systems have changed over time. Beagle integrates data from various static analysis and metrics tools and provides a query engine as well as navigable visualizations. Of particular note, Beagle aims to provide help in modelling long term evolution of systems that have undergone architectural and structural change.