Proceedings of the 13th International Conference on Modularity 2014
DOI: 10.1145/2577080.2577087
|View full text |Cite
|
Sign up to set email alerts
|

Blending and reusing rules for architectural degradation prevention

Abstract: As software systems are maintained, their architecture often degrades through the processes of architectural drift and erosion. These processes are often intertwined and the same modules in the code become the locus of both drift and erosion symptoms. Thus, architects should elaborate architecture rules for detecting occurrences of both degradation symptoms. While the specification of such rules is time-consuming, they are similar across software projects adhering to similar architecture decompositions. Unfort… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
9
0

Year Published

2015
2015
2022
2022

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 20 publications
(10 citation statements)
references
References 26 publications
0
9
0
Order By: Relevance
“…This feature was used to briefly summarize the intent of the rules, suggest possible fixing strategies and point users to more detailed reference pages hosted on the project website. 10 https://github.com/mamuz/PhpDependencyAnalysis During our evaluation we were also asked to make results actionable. In fact, in C1 and C2, we were able to detect cyclic or otherwise unwanted dependencies between packages but we neglected to provide useful information on how to remove them.…”
Section: Usabilitymentioning
confidence: 99%
See 1 more Smart Citation
“…This feature was used to briefly summarize the intent of the rules, suggest possible fixing strategies and point users to more detailed reference pages hosted on the project website. 10 https://github.com/mamuz/PhpDependencyAnalysis During our evaluation we were also asked to make results actionable. In fact, in C1 and C2, we were able to detect cyclic or otherwise unwanted dependencies between packages but we neglected to provide useful information on how to remove them.…”
Section: Usabilitymentioning
confidence: 99%
“…Some of these solutions offer additional complementary features. Some allow the definition of rules through a textual DSL [9], [10]. Others contributed new visual representations that support the reverse engineering of large systems [11].…”
Section: Related Workmentioning
confidence: 99%
“…Moreover, the architecture of a software often includes the relationships, constraints, principles, and guidelines that should guide its design and evolution over time [Garlan, 2000, Garlan and Shaw, 1996, Fowler, 2002. Components are usually defined as architectural entities which encapsulate a subset of the system's functionalities [Gurgel et al, 2014].…”
Section: Software Architecturementioning
confidence: 99%
“…This plug-in checks whether the source code is in accordance with the constraints defined in DCL. Gurgel et al [Gurgel et al, 2014] proposed a conformance technique that, similarly to the DCL language, provides mechanisms to explicitly define the planned architecture of a system, describing their components and dependency constraints. Their approach assumes that similar degradation evidences occur in software projects.…”
Section: Dependency Constraint Languagesmentioning
confidence: 99%
See 1 more Smart Citation