2013 · 24 citations · 18 references
ComputingArchitectural DesignComputer ScienceFormal MethodsSoftware EngineeringSystems ArchitectureSoftware ArchitectureSoftware DesignSoftware ValidationType CheckingVerificationArchitecture ComplianceCompliance CheckingModular ArchitectureModular DesignRule-based Compliance CheckingRule-based Static Analysis
Architecture Compliance Checking (ACC) is an approach to verify the conformance of implemented program code to high-level models of architectural design. ACC is used to prevent architectural erosion during the development and evolution of a software system. Static ACC, based on static software analysis techniques, focuses on the modular architecture and especially on rules constraining the modular elements. A semantically rich modular architecture (SRMA) is expressive and may contain modules with different semantics, like layers and subsystems, constrained by rules of different types. To check the conformance to an SRMA, ACC-tools should support the module and rule types used by the architect. This paper presents requirements regarding SRMA support and an inventory of common module and rule types, on which basis eight commercial and non-commercial tools were tested. The test results show large differences between the tools, but all could improve their support of SRMA, what might contribute to the adoption of ACC in practice.
18
Experimentation in software engineering
Choice Reviews Online · 2013 · 1.5K citations
The structure of the “THE”-multiprogramming system
Edsger W. Dijkstra · Communications of the ACM · 1968 · 1.1K citations · Full text