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 t...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Across a range of software development activities, there is typically no single best way to view the...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
Maintaining the source code of large software systems is hard. One underlying cause is that existing...
The conceptual structure of existing software systems is often implicit or non-existing in the sourc...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Maintaining and evolving large software systems is hard. One of the main underlying causes is that e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Large-scale software applications are complex systems that involve a myriad of different concerns. I...
non-peer-reviewedThe use of modern programming paradigms and technologies,such as object orientation...
Software systems evolve by adding new features, fixing bugs or refactoring existing source code. Dur...
Abstract: In this paper we address the inevitable problem of aligning a software model with its resp...
Aspect-oriented programming allows developers to modularize cross-cutting concerns in software sourc...
The means of producing information and the infrastructure for disseminating it are constantly changi...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Across a range of software development activities, there is typically no single best way to view the...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
Maintaining the source code of large software systems is hard. One underlying cause is that existing...
The conceptual structure of existing software systems is often implicit or non-existing in the sourc...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Maintaining and evolving large software systems is hard. One of the main underlying causes is that e...
Code modularization provides benefits throughout the software life cycle; however, the presence of c...
Large-scale software applications are complex systems that involve a myriad of different concerns. I...
non-peer-reviewedThe use of modern programming paradigms and technologies,such as object orientation...
Software systems evolve by adding new features, fixing bugs or refactoring existing source code. Dur...
Abstract: In this paper we address the inevitable problem of aligning a software model with its resp...
Aspect-oriented programming allows developers to modularize cross-cutting concerns in software sourc...
The means of producing information and the infrastructure for disseminating it are constantly changi...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Across a range of software development activities, there is typically no single best way to view the...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...