The DOI matches its Crossref record.
On the criteria to be used in decomposing systems into modules
Open accessAbstract
This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a “modularization” is dependent upon the criteria used in dividing the system into modules. A system design problem is presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not have this effect is sketched.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cited by
Bridging differing perspectives on technological platforms: Toward an integrative framework
Gawer, A. (2014) · Research Policy · doi:10.1016/j.respol.2014.03.006 · Cited by 1,869
Programs, life cycles, and laws of software evolution
Lehman, M. M. (1980) · Proceedings of the IEEE · doi:10.1109/proc.1980.11805 · Cited by 1,181
An empirical study of speed and communication in globally distributed software development
Herbsleb, J. D., & Mockus, A. (2003) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2003.1205177 · Cited by 997
Using task context to improve programmer productivity
Kersten, M., & Murphy, G. C. (2006) · Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering · doi:10.1145/1181775.1181777 · Cited by 452
Splitting the organization and integrating the code: Conway's law revisited
Herbsleb, J. D., & Grinter, R. E. (1999) · Proceedings of the 21st international conference on Software engineering · doi:10.1145/302405.302455 · Cited by 425
The geography of coordination: dealing with distance in R&D work
Grinter, R. E., Herbsleb, J. D., & Perry, D. E. (1999) · Proceedings of the international ACM SIGGROUP conference on Supporting group work · doi:10.1145/320297.320333 · Cited by 384
The mirroring hypothesis: theory, evidence, and exceptions
Colfer, L. J., & Baldwin, C. Y. (2016) · Industrial and Corporate Change · doi:10.1093/icc/dtw027 · Cited by 331
Modularity in the design and application of therapeutic interventions
Chorpita, B. F., Daleiden, E. L., & Weisz, J. R. (2005) · Applied and Preventive Psychology · doi:10.1016/j.appsy.2005.05.002 · Cited by 295
Coordinating interdependencies in online communities: A study of an open source software project
Lindberg, A., Berente, N., Gaskin, J., & Lyytinen, K. (2016) · Information Systems Research · doi:10.1287/isre.2016.0673 · Cited by 121
Widder, D. G., & Nafus, D. (2023) · Big Data & Society · doi:10.1177/20539517231177620 · Cited by 119
A design methodology for reliable software systems
Liskov, B. H. (1972) · Proceedings of the December 5-7, 1972, fall joint computer conference, part I on - AFIPS '72 (Fall, part I) · doi:10.1145/1479992.1480018 · Cited by 107
Abstract data views: an interface specification concept to enhance design for reuse
Cowan, D. D., & Lucena, C. J. P. (1995) · IEEE Transactions on Software Engineering · doi:10.1109/32.372150 · Cited by 103
Communication networks in geographically distributed software development
Cataldo, M., & Herbsleb, J. D. (2008) · Proceedings of the 2008 ACM conference on Computer supported cooperative work · doi:10.1145/1460563.1460654 · Cited by 98
Platform Synergy: Architectural Origins and Competitive Consequences
Tiwana, A. (2018) · Information Systems Research · doi:10.1287/isre.2017.0739 · Cited by 99
The Emergent Structure of Development Tasks
Murphy, G. C., Kersten, M., Robillard, M. P., & Čubranić, D. (2005) · Lecture Notes in Computer Science · doi:10.1007/11531142_2 · Cited by 69
Sustainable software engineering: Reflections on advances in research and practice
Venters, C. C., Capilla, R., Nakagawa, E. Y., Betz, S., Penzenstadler, B., Crick, T., & Brooks, I. (2023) · Information and Software Technology · doi:10.1016/j.infsof.2023.107316 · Cited by 59
Insolvent: How to Reorient Computing for Just Sustainability
Becker, C. (2023) · doi:10.7551/mitpress/14668.001.0001 · Cited by 56
The sensemaking-coevolution-implementation theory of software design
Ralph, P. (2015) · Science of Computer Programming · doi:10.1016/j.scico.2014.11.007 · Cited by 60
Modeling coordination in software construction: An analytical approach
Koushik, M. V., & Mookerjee, V. S. (1995) · Information Systems Research · doi:10.1287/isre.6.3.220 · Cited by 47
Recomposition: Coordinating a Web of Software Dependencies
Grinter, R. E. (2003) · Computer Supported Cooperative Work (CSCW) · doi:10.1023/a:1025012916465 · Cited by 42
Mobilising new frontiers in digital transformation research: A problematization review
Ashrafi, A., Constantinides, P., Mehandjiev, N., & Thatcher, J. B. (2025) · Information Systems Journal · doi:10.1111/isj.12531 · Cited by 33
Dsc+Mock: a test case + mock class generator in support of coding against interfaces
Islam, M., & Csallner, C. (2010) · Proceedings of the Eighth International Workshop on Dynamic Analysis · doi:10.1145/1868321.1868326 · Cited by 30
Creating characteristically auditable agentic AI systems
Phiri, C. C. (2025) · Proceedings of the Intelligent Robotics FAIR 2025 · doi:10.1145/3759355.3759356 · Cited by 7
Metadata
- Authors
- Parnas, D. L.
- Venue
- Communications of the ACM
- Published
- 1972-12
- Volume
- 15
- Issue
- 12
- Pages
- 1053-1058
- ISSN
- 0001-0782 (ISSN-L)
- 1557-7317
- OpenAlex
- W2134119432
- Cited by
- 4,704
- References
- 0
- FWCI
- 43.98
- Type
- journal article
- Language
- en
- Open access
- bronze
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.