Oddfuzz: Discovering java deserialization vulnerabilities via structure-aware directed greybox fuzzing

S Cao, B He, X Sun, Y Ouyang, C Zhang… - … IEEE Symposium on …, 2023 - ieeexplore.ieee.org
Java deserialization vulnerability is a severe threat in practice. Researchers have proposed
static analysis solutions to locate candidate vulnerabilities and fuzzing solutions to generate …

Jshrink: In-depth investigation into debloating modern java applications

BR Bruce, T Zhang, J Arora, GH Xu, M Kim - Proceedings of the 28th …, 2020 - dl.acm.org
Modern software is bloated. Demand for new functionality has led developers to include
more and more features, many of which become unneeded or unused as software evolves …

Improving java deserialization gadget chain mining via overriding-guided object generation

S Cao, X Sun, X Wu, L Bo, B Li, R Wu… - 2023 IEEE/ACM 45th …, 2023 - ieeexplore.ieee.org
Java (de) serialization is prone to causing security-critical vulnerabilities that attackers can
invoke existing methods (gadgets) on the application's classpath to construct a gadget chain …

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 …

Putting the semantics into semantic versioning

P Lam, J Dietrich, DJ Pearce - Proceedings of the 2020 ACM SIGPLAN …, 2020 - dl.acm.org
The long-standing aspiration for software reuse has made astonishing strides in the past few
years. Many modern software development ecosystems now come with rich sets of publicly …

Understanding and analyzing java reflection

Y Li, T Tan, J Xue - ACM Transactions on Software Engineering and …, 2019 - dl.acm.org
Java reflection has been widely used in a variety of applications and frameworks. It allows a
software system to inspect and change the behaviour of its classes, interfaces, methods, and …

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 …

A study of call graph construction for jvm-hosted languages

K Ali, X Lai, Z Luo, O Lhoták, J Dolby… - IEEE transactions on …, 2019 - ieeexplore.ieee.org
Call graphs have many applications in software engineering, including bug-finding, security
analysis, and code navigation in IDEs. However, the construction of call graphs requires …

Removing dependencies from large software projects: are you really sure?

CC Chuang, L Cruz, R Van Dalen… - 2022 IEEE 22nd …, 2022 - ieeexplore.ieee.org
When developing and maintaining large software systems, a great deal of effort goes into
dependency management. During the whole lifecycle of a software project, the set of …

On the soundness of call graph construction in the presence of dynamic language features-a benchmark and tool evaluation

L Sui, J Dietrich, M Emery, S Rasheed… - … Languages and Systems …, 2018 - Springer
Static program analysis is widely used to detect bugs and vulnerabilities early in the life
cycle of software. It models possible program executions without executing a program, and …