The DOI matches its Crossref record; 21 of the 21 references it cites were found in a registry or an index.
Bunch: a clustering tool for the recovery and maintenance of software system structures
Abstract
Software systems are typically modified in order to extend or change their functionality, improve their performance, port them to different platforms, and so on. For developers, it is crucial to understand the structure of a system before attempting to modify it. The structure of a system, however, may not be apparent to new developers, because the design documentation is non-existent or, worse, inconsistent with the implementation. This problem could be alleviated if developers were somehow able to produce high-level system decomposition descriptions from the low-level structures present in the source code. We have developed a clustering tool called Bunch that creates a system decomposition automatically by treating clustering as an optimization problem. The paper describes the extensions made to Bunch in response to feedback we received from users. The most important extension, in terms of the quality of results and execution efficiency, is a feature that enables the integration of designer knowledge about the system structure into an otherwise fully automatic clustering process. We use a case study to show how our new features simplified the task of extracting the subsystem structure of a medium size program, while exposing an interesting design flaw in the process.
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
Cites
An Introduction to Genetic Algorithms
Mitchell, M. (1996) · doi:10.7551/mitpress/3927.001.0001 · Cited by 11,340
Goldberg, D. E. (1989) · Medical Entomology and Zoology · Cited by 10,109
Genetic Algorithms in Search, Optimization & Machine Learning
Goldberg, D. E. (1989) · Medical Entomology and Zoology · Cited by 2,304
(2016) · Lecture Notes in Computer Science · doi:10.1007/978-3-319-44543-4 · Cited by 917
A technique for drawing directed graphs
Gansner, E. R., Koutsofios, E., North, S. C., & Vo, K.-P. (1993) · IEEE Transactions on Software Engineering · doi:10.1109/32.221135 · Cited by 674
Self-citationUsing automatic clustering to produce high-level system organizations of source code
Mancoridis, S., Mitchell, B. S., Rorres, C., Chen, Y., & Gansner, E. R. (2002) · Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242) · doi:10.1109/wpc.1998.693283 · Cited by 484
Self-citationSoftware reflexion models: bridging the gap between source and high-level models
Murphy, G. C., Notkin, D., & Sullivan, K. (1995) · Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering · doi:10.1145/222124.222136 · Cited by 479
A reverse‐engineering approach to subsystem structure identification
Müller, H. A., Orgun, M. A., Tilley, S. R., & Uhl, J. S. (1993) · Journal of Software Maintenance: Research and Practice · doi:10.1002/smr.4360050402 · Cited by 353
Using clustering algorithms in legacy systems remodularization
Wiggerts, T. A. (2002) · Proceedings of the Fourth Working Conference on Reverse Engineering · doi:10.1109/wcre.1997.624574 · Cited by 306
System Structure Analysis: Clustering with Data Bindings
Hutchens, D. H., & Basili, V. R. (1985) · IEEE Transactions on Software Engineering · doi:10.1109/tse.1985.232524 · Cited by 265
Cited by
On the automatic modularization of software systems using the Bunch tool
Mitchell, B. S., & Mancoridis, S. (2006) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2006.31 · Cited by 479
Self-citationControlling software architecture erosion: A survey
de Silva, L., & Balasubramaniam, D. (2012) · Journal of Systems and Software · doi:10.1016/j.jss.2011.07.036 · Cited by 184
Detecting, Tracing, and Monitoring Architectural Tactics in Code
Mirakhorli, M., & Cleland-Huang, J. (2016) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2015.2479217 · Cited by 85
Design Rule Spaces: A New Model for Representing and Analyzing Software Architecture
Cai, Y., Xiao, L., Kazman, R., Mo, R., & Feng, Q. (2019) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2018.2797899 · Cited by 39
Metadata
- Authors
- Mancoridis, S., Mitchell, B. S., Chen, Y., & Gansner, E. R.
- Venue
- Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360)
- Publisher
- IEEE
- Published
- 1999
- Pages
- 50-59
- OpenAlex
- W2110244733
- Cited by
- 508
- References
- 21
- FWCI
- 8.73
- Type
- conference paper
- Language
- en
- Open access
- closed
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
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Bunch: a clustering tool for the recovery and maintenance of software system structures. https://app.cochat.ai/papers/10.1109/icsm.1999.792498
- The paper
- Mancoridis, S., Mitchell, B. S., Chen, Y., & Gansner, E. R. (1999). Bunch: a clustering tool for the recovery and maintenance of software system structures. Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360). https://doi.org/10.1109/icsm.1999.792498
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.