A Logic-Based Approach to Reverse Engineering Tools Production
IEEE Transactions on Software Engineering - Special issue on software maintenance
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Inconsistency Management for Multiple-View Software Development Environments
IEEE Transactions on Software Engineering
Conceptual module querying for software reengineering
Proceedings of the 20th international conference on Software engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Workshop on multi-dimensional separation of concerns in software engineering (workshop session)
Proceedings of the 22nd international conference on Software engineering
The 4+1 View Model of Architecture
IEEE Software
Declaratively Codifying Software Architectures Using Virtual Software Classifications
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
Representing concerns in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Tracking Code Clones in Evolving Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Beyond refactoring: a framework for modular maintenance of crosscutting design idioms
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Discovering and representing systematic code changes
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Co-evolving code and design with intensional views
Computer Languages, Systems and Structures
Clone region descriptors: Representing and tracking duplication in source code
ACM Transactions on Software Engineering and Methodology (TOSEM)
Ref-Finder: a refactoring reconstruction tool based on logic query templates
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
The model role level: a vision
ER'10 Proceedings of the 29th international conference on Conceptual modeling
Unanticipated integration of development tools using the classification model
Computer Languages, Systems and Structures
Induced intentional software views
Computer Languages, Systems and Structures
Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
Hi-index | 0.00 |
Maintaining the source code of large software systems is hard. One underlying cause is that existing modularisation mechanisms are inadequate to handle crosscutting concerns. We propose intentional source-code views as an intuitive and lightweight means of modelling such concerns. They increase our ability to understand, modularise and browse the source code by grouping together source-code entities that address the same concern. They facilitate software development and evolution, because alternative descriptions of the same intentional view can be checked for consistency and relations among intentional views can be defined and verified. Finally, they enable us to specify knowledge developers have about source code that is not captured by traditional program documentation mechanisms.Our intentional view model is implemented in a logic metaprogramming language that can reason about and manipulate object-oriented source code directly. The proposed model has been validated on the evolution of a medium-sized object-oriented application in Smalltalk, and a prototype tool has been implemented.