The Evolution of Complexity in Apple Darwin: A Common Coupling Point of View

Common coupling increases the interdependencies between software modules. It should be avoided if possible. In previous work, we presented two types of categorization of common coupling, one is for single-kernel-based software, one is for multi-kernel-based-software. In this paper, we analyze the relationships between these two types of categorization and apply them to study the evolution of the complexity of Apple Darwin. The same conclusion about Darwin’s evolution is drawn based on the two types of categorization of common coupling: From version XNU-517 to version XNU-792, Darwin has restructured to reduce the number of diculty-inducing high category (level) global variables in order to reduce the system complexity. However, due to the definition-use dependencies, the complexity of Darwin induced by global variables has increased from version XNU-517 to version XNU-792.

[1]  Qinbao Song,et al.  A Short Note on Safest Default Missingness Mechanism Assumptions , 2004, Empirical Software Engineering.

[2]  Philippe Vincke,et al.  Multicriteria Decision-Aid , 1992 .

[3]  Srini Ramaswamy,et al.  Categorization of common coupling in kernel based software , 2005, ACM Southeast Regional Conference.

[4]  Joel West,et al.  How open is open enough?: Melding proprietary and open source platform strategies , 2003 .

[5]  Victor R. Basili,et al.  A Pattern Recognition Approach for Software Engineering Data Analysis , 1992, IEEE Trans. Software Eng..

[6]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[7]  Theo Härder,et al.  New Approaches to Object Processing in Engineering Databases , 1986, OODBS.

[8]  Stefan Biffl,et al.  Optimal project feature weights in analogy-based cost estimation: improvement and limitations , 2006 .

[9]  D. Rubin,et al.  Statistical Analysis with Missing Data. , 1989 .

[10]  Ingunn Myrtveit,et al.  Analyzing Data Sets with Missing Data: An Empirical Evaluation of Imputation Methods and Likelihood-Based Methods , 2001, IEEE Trans. Software Eng..

[11]  Per Brinch Hansen,et al.  The nucleus of a multiprogramming system , 1970, CACM.

[12]  Ian H. Witten,et al.  Data mining: practical machine learning tools and techniques, 3rd Edition , 1999 .

[13]  Barry W. Boehm,et al.  Finding the right data for software cost modeling , 2005, IEEE Software.

[14]  Stephen R. Schach,et al.  Maintainability of the Linux kernel , 2002, IEE Proc. Softw..

[15]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[16]  Stephen R. Schach,et al.  Quality Impacts of Clandestine Common Coupling , 2003, Software Quality Journal.

[17]  Stephen R. Schach,et al.  Categorization of common coupling and its application to the maintainability of the Linux kernel , 2004, IEEE Transactions on Software Engineering.

[18]  Stephen R. Schach,et al.  Maintainability of the kernels of open-source operating systems: A comparison of Linux with FreeBSD, NetBSD, and OpenBSD , 2006, J. Syst. Softw..

[19]  Paul E. Spector Summated rating scale construction , 1991 .

[20]  Claes Wohlin,et al.  An evaluation of k-nearest neighbour imputation using Likert data , 2004 .

[21]  Thomas A. Limoncelli Mac OS X , 2006, LISA.

[22]  S. Schach,et al.  Coupling Measurement in Multi-Kernel-Based Software with Its Application to Darwin , 2022 .

[23]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[24]  Kenji Yokoyama,et al.  Development of a hybrid cost estimation model in an iterative manner , 2006, ICSE.

[25]  Liang Tian,et al.  Multistage software estimation , 2003, Proceedings of the 35th Southeastern Symposium on System Theory, 2003..

[26]  Stephen R. Schach,et al.  Common coupling as a measure of reuse effort in kernel-based software with case studies on the creation of MkLinux and Darwin , 2008, Journal of the Brazilian Computer Society.

[27]  Meilir Page-Jones,et al.  The practical guide to structured systems design , 1980 .

[28]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[29]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[30]  David W. Aha,et al.  A Comparative Evaluation of Sequential Feature Selection Algorithms , 1995, AISTATS.

[31]  Soumitra Dutta,et al.  Software Development Productivity of European Space, Military, and Industrial Applications , 1996, IEEE Trans. Software Eng..

[32]  A. Jefferson Offutt,et al.  A software metric system for module coupling , 1993, J. Syst. Softw..