A development task related to a crosscutting concern is challenging because a developer can easily get lost when exploring scattered elements of code and the complex tangle of relationships between them. In this paper we present a source browsing tool that improves the developer’s ability to work with crosscutting concerns by providing better support for exploring code. Our tool helps the developer to remain oriented while exploring and navigating across a code base. The cognitive burden placed on a developer is reduced by avoiding disorienting view switches and by providing an explicit representation of the exploration process in terms of exploration paths. While our tool is generally useful, good navigation support is particularly importa...
Understanding the basic structure of a code base and a development team are essential to get new dev...
Separation of concerns is a powerful principle that can be used to manage the inherent complexity of...
Large software projects often require a programmer to make changes to unfamiliar source code. This p...
A development task related to a crosscutting concern is chal-lenging because a developer can easily ...
This dissertation presents a query-based browsing tool called QJBrowser that can assist developers ...
Previous research in computer science shows that developers spend a large fraction of their time nav...
Typical programming languages allow only a single decomposition of a program into source files. This...
Abstract—Much of software developers ’ time is spent understanding unfamiliar code. To better unders...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
We present a consistent system for referring crosscutting functionality, relating crosscutting conce...
Despite common belief, software engineers do not spend most time writing code. It has been shown tha...
peer-reviewedWhen exploring source code in modern integrated development environments (IDEs), progra...
Aspect-oriented re-engineering of legacy systems means to discover all parts of code that are involv...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
As software systems grow in size and use more third-party libraries and frameworks, the need for dev...
Understanding the basic structure of a code base and a development team are essential to get new dev...
Separation of concerns is a powerful principle that can be used to manage the inherent complexity of...
Large software projects often require a programmer to make changes to unfamiliar source code. This p...
A development task related to a crosscutting concern is chal-lenging because a developer can easily ...
This dissertation presents a query-based browsing tool called QJBrowser that can assist developers ...
Previous research in computer science shows that developers spend a large fraction of their time nav...
Typical programming languages allow only a single decomposition of a program into source files. This...
Abstract—Much of software developers ’ time is spent understanding unfamiliar code. To better unders...
Evolution of software systems accounts for the largest part of their lifecycle and costs. Software e...
We present a consistent system for referring crosscutting functionality, relating crosscutting conce...
Despite common belief, software engineers do not spend most time writing code. It has been shown tha...
peer-reviewedWhen exploring source code in modern integrated development environments (IDEs), progra...
Aspect-oriented re-engineering of legacy systems means to discover all parts of code that are involv...
Code is modularized for many reasons, including making it easier to understand, change, and verify. ...
As software systems grow in size and use more third-party libraries and frameworks, the need for dev...
Understanding the basic structure of a code base and a development team are essential to get new dev...
Separation of concerns is a powerful principle that can be used to manage the inherent complexity of...
Large software projects often require a programmer to make changes to unfamiliar source code. This p...