Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Identifying Modules via Concept Analysis
IEEE Transactions on Software Engineering
Does Code Decay? Assessing the Evidence from Change Management Data
IEEE Transactions on Software Engineering
Metrics and analysis of software architecture evolution with discontinuity
Proceedings of the International Workshop on Principles of Software Evolution
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Hibernate in Action (In Action series)
Hibernate in Action (In Action series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Aspect-Oriented Software Development with Use Cases (Addison-Wesley Object Technology Series)
Using dependency models to manage complex software architecture
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static Evaluation of Software Architectures
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Defining and continuous checking of structural program dependencies
Proceedings of the 30th international conference on Software engineering
An industrial case study of architecture conformance
Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement
LePUS3: An Object-Oriented Design Description Language
Diagrams '08 Proceedings of the 5th international conference on Diagrammatic Representation and Inference
Analyzing Software Evolvability
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
.QL: Object-Oriented Queries Made Easy
Generative and Transformational Techniques in Software Engineering II
Architecture Compliance Checking - Experiences from Successful Technology Transfer to Industry
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
A dependency constraint language to manage object-oriented software architectures
Software—Practice & Experience
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
Checking architectural compliance in component-based systems
Proceedings of the 2010 ACM Symposium on Applied Computing
Detecting software modularity violations
Proceedings of the 33rd International Conference on Software Engineering
Controlling software architecture erosion: A survey
Journal of Systems and Software
Automatic incrementalization of prolog based static analyses
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Hi-index | 0.00 |
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 such 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.