31,093 Hits in 5.0 sec

Call graph construction for Java libraries

Michael Reif, Michael Eichberg, Ben Hermann, Johannes Lerch, Mira Mezini
2016 Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2016  
This motivates the need for call graph construction algorithms dedicated to libraries.  ...  To fill this gap, we discuss the construction of call graphs for libraries that abstract over all potential library usages.  ...  ACKNOWLEDGEMENTS We thank the anonymous reviewers for their helpful comments.  ... 
doi:10.1145/2950290.2950312 dblp:conf/sigsoft/ReifEHLM16 fatcat:frluc7stzrg6hpdk5lkpbbrfpu

Constructing Accurate Application Call Graphs For Java To Model Library Callbacks

Weilei Zhang, Barbara Ryder
2006 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation  
This paper explores approaches to generate more accurate application call graphs for Java. A new data reachability algorithm is proposed and fine-tuned to resolve library callbacks accurately.  ...  the generated application call graphs.  ...  The contributions of this work are: • Design of new approaches to construct an accurate application call graph for Java.  ... 
doi:10.1109/scam.2006.9 dblp:conf/scam/ZhangR06 fatcat:okqktspie5ghjiqmvt5hhjgrky

Averroes: Whole-Program Analysis without the Whole Program [chapter]

Karim Ali, Ondřej Lhoták
2013 Lecture Notes in Computer Science  
Any existing whole-program call graph construction framework can use the placeholder library as a replacement for the actual libraries to efficiently construct a sound and precise application call graph  ...  Call graph construction for object-oriented programs is often difficult and expensive. Most sound and precise algorithms analyze the whole program including all library dependencies.  ...  However, modern programs have large library dependencies (e.g., the Java standard library). This makes it very expensive to construct a call graph even for a small program.  ... 
doi:10.1007/978-3-642-39038-8_16 fatcat:4np4p3e6lvfxtliu3y2wnn4ise

Application-Only Call Graph Construction [chapter]

Karim Ali, Ondřej Lhoták
2012 Lecture Notes in Computer Science  
A popular compromise to the excessive cost of building a call graph for the whole program is to ignore all the effects of the library code and any calls the library makes back into the application.  ...  In this paper, we present Cgc, a tool that generates a sound call graph for the application part of a program without analyzing the code of the library.  ...  However, constructing a sound, precise call graph for even a small object-oriented program is difficult and expensive. For example, constructing the call graph of a Java "Hello, World!"  ... 
doi:10.1007/978-3-642-31057-7_30 fatcat:zp3kqtayjbgfteojcqa4a3bowi

A Study of Call Graph Construction for JVM-Hosted Languages

Karim Ali, Xiaoni Lai, Zhaoyi Luo, Ondrej Lhotak, Julian Dolby, Frank Tip
2019 IEEE Transactions on Software Engineering  
Effectively, we get call graph construction for these languages for free, using existing analysis infrastructure for Java, with only minor challenges to soundness.  ...  However, the construction of call graphs requires significant investment in program analysis infrastructure.  ...  ACKNOWLEDGMENTS We are grateful to Laurie Hendren for helpful suggestions.  ... 
doi:10.1109/tse.2019.2956925 fatcat:kzzsh5a3qjdsbn225ueagoeoya

Systematic Comparison of Six Open-source Java Call Graph Construction Tools

Judit Jász, István Siket, Edit Pengő, Zoltán Ságodi, Rudolf Ferenc
2019 Proceedings of the 14th International Conference on Software Technologies  
In this paper, we studied and compared six static call graph creator tools for Java.  ...  However, in practice, their construction may have several ambiguities, especially for object-oriented programming languages like Java.  ...  Thanks for Tamás Aladics for the technical background work.  ... 
doi:10.5220/0007929201170128 dblp:conf/icsoft/JaszSPSF19 fatcat:7mrrgiwz7nfo7pufurbf3pogyq

Scaling Java Points-to Analysis Using Spark [chapter]

Ondřej Lhoták, Laurie Hendren
2003 Lecture Notes in Computer Science  
Spark supports equality-and subset-based analyses, variations in field sensitivity, respect for declared types, variations in call graph construction, off-line simplification, and several solving algorithms  ...  We introduce Spark, a flexible framework for experimenting with points-to analyses for Java.  ...  We are grateful to Feng Qian for work on the native method simulator, to Navindra Umanee for help producing the list of methods called using reflection by the standard class library, to Marc Berndl and  ... 
doi:10.1007/3-540-36579-6_12 fatcat:z3bxun6hf5dqhclohybwhz73s4

Comparison of Backward Slicing Techniques for Java

Yu KASHIMA, Takashi ISHIO, Katsuro INOUE
2015 IEICE transactions on information and systems  
Comparative analyses are important for selecting the most appropriate technique. This paper presents a comparative study of four backward program slicing techniques for Java.  ...  Program slicing is an important approach for debugging, program comprehension, impact analysis, etc.  ...  Points-to Analysis and Call Graph Construction We used the Spark pointer analysis toolkit [24] with the Soot framework [25] for points-to analysis and call graph construction.  ... 
doi:10.1587/transinf.2014edp7310 fatcat:vyz2myvwj5ft7cbz2flfl5zdzy

Getting to know you: towards a capability model for Java

Ben Hermann, Michael Reif, Michael Eichberg, Mira Mezini
2015 Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2015  
In this paper, we propose a novel capability inference mechanism for libraries written in Java. It uses a coarse-grained capability model for system resources that can be presented to developers.  ...  Developing software from reusable libraries lets developers face a security dilemma: Either be efficient and reuse libraries as they are or inspect them, know about their resource usage, but possibly miss  ...  Both information is used during the call graph construction.  ... 
doi:10.1145/2786805.2786829 dblp:conf/sigsoft/HermannREM15 fatcat:2weoafnk5bdlhn3t2zzwzu3eb4

Rethinking Soot for summary-based whole-program analysis

Dacong Yan, Guoqing Xu, Atanas Rountev
2012 Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis - SOAP '12  
It uses Soot, a widely-used program analysis framework for Java, as a vehicle to explore some of the important issues in providing analysis infrastructures with capabilities for summary-based analysis.  ...  To achieve the desired level of analysis performance, an effective approach could be to generate and apply analysis summary information for library methods.  ...  Acknowledgments We thank the SOAP reviewers for their valuable comments. This material is based upon work supported by the National Science Foundation under grants CCF-0546040 and CCF-1017204.  ... 
doi:10.1145/2259051.2259053 dblp:conf/pldi/YanXR12 fatcat:l3udydvkhncvjifecfggmvkqgu

Java based object oriented hardware specification and synthesis

Tommy Kuhn, Wolfgang Rosenstiel
2000 Proceedings of the 2000 conference on Asia South Pacific design automation - ASP-DAC '00  
In this contribution we show how the object oriented programming language Java can be used for the specification of synthesizable hardware.  ...  Thus the main synthesis problem consists of the construction of a control flow graph.  ...  Beyond it, the control flow graphs can also be rewritten for example in C++ (e.g. using the SystemC library [3] ).  ... 
doi:10.1145/368434.368809 dblp:conf/aspdac/KuhnR00 fatcat:ozad6eoipfarvppn2bhutk53qa

Computed Summaries of Android Bluetooth Library: Data Leakages Detection

Kevin A., Elisha Abade
2016 International Journal of Computer Applications  
Exploratory approach was used to answer the research questions and lastly java-call graph suite of programs was used to construct a call graph of the library and Dexter android static tool for applications  ...  Static analysis has been used for assessing android applications for possible data leaks both known and unknown.  ...  Gousious for his java call graph: java call graph utilities suite that we used to analyze the android Bluetooth library REFERENCES [1].Ali, K. and Lhoták, O., 2013, July.  ... 
doi:10.5120/ijca2016912327 fatcat:62inionixvhjbkoq3c5qwtbdyy

Static Deadlock Detection for Java Libraries [chapter]

Amy Williams, William Thies, Michael D. Ernst
2005 Lecture Notes in Computer Science  
To this end, we propose a method for static detection of deadlock in Java libraries.  ...  Our goal is to determine whether client code exists that may deadlock a library, and, if so, to enable the library writer to discover the calling patterns that can lead to deadlock.  ...  This work is supported in part by NSF grant CCR-0133580, the MIT-Oxygen Project, and an NSF Graduate Research Fellowship. telligently respond to deadlock in a library component.  ... 
doi:10.1007/11531142_26 fatcat:6j3y6vuqzvc25gkjnialvk3lbu

Assumption Hierarchy for a CHA Call Graph Construction Algorithm

Jason Sawin, Atanas Rountev
2011 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation  
We investigate a hierarchy of assumptions that a Class Hierarchy Analysis (CHA) call graph construction algorithm can make about dynamic features in Java.  ...  Unfortunately, the existences of certain dynamic features in modern programming languages, such as Java or C++, can lead to either unsoundness or imprecision in statically constructed call graphs.  ...  ACKNOWLEDGMENTS We thank the anonymous reviewers for their thoughtful insights and comments.  ... 
doi:10.1109/scam.2011.20 dblp:conf/scam/SawinR11 fatcat:47oi3i7hkvfetj75rsnjiuxfpa

Building a whole-program type analysis in Eclipse

Mariana Sharp, Jason Sawin, Atanas Rountev
2005 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange - eclipse '05  
This paper discusses some of these challenges in the context of the Tacle plug-in for wholeprogram type analysis and call graph construction.  ...  In particular, we argue that the treatment of the standard Java libraries should be an important concern for static analysis builders.  ...  The goal of the Tacle project is to build a public implementation of several algorithms for type analysis and call graph construction for Eclipse.  ... 
doi:10.1145/1117696.1117698 dblp:conf/eclipse/SharpSR05 fatcat:2xwvmhqgsbgn7k76oab2d3oryq
« Previous Showing results 1 — 15 out of 31,093 results