Extracting library-based object-oriented applications
- 1 November 2000
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 25 (6) , 98-107
- https://doi.org/10.1145/355045.355059
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.Keywords
This publication has 11 references indexed in Scilit:
- Scalable propagation-based call graph construction algorithmsPublished by Association for Computing Machinery (ACM) ,2000
- Practical experience with an application extractor for JavaACM SIGPLAN Notices, 1999
- Lightweight extraction of object models from bytecodePublished by Association for Computing Machinery (ACM) ,1999
- A C++ data model supporting reachability analysis and dead code detectionIEEE Transactions on Software Engineering, 1998
- A study of dead data members in C++ applicationsACM SIGPLAN Notices, 1998
- Class hierarchy specializationACM SIGPLAN Notices, 1997
- Fast static analysis of C++ virtual function callsACM SIGPLAN Notices, 1996
- Simple and effective analysis of statically-typed object-oriented programsACM SIGPLAN Notices, 1996
- Sifting out the goldACM SIGPLAN Notices, 1994
- An analysis of inline substitution for a structured programming languageCommunications of the ACM, 1977