No abstract available.
Concept analysis—a new framework for program understanding
Concept analysis transforms any relation between "objects" and "attributes" into a complete lattice. This concept lattice can be studied by algebraic means and offers remarkable insight into properties and structure of the original relation. As ...
Experiments with combined analysis for pointer aliasing
We present initial empirical experiments with combined analysis, a scalabk analysis technique that uses a program decomposition to apply different aliasing algorithms to independent program segments. The effectiveness of the solution strategy is ...
OPTVIEW: a new approach for examining optimized code
The task of mapping between source programs and machine code, once the code has been optimized and transformed by a compiler is often difficult. Yet there are many instances, such as debugging optimized code or attributing performance analysis data to ...
Detecting memory errors via static pointer analysis (preliminary experience)
Programs which manipulate pointers are hard to debug. Pointer analysis algorithms (originally aimed at optimizing compilers) may provide some remedy by identifying potential errors such as dereferencing NULL pointers by statically analyzing the behavior ...
Static slicing of threaded programs
Static program slicing is an established method for analyzing sequential programs, especially for program understanding, debugging and testing. Until now, there was no slicing method for threaded programs which handles interference correctly. We present ...
Recovering software architecture from multiple source code analyses
We describe the experiences we have had in using ManSART - a software architecture recovery tool that we developed and are employing in the analysis of large scale legacy software systems. ManSART uses a battery of standard data flow, control flow, and ...
Efficient composite data flow analysis applied to concurrent programs
FLAVERS, a tool for verifying properties of concurrent systems, uses composite data flow analysis to incrementally improve the precision of the results of its verifications. Although FLAVERS is one of the few static analysis techniques for concurrent ...
Software visualization in the desert environment
While software visualization has been widely used for navigation, its use for understanding has been much more limited. Software visualizations are expensive to develop, require large amounts of information that is often difficult to collect, and even ...
A lightweight architecture for program execution monitoring
The Alamo monitor architecture reduces the difficulty of writing dynamic analysis tools such as special-purpose profilers, bug-detectors, and visualizations.
Visualizing the performance of higher-order programs
Profiling can provide the information needed to identify performance bottlenecks in a program, but the programmer must understand its relation to the program source in order to use this information. This is difficult due to the tremendous volume of data ...
An empirical investigation of program spectra
A variety of expensive software maintenance and testing tasks require a comparison of the behaviors of program versions. Program spectra have recently been proposed as a heuristic for use in performing such comparisons. To assess the potential ...
Index Terms
- Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering