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

Keywords

Related Articles

 Client Based Cache Consistency Scheme in Wireless Mobile Networks

 Abstract: This paper proposes a client based cache consistency scheme for maintaining cache consistency in wireless mobile networks using a distributed cache invalidation method. This is implemented on top of a pre...

 The Impact of E-marketing on Commercial Banks in Harare, Zimbabwe (1994 -2014).

Abstract: The purpose of this study was to analyse the effects of e-marketing on commercial banks between 1994 and 2014. The researchers dwelt on the adoption of e-marketing services in the commercial banks. The adoption...

 Efficient design of feedforward network for pattern classification

 A feedforward neural network is a computing device whose processing units (the nodes) are distributed in adjacent layers connected through unidirectional links (the weights).Feedforward networks are widely used...

Map-Reduce Synchronized and Comparative Queue Capacity Scheduler in Hadoop for Extensive Data

Abstract: Map-Reduce is drawing attention of both industrial and academic for processing of big data. In this paper, we have mainly focused on core scheduler of Hadoop i.e. Capacity Scheduler. The scheduler assigns tasks...

 Analysis of Intrusion Detection Response System (IDRS) In Cyber Physical Systems (Cps) Using Regular Expression (Regexp)

 Abstract: In this research we aim to design and validate Intrusion Detection Response System (IDRS) for a cyber physical system (CPS) comprising for controlling and protecting physical infrastructures. The design p...

Download PDF file
  • EP ID EP87486
  • DOI -
  • Views 123
  • Downloads 0

How To Cite

Sajad Ahmad Bhat (2013).  A Practical and Comparative Study of Call Graph Construction Algorithms. IOSR Journals (IOSR Journal of Computer Engineering), 1(4), 14-26. https://europub.co.uk/articles/-A-87486