A Practical and Comparative Study of Call Graph Construction Algorithms
Journal Title: IOSR Journals (IOSR Journal of Computer Engineering) - Year 2013, Vol 1, Issue 4
Abstract
A number of Call Graph construction algorithms have been designed for construction of Call Graphs for object-oriented languages. Each of the Call Graph contraction algorithms were proposed to keep in mind the improvements over previous Call Graphs in terms of precision, cost and accuracy. In object oriented languages the Call Graphs are generally contracted to represent the calling relationship between the program’s methods. The Call Graph forms the bases for deducing the information about the classes and the methods that are actually invoked, this information can be used to find call sites were virtual function calls can be replaced by direct calls and inline-expansions can be put into work where ever possible. In this paper we present an empirical comparison of various well known Call Graph construction algorithms. Here we used Scoot bytecode reader as front-end to implement various Call Graph construction algorisms. In the processes Scoot bytecode reader is used to read the bytecode of a specific java program then the reachable methods are found for each invoked method. For storing information about the classes, methods, fields and statements we created our own set of data structures. Finally we tested and evaluated the developed algorithms with a variety of java benchmark programs to gather the information for the comparison of various Call Graph algorithms which is the goal of this work. We have included most of the Call Graph algorithms of popularity in this work. The main aim of the work is to consider all the dimensions of the Call Graph construction algorithms like cost, precision, memory and time requirements for its construction. The previous works has either not included all the algorithms of fame or have left some of their construction constraints untouched. This work will bring an effective empirical comparison to the front and will help to reveal that which Call Graph construction algorithm is best and when. The results in the work are mainly considered valid for java and other statically typed object-oriented languages.
Authors and Affiliations
Sajad Ahmad Bhat
Digital Image Forgery Detection by Contrast Enhancement
Abstract: For decades, photographs have been used to document space-time events and they have often served as evidence in courts. Today, powerful digital image editing software makes image modifications straightfor...
Customized Ontology model for Web Information Gathering using Clustering
Abstract: The explosion of data leads to the problem on how information should be retrieved accurately and effectively. To address this issue, ontology’s are widely used to represent user profiles in personalized w...
Numerical Analogy of q-Function
Abstract : This paper is a collection of q analogue of various classical methods for finding solutions of algebraic and transcendental equations. It also deals with comparing classical methods with q methods proposed by...
Implementation of an efficient algorithm to enhance connectivity and lifetime in wireless sensor networks
Abstract: Wireless sensor network is a rapidly growing area for research and commercial development. Wireless Sensor Network (WSN) is a major and very interesting technology, which consists of small battery powered senso...
Car Dynamics using Quarter Model and Passive Suspension,Part VI: Sprung-mass Step Response
Abstract: The objective of the paper is to investigate the step response of a 2 DOF quarter-car model withpassive suspension. The mathematical models of the sprung-mass displacement and acceleration as response tothe ste...