The DOI matches its Crossref record.
On the Evolutionary Nature of Architectural Violations
Abstract
Architectural conformance checking is the process of verifying whether a given software implementation conforms to the rules and decisions in an architectural model. Different conformance checking techniques have been proposed, and both academic and commercial tools use them for architecture evaluation. In this paper, we present an exploratory and longitudinal study on architectural violations of software systems. As an exploratory study, our aim has been to reveal patterns, raise hypotheses and form an initial body of knowledge on architectural violations, rather than test specific hypotheses. We have studied the evolution of four widely known open source systems for which we have trusted architectural models. The study encompasses the analysis of 19 bi-weekly versions of each system. In total, we analyzed more than 3,000 violations. From our observations, we have derived a series of facts. Four of them, deserve attention: 1) development teams of all studied projects seem to be aware of the presence of architectural violations in the code and all of them do perform perfective maintenance aimed at eliminating such violations, 2) despite all effort, the number of architectural violations, in the long term, is continuously growing, 3) in all studied systems there is a critical core, i.e., just a few design entities are responsible for the majority of violations, and 4) some violations seem to be "respawning", i.e., they are eliminated, but are likely to be back in future versions of the system.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“The workarounds, shortcuts and sub-optimal operations tend to change architecturally relevant elements, such as classes, components, and modules, introduce undesired dependencies among these elements, and further break architectural integrity, which is observed in previous work (e.g., [15]).”
From Software Architecture in Practice: Challenges and Opportunities (2023) · cites this paper as [15]
In the citing paper
“Obsolete documentation and lack of traceability hinder automation”
From Software Architecture in Practice: Challenges and Opportunities (2023) · cites this paper as [15]
Citations
Cites
No references could be resolved yet.
Research works printed but not linked: 28
- brooks, 1977, The Mythical Man-Month
- 10.1016/j.jss.2010.06.043 · DOI
- hunt, 2000, The Pragmatic Programmer From Journeyman to Master
- bittencourt, 2012, Enabling Static Architecture Conformance Checking of Evolving Software
- 10.1049/iet-sen.2009.0083 · DOI
- 10.1109/ICPC.2009.5090042 · DOI
- 10.1109/2.607045 · DOI
- 10.1109/CSMR.2006.53 · DOI
- 10.1007/978-3-540-45070-2_13 · DOI
- lehmann, 1998, Laws of software evolution revisited, Software Process Technology
- 10.1016/0306-4573(84)90037-2 · DOI
- 10.1109/ICSM.2000.883030 · DOI
- 10.1109/ICSM.1998.738510 · DOI
- 10.1109/TSE.2002.1027802 · DOI
- 10.1109/ICSM.1997.624242 · DOI
- 10.1002/smr.313 · DOI
- 10.1109/CSMR.2012.34 · DOI
- 10.1007/s10664-011-9164-x · DOI
- 10.1109/32.895984 · DOI
- perry, 1992, Foundations for the study of software architecture, ACM SIGSOFT Software Engineering Notes, 17, 40, 10.1145/141874.141884 · DOI · Paper page
- 10.1002/spe.931 · DOI
- 10.1016/S0164-1212(01)00152-2 · DOI
- brunet, 2011, Structural conformance checking with design tests: An evaluation of usability and scalability, Proceedings of the IEEE International Conference on Software Maintenance
- jonathan aldrich, 2002, ArchJava: Connecting Software Architecture to Implementation, Proceedings of the 24th International Conference on Software Engineering ICSE 2002, 187, 10.1109/ICSE.2002.1007967 · DOI
- murphy, 1995, Software reflexion models: Bridging the gap between source and high-level models, ACM SIGSOFT Software Engineering Notes, 10.1145/222132.222136 · DOI
- 10.1002/spe.999 · DOI
- 10.1109/SEW.2002.1199475 · DOI
- 10.1109/ICSE.1996.493433 · DOI
Cited by
Software Architecture in Practice: Challenges and Opportunities
Wan, Z., Zhang, Y., Xia, X., Jiang, Y., & Lo, D. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616367 · Cited by 30
“As our participants reported, some organizations use unit testing, stress testing, and performance testing frameworks, to continuously monitor the quality of software systems (P2a, P3a, P3c, P3e-f, P4b-d, P5a, P7a, P11a, P12a, P14a, P19b).”
Background
Metadata
- Authors
- Brunet, J., Bittencourt, R. A., Serey, D., & Figueiredo, J.
- Affiliations
- Universidade Estadual de Feira de Santana (BR)
- Universidade Federal de Campina Grande (BR)
- Venue
- 2012 19th Working Conference on Reverse Engineering
- Publisher
- IEEE
- Published
- 2012-10
- Pages
- 257-266
- ISSN
- 1095-1350 (ISSN-L)
- OpenAlex
- W2105618101
- Cited by
- 34
- References
- 0
- Citations by year
- 2025: 2 · 2024: 3 · 2023: 4 · 2022: 2 · 2021: 8 · 2020: 2 · 2019: 2 · 2018: 3 · 2017: 1 · 2016: 2 · 2015: 1 · 2014: 3 · 2013: 1
- FWCI
- 1.26
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- Working Conference on Reverse Engineering (WCRE) (publishedVersion)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Software › Advanced Software Engineering Methodologies
- Physical Sciences › Computer Science › Software › Model-Driven Software Engineering Techniques
- Keywords
- software architecture, software evolution, open source software, perfective maintenance, software architecture models
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: On the Evolutionary Nature of Architectural Violations. https://app.cochat.ai/papers/10.1109/wcre.2012.35
- The paper
- Brunet, J., Bittencourt, R. A., Serey, D., & Figueiredo, J. (2012). On the Evolutionary Nature of Architectural Violations. 2012 19th Working Conference on Reverse Engineering. https://doi.org/10.1109/wcre.2012.35