Although call graphs are crucial for inter-procedural analyses, it is challenging to statically compute them for programs with dynamic features. Prior work focused on supporting certain kinds of dynamic features, but serialization-related features are still not very well supported. Therefore, we introduce Salsa, an approach to complement existing points-to analysis with respect to serialization-related features to enhance the call graph's soundness while not greatly affecting its precision. We evaluate Salsa's soundness, precision, and performance using 9 programs from the Java Call graph Assessment & Test Suite (CATS) and 4 programs from the XCorpus dataset. We compared Salsa against off-the-shelf call graph construction algorithms available on Soot, Doop, WALA, and OPAL. Our experiments showed that Salsa improved call graphs' soundness while not greatly affecting their precision. We also observed that Salsa did not incur an extra overhead on the underlying pointer analysis method.
CITATION STYLE
Santos, J. C. S., Jones, R. A., Ashiogwu, C., & Mirakhorli, M. (2021). Serialization-aware call graph construction. In SOAP 2021 - Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis, co-located with PLDI 2021 (pp. 37–42). Association for Computing Machinery, Inc. https://doi.org/10.1145/3460946.3464319
Mendeley helps you to discover research relevant for your work.