Developers rely on the mechanisms provided by their IDE to browse and navigate a large software system. These mechanisms are usually based purely on a system's static source code. The static perspective, however, is not enough to understand an object-oriented program's behavior, in particular if implemented in a dynamic language. We propose to enhance IDEs with a program's runtime information (eg. message sends and type information) to support program comprehension through precise navigation and informative browsing. To precisely specify the type and amount of runtime data to gather about a system under development, dynamically and on demand, we adopt a technique known as partial behavioral reflection. We implemented navigation and browsing...
Software engineers spend a considerable amount of time on program comprehension. Although vendors of...
Previous research has found that programmers spend a significant fraction of their time navigating b...
In programming languages, reflection is the ability to discover and manipulate, at runtime, informat...
Code queries focus mainly on the static structure of a system. To comprehend the dynamic behavior of...
Abstract—Visualizations of actual run-time data support the comprehension of programs, like examples...
Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering ...
Behavioral reflection is well-known approach enabling exhaustive querying of program state (introsp...
velopers with tools and facilities to support development activi-ties. Developers use IDEs to read, ...
Object-oriented language features such as inheritance, abstract types, late-binding, or polymorphism...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
Understanding object-oriented legacy systems is a complex task exacerbated by the presence of late b...
Dynamic, unanticipated adaptation of running systems is of interest in a variety of situations, rang...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
When inspecting a running system, be it for debugging or moitoring purposes, developers are often fa...
RuntimeSearch is a project designed to make debugging easier for developers. It is based on a paper ...
Software engineers spend a considerable amount of time on program comprehension. Although vendors of...
Previous research has found that programmers spend a significant fraction of their time navigating b...
In programming languages, reflection is the ability to discover and manipulate, at runtime, informat...
Code queries focus mainly on the static structure of a system. To comprehend the dynamic behavior of...
Abstract—Visualizations of actual run-time data support the comprehension of programs, like examples...
Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering ...
Behavioral reflection is well-known approach enabling exhaustive querying of program state (introsp...
velopers with tools and facilities to support development activi-ties. Developers use IDEs to read, ...
Object-oriented language features such as inheritance, abstract types, late-binding, or polymorphism...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
Understanding object-oriented legacy systems is a complex task exacerbated by the presence of late b...
Dynamic, unanticipated adaptation of running systems is of interest in a variety of situations, rang...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
When inspecting a running system, be it for debugging or moitoring purposes, developers are often fa...
RuntimeSearch is a project designed to make debugging easier for developers. It is based on a paper ...
Software engineers spend a considerable amount of time on program comprehension. Although vendors of...
Previous research has found that programmers spend a significant fraction of their time navigating b...
In programming languages, reflection is the ability to discover and manipulate, at runtime, informat...