Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders

E Bodden, A Sewe, J Sinschek, H Oueslati… - Proceedings of the 33rd …, 2011 - dl.acm.org
Static program analyses and transformations for Java face many problems when analyzing
programs that use reflection or custom class loaders: How can a static analysis know which …

A static approach to prioritizing junit test cases

H Mei, D Hao, L Zhang, L Zhang, J Zhou… - IEEE transactions on …, 2012 - ieeexplore.ieee.org
Test case prioritization is used in regression testing to schedule the execution order of test
cases so as to expose faults earlier in testing. Over the past few years, many test case …

Application-only call graph construction

K Ali, O Lhoták - European Conference on Object-Oriented …, 2012 - Springer
Since call graphs are an essential starting point for all inter-procedural analyses, many tools
and frameworks have been developed to generate the call graph of a given program. The …

Understanding the impact of APIs behavioral breaking changes on client applications

D Jayasuriya, V Terragni, J Dietrich… - Proceedings of the ACM …, 2024 - dl.acm.org
Libraries play a significant role in software development as they provide reusable
functionality, which helps expedite the development process. As libraries evolve, they …

On the recall of static call graph construction in practice

L Sui, J Dietrich, A Tahir, G Fourtounis - Proceedings of the ACM/IEEE …, 2020 - dl.acm.org
Static analyses have problems modelling dynamic language features soundly while
retaining acceptable precision. The problem is well-understood in theory, but there is little …

Striking a balance: pruning false-positives from static call graphs

A Utture, S Liu, CG Kalhauge, J Palsberg - Proceedings of the 44th …, 2022 - dl.acm.org
Researchers have reported that static analysis tools rarely achieve a false-positive rate that
would make them attractive to developers. We overcome this problem by a technique that …

Judge: Identifying, understanding, and evaluating sources of unsoundness in call graphs

M Reif, F Kübler, M Eichberg, D Helm… - Proceedings of the 28th …, 2019 - dl.acm.org
Call graphs are widely used; in particular for advanced control-and data-flow analyses. Even
though many call graph algorithms with different precision and scalability properties have …

Typestate-like analysis of multiple interacting objects

NA Naeem, O Lhoták - ACM Sigplan Notices, 2008 - dl.acm.org
This paper presents a static analysis of typestate-like temporal specifications of groups of
interacting objects, which are expressed using tracematches. Whereas typestate expresses …

Practical extensions to the IFDS algorithm

NA Naeem, O Lhoták, J Rodriguez - … Conference, CC 2010, Held as Part …, 2010 - Springer
This paper presents four extensions to the Interprocedural Finite Distributive Subset (IFDS)
algorithm that make it applicable to a wider class of analysis problems. IFDS is a dynamic …

Static javascript call graphs: A comparative study

G Antal, P Hegedus, Z Tóth, R Ferenc… - 2018 IEEE 18th …, 2018 - ieeexplore.ieee.org
The popularity and wide adoption of JavaScript both at the client and server side makes its
code analysis more important than ever before. Most of the algorithms for vulnerability …