A critique of cyclomatic complexity as a software metric
Software Engineering Journal
Evaluating Software Complexity Measures
IEEE Transactions on Software Engineering
A software metric system for module coupling
Journal of Systems and Software - Special issue on the Oregon Metric Workshop
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
Reference Model for Smooth Growth of Software Systems
IEEE Transactions on Software Engineering
ICSE '94 Proceedings of the 16th international conference on Software engineering
Communications of the ACM
Linux as a case study: its extracted software architecture
Proceedings of the 21st international conference on Software engineering
An Empirical Approach to Studying Software Evolution
IEEE Transactions on Software Engineering
Software evolution: code delta and code churn
Journal of Systems and Software - Special issue on software maintenance
An empirical study of operating systems errors
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
Metrics and Models in Software Quality Engineering
Metrics and Models in Software Quality Engineering
Two case studies of open source software development: Apache and Mozilla
ACM Transactions on Software Engineering and Methodology (TOSEM)
The Cathedral and the Bazaar
Software Visualization in the Large
Computer
Software Evolution Observations Based on Product Release History
ICSM '97 Proceedings of the International Conference on Software Maintenance
Laws of Software Evolution Revisited
EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology
An examination of evolution dynamics
ICSE '82 Proceedings of the 6th 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
On Evidence Supporting the FEAST Hypothesis and the Laws of Software Evolution
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
Implications of Evolution Metrics on Software Maintenance
ICSM '98 Proceedings of the International Conference on Software Maintenance
Using Coupling Measurement for Impact Analysis in Object-Oriented Systems
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Evolution in Open Source Software: A Case Study
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Determining the Distribution of Maintenance Categories: Survey versus Measurement
Empirical Software Engineering
Models for the evolution of OS projects
ICSM '03 Proceedings of the International Conference on Software Maintenance
An extension to the cyclomatic measure of program complexity
ACM SIGPLAN Notices
An Empirical Study of Open-Source and Closed-Source Software Products
IEEE Transactions on Software Engineering
Empirical Software Engineering
Structural Evolution of an Open Source System: A Case Study
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Characterization of the Impact of Faulty Drivers on the Robustness of the Linux Kernel
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
A Simulation Model of Self-organising Evolvability in Software Systems
SOFTWARE-EVOLVABILITY '05 Proceedings of the IEEE International Workshop on Software Evolvability
Evolution and Growth in Large Libre Software Projects
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Evolution in software systems: foundations of the SPE classification scheme: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
The evolution of FreeBSD and linux
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Indirectly predicting the maintenance effort of open-source software: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice
IEEE Transactions on Software Engineering
Power-Laws in a Large Object-Oriented Software System
IEEE Transactions on Software Engineering
Software evolution in open source projects—a large-scale investigation
Journal of Software Maintenance and Evolution: Research and Practice
Proceedings of the 30th international conference on Software engineering
Inventive Tool Use to Comprehend Big Code
IEEE Software
"Cloning considered harmful" considered harmful: patterns of cloning in software
Empirical Software Engineering
An analysis of software quality and maintainability metrics with an application to a longitudinal study of the linux kernel
On understanding laws, evolution, and conservation in the large-program life cycle
Journal of Systems and Software
An empirical study of the evolution of Eclipse third-party plug-ins
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Evolution of the linux kernel variability model
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Faults in linux: ten years later
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Information and Software Technology
Using hierarchal change mining to manage network security policy evolution
Hot-ICE'11 Proceedings of the 11th USENIX conference on Hot topics in management of internet, cloud, and enterprise networks and services
Studying software evolution using artefacts' shared information content
Science of Computer Programming
Effect of software evolution on software metrics: an open source case study
ACM SIGSOFT Software Engineering Notes
Perpetual development: A model of the Linux kernel life cycle
Journal of Systems and Software
Simulink models are also software: modularity assessment
Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
Preliminary lessons from a software evolution analysis of Moodle
Proceedings of the First International Conference on Technological Ecosystem for Enhancing Multiculturality
ACM Computing Surveys (CSUR)
Extracting feature model changes from the Linux kernel using FMDiff
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Mining the impact of evolution categories on object-oriented metrics
Software Quality Control
Journal of Systems and Software
Hi-index | 0.00 |
We use 810 versions of the Linux kernel, released over a period of 14years, to characterize the system's evolution, using Lehman's laws of software evolution as a basis. We investigate different possible interpretations of these laws, as reflected by different metrics that can be used to quantify them. For example, system growth has traditionally been quantified using lines of code or number of functions, but functional growth of an operating system like Linux can also be quantified using the number of system calls. In addition we use the availability of the source code to track metrics, such as McCabe's cyclomatic complexity, that have not been tracked across so many versions previously. We find that the data supports several of Lehman's laws, mainly those concerned with growth and with the stability of the process. We also make some novel observations, e.g. that the average complexity of functions is decreasing with time, but this is mainly due to the addition of many small functions.