Proceedings Article10.1145/355045.355059
Extracting library-based object-oriented applications
Peter F. Sweeney,Frank Tip +1 more
- 01 Nov 2000
- Vol. 25, Iss: 6, pp 98-107
TL;DR: This paper introduces a modular specification language for expressing the information required for extraction in the context of Jax, an industrial-strength application extractor for Java, and presents a small case study in which different extraction scenarios are applied to a commercially available library-based application.
read more
Abstract: In an increasingly popular model of software distribution, software is developed in one computing environment and deployed in other environments by transfer over the internet. Extraction tools perform a static whole-program analysis to determine unused functionality in applications in order to reduce the time required to download applications. We have identified a number of scenarios where extraction tools require information beyond what can be inferred through static analysis: software distributions other than complete applications, the use of reflection, and situations where an application uses separately developed class libraries. This paper explores these issues, and introduces a modular specification language for expressing the information required for extraction. We implemented this language in the context of Jax, an industrial-strength application extractor for Java, and present a small case study in which different extraction scenarios are applied to a commercially available library-based application.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Scalable propagation-based call graph construction algorithms
Frank Tip,Jens Palsberg +1 more
- 01 Oct 2000
TL;DR: Surprisingly, for detecting unreachable methods, the inexpensive RTA algorithm does almost as well as the seemingly more powerful algorithms, and one of the new algorithms obtains the current best tradeoff between speed and precision.
Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders
Eric Bodden,Andreas Sewe,Jan Sinschek,Hela Oueslati,Mira Mezini +4 more
- 21 May 2011
TL;DR: For the first time, TamiFlex enables sound static whole-program analyses on DaCapo and significantly improves code coverage of the static analyses, while for the former the approach even appears complete: the inserted runtime checks issue no warning.
265
Dimensions of precision in reference analysis of object-oriented programming languages
Barbara G. Ryder
- 07 Apr 2003
TL;DR: A taxonomy of analysis dimensions that affect precision (and cost) will be presented and illustrated by examples of existing reference analysis techniques.
Understanding class hierarchies using concept analysis
Gregor Snelting,Frank Tip +1 more
TL;DR: The method is primarily intended as a tool for finding imperfections in the design of class hierarchies, and can be used as the basis for tools that largely automate the process of reengineering such hierachies.
References
Fast static analysis of C++ virtual function calls
David F. Bacon,Peter F. Sweeney +1 more
- 01 Oct 1996
TL;DR: This work investigates the ability of three static analysis algorithms to improve C++ programs by resolving virtual function calls, thereby reducing compiled code size and reducing program complexity so as to improve both human and automated program understanding and analysis.
Scalable propagation-based call graph construction algorithms
Frank Tip,Jens Palsberg +1 more
- 01 Oct 2000
TL;DR: Surprisingly, for detecting unreachable methods, the inexpensive RTA algorithm does almost as well as the seemingly more powerful algorithms, and one of the new algorithms obtains the current best tradeoff between speed and precision.
Reducing indirect function call overhead in C++ programs
Brad Calder,Dirk Grunwald +1 more
- 01 Feb 1994
TL;DR: It is shown that, although it is more important to predict branches accurately, indirect call prediction is also an important factor in some programs and will grow in importance with the growth of object-oriented programming.
Eliminating Virtual Function Calls in C++ Programs
Gerald Aigner,Urs Hölzle +1 more
- 08 Jul 1996
TL;DR: An optimizing source-to-source C++ compiler that reduces the frequency of virtual function calls is designed and implemented and the prototype implementation demonstrates the value of OO-specific optimization of C++.
140
Related Papers (5)
David F. Bacon,Peter F. Sweeney +1 more
- 01 Oct 1996
Frank Tip,Jens Palsberg +1 more
- 01 Oct 2000
Bjarne Steensgaard
- 01 Jan 1996
Marc Shapiro,Susan Horwitz +1 more
- 01 Jan 1997