Dienst van SURF
© 2025 SURF
Presentatie voor de 20e Nederlandse Testdag, m.m.v. Raymond Slot, Wiebe Wiersema, (HU), Christian Köppe (HAN, Arnhem), Sjaak Brinkkemper, Jan Martijn van der Werf (UU Utrecht). The Software Architecture of the Schiphol Group is taken as an example. Compliance checking of software rulescan be done with the Hogeschool Utrecht Software Architecture Compliance Checking Tool which is available at http://husacct.github.io/HUSACCT/
SUMMARY Architecture compliance checking (ACC) is an approach to verify conformance of implemented program code to high-level models of architec tural design. Static ACC focuses on the modular software architecture and on the existence of rule violating dependencies between modules. Accurate tool support is essential for effective and efficient ACC. This paper presents a study on the accuracy of ACC tools regarding dependency analysis and violation reporting. Ten tools were tested and compare d by means of a custom-made benchmark. The Java code of the benchmark testware contains 34 different types of dependencies, which are based on an inventory of dependency types in object oriented program code. In a second test, the code of open source system FreeMind was used to compare the 10 tools on the number of reported rule violating dependencies and the exactness of the dependency and violation messages. On the average, 77% of the dependencies in our custom-made test software were reported, while 72% of the dependencies within a module of FreeMind were reported. The results show that all tools in the test could improve the accuracy of the reported dependencies and violations, though large differences between the 10 tools were observed. We have identified10 hard-to-detect types of dependencies and four challenges in dependency detection. The relevance of our findings is substantiated by means of a frequency analysis of the hard-to-detect types of dependencies in five open source systems. DOI: 10.1002/spe.2421
Author supplied: "Abstract Software Architecture Compliance Checking (SACC) is an approach to verify conformance of implemented program code to high-level models of architectural design. Static SACC focuses on the modular software architecture and on the existence of rule violating dependencies between modules. Accurate tool support is essential for effective and efficient SACC. This document describes a test approach that may be used to determine how accurate a tested SACCT-tool is with respect to dependency analysis and violation reporting. This technical report is intended as a test manual and describes how a SACCT-tool can be tested. Two separate tests are described: the Benchmark test, and the FreeMind test."
LINK