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
Route maintenance and Scalability improvement of DSR, based on Relay node identification after locating Link-failure over MANET
Abstract: In Dynamic Source Routing, each source determines the route to be used in transmitting its packets to destination. Route Discovery determines the optimum path for a transmission between a given source and...
Performance Analysis of Hybrid (supervised and unsupervised) method for multiclass data set
Abstract: Due to the increasing demand for multivariate data analysis from the various application the dimensionality reduction becomes an important task to represent the data in low dimensional space for the robus...
The Incidence And Associated Factors of Obstetric Near Miss in A Referral Institution in Manipur
Background: The World Health Organization (WHO) estimated that, in the year 2000, 20 million women suffered acute complications in pregnancy with the occurrence of 529,000maternal deaths. Nevertheless, in a systema...
Modern Computer Implementation on Smart Phone withAndroid Platform for Smes (UMKM) in Optimization ServicesDistrict Malang
Abstract: The use of Android in the smartphone operating system currently used by many companies. Because of its superiority as a software that uses computer code base that can be distributed openly (open source) so many...
Credit Card Duplication and Crime Prevention Using Biometrics
A phenomenal growth in the number of credit card transactions, especially for on-line purchases, has also led to a substantial rise in fraudulent activities. Credit card fraudulent transactions are very easy to c...