Modular Specification and Checking of Structural Dependencies [chapter]

Ralf Mitschke, Michael Eichberg, Mira Mezini, Alessandro Garcia, Isela Macia
2014 Lecture Notes in Computer Science  
Checking a software's structural dependencies is a line of research on methods and tools for analyzing, modeling and checking the conformance of source code w.r.t. specifications of its intended static structure. Existing approaches have focused on the correctness of the specification, the impact of the approaches on software quality and the expressiveness of the modeling languages. However, large specifications become unmaintainable in the event of evolution without the means to modularize
more » ... specifications. We present Vespucci, a novel approach and tool that partitions a specification of the expected and allowed dependencies into a set of cohesive slices. This facilitates modular reasoning and helps individual maintenance of each slice. Our approach is suited for modeling high-level as well as detailed low-level decisions related to the static structure and combines both in a single modeling formalism. To evaluate our approach we conducted an extensive study spanning nine years of the evolution of the architecture of the object-relational mapping framework Hibernate.
doi:10.1007/978-3-642-55099-7_6 fatcat:fxwieruvs5ar5chnxwu2poc464