Font Size: a A A

An Approach For Generating Call Graph Of Java/Android Programs

Posted on:2018-09-04Degree:MasterType:Thesis
Country:ChinaCandidate:Chalise BirendraFull Text:PDF
GTID:2348330512476803Subject:Software Engineering and Methodologies
Abstract/Summary:PDF Full Text Request
For the analysis of any programming language including Java and Android programs,a precise call graph is the key factor for human understanding and keeping track of the program anomalies.A call graph is a relationship among callable subunits,specifically in Java or Android programming that is the calling relationship among the various Java program methods.Alternatively,it's a rooted directed graph for recursive method calls where each edge(x,y)indicates method x calls y and nodes represent the methods.In this thesis,I am going to present the working model for generating the call graph for any java or android programs as a Call Graph Generating Approach.I have tested this approach with class hierarchy algorithm,rapid type algorithm,and class type algorithm including ASM and Soot,where bytecode readers(Soot and ASM)are implemented as an interface and the algorithms are customizable as per the user requirement.This thesis concentrates on building an approach for call graph engendering algorithms of Java and android programs.For the core analysis of programs,I obtained all the details on my own data structures and store all the fundamental information(i.e.about classes,methods,fields and,statements)-which allows the instrumentation of an independent approach for subsisting all the algorithms to generate call graphs,after the reachable methods invoked each method by bytecode readers to read the bytecode of concrete programs-resulting data structures will allow to handle the bytecode reader dependency for creating call graph of any program,as all the data are amassed predicated on the implementation of call graphs with used approach and pre-defined data structures from bytecode of the programs as per indispensability.At the end,the process is resulting the approach for the generating call graph by using user specified algorithms which is the sole purpose of this dissertation.Moreover,different(java and android)programs were examined and evulated in different states of the three existing algorithms i.e.class hierarchy algorithm,rapid type algorithm,and class type algorithm.And overall,output is evulated with the program manipulation and optimization tools.
Keywords/Search Tags:Program Analysis, Soot, Call Graph, Approach, ASM, Class Hierarchy Analysis(CHA), Class Type Analysis(CTA), Rapid Type Analysis(RTA)
PDF Full Text Request
Related items