The practical guide to structured systems design: 2nd edition
The practical guide to structured systems design: 2nd edition
A software metric system for module coupling
Journal of Systems and Software - Special issue on the Oregon Metric Workshop
New approaches to object processing in engineering databases
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
A program data flow analysis procedure
Communications of the ACM
The nucleus of a multiprogramming system
Communications of the ACM
A case study in repeated maintenance
Journal of Software Maintenance: Research and Practice
Evaluating software architectures: methods and case studies
Evaluating software architectures: methods and case studies
A Comprehensive Empirical Validation of Design Measures for Object-Oriented Systems
METRICS '98 Proceedings of the 5th International Symposium on Software Metrics
Quality Impacts of Clandestine Common Coupling
Software Quality Control
Object-Oriented and Classical Software Engineering
Object-Oriented and Classical Software Engineering
Journal of Systems and Software
Categorization of common coupling in kernel based software
Proceedings of the 43rd annual Southeast regional conference - Volume 2
Introduction to extended common coupling with an application study on Linux
Proceedings of the 44th annual Southeast regional conference
A quantitative analysis of aspects in the eCos kernel
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Understanding component co-evolution with a study on Linux
Empirical Software Engineering
Fine-grain analysis of common coupling and its application to a Linux case study
Journal of Systems and Software
Coupling Patterns in the Effective Reuse of Open Source Software
FLOSS '07 Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development
Self-organization process in open-source software: An empirical study
Information and Software Technology
Proceedings of the 30th international conference on Software engineering
Tests for consistent measurement of external subjective software quality attributes
Empirical Software Engineering
Identifying and Improving Reusability Based on Coupling Patterns
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Object-oriented wrappers for the Linux kernel
Software—Practice & Experience
Multiple-parameter coupling metrics for layered component-based software
Software Quality Control
Should we try to measure software quality attributes directly?
Software Quality Control
Automated software license analysis
Automated Software Engineering
Assessing the impact of global variables on program dependence and dependence clusters
Journal of Systems and Software
Use of a multidimensional approach to study the evolution of software complexity
Innovations in Systems and Software Engineering
Message filters for hardening the Linux kernel
Software—Practice & Experience
The pervasiveness of global data in evolving software systems
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
An approach to testing commercial embedded systems
Journal of Systems and Software
Hi-index | 0.02 |
Data coupling between modules, especially common coupling, has long been considered a source of concern in software design, but the issue is somewhat more complicated for products that are comprised of kernel modules together with optional nonkernel modules. This paper presents a refined categorization of common coupling based on definitions and uses between kernel and nonkernel modules and applies the categorization to a case study. Common coupling is usually avoided when possible because of the potential for introducing risky dependencies among software modules. The relative risk of these dependencies is strongly related to the specific definition-use relationships. In a previous paper, we presented results from a longitudinal analysis of multiple versions of the open-source operating system Linux. This paper applies the new common coupling categorization to version 2.4.20 of Linux, counting the number of instances of common coupling between each of the 26 kernel modules and all the other nonkernel modules. We also categorize each coupling in terms of the definition-use relationships. Results show that the Linux kernel contains a large number of common couplings of all types, raising a concern about the long-term maintainability of Linux.