English
Related papers

Related papers: PPT4J: Patch Presence Test for Java Binaries

200 papers

Traditional equivalence checking classifies programs as equivalent or non-equivalent, providing insufficient information for tasks like patch impact analysis where it is expected the patched version of the program to be non-equivalent to…

Programming Languages · Computer Science 2026-05-15 Laboni Sarker , Abdus Satter , Tevfik Bultan

Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the patches obtained with mutation operators through…

Software Engineering · Computer Science 2019-02-18 Kui Liu , Anil Koyuncu , Dongsun Kim , Tegawendé F. Bisyandé

Automated program repair (APR) aims to fix software bugs automatically without human debugging efforts and plays a crucial role in software development and maintenance. Despite promising, APR is still challenged by a long-standing…

Software Engineering · Computer Science 2024-01-17 Quanjun Zhang , Chunrong Fang , Weisong Sun , Yan Liu , Tieke He , Xiaodong Hao , Zhenyu Chen

Modern software supply chains face an increasing threat from malicious code hidden in trusted components such as browser extensions, IDE extensions, and open-source packages. This paper introduces JavaSith, a novel client-side framework for…

Cryptography and Security · Computer Science 2025-05-28 Avihay Cohen

Automated tests play an important role in software evolution because they can rapidly detect faults introduced during changes. In practice, code-coverage metrics are often used as criteria to evaluate the effectiveness of test suites with…

Software Engineering · Computer Science 2016-11-23 Rainer Niedermayr , Elmar Juergens , Stefan Wagner

This paper describes the architectural design as well as key implementation details of the Open Source popt4jlib library (https://githhub.org/ioannischristou/popt4jlib) that contains a fairly large number of meta-heuristic and other exact…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-08-02 Ioannis T. Christou

Despite huge software engineering efforts and programming language support, resource and memory leaks are still a troublesome issue, even in memory-managed languages such as Java. Understanding the properties of leak-inducing defects, how…

Software Engineering · Computer Science 2019-12-17 Mohammadreza Ghanavati , Diego Costa , Janos Seboek , David Lo , Artur Andrzejak

In the life-cycle of software development, testing plays a crucial role in quality assurance. Proper testing not only increases code coverage and prevents regressions but it can also ensure that any potential vulnerabilities in the software…

Software Engineering · Computer Science 2025-06-16 Gábor Antal , Dénes Bán , Martin Isztin , Rudolf Ferenc , Péter Hegedűs

Software vulnerabilities are often detected via taint analysis, penetration testing, or fuzzing. They are also found via unit tests that exercise security-sensitive behavior with specific inputs, called vulnerability-witnessing tests.…

Software Engineering · Computer Science 2026-01-23 Emanuele Iannone , Quang-Cuong Bui , Riccardo Scandariato

Security vulnerabilities present in a code that has been written in diverse programming languages are among the most critical yet complicated aspects of source code to detect. Static analysis tools based on rule-based patterns usually do…

Cryptography and Security · Computer Science 2025-08-19 Hael Abdulhakim Ali Humran , Ferdi Sonmez

On average, 71% of the code in typical Java projects comes from open-source software (OSS) dependencies, making OSS dependencies the dominant component of modern software code bases. This high degree of OSS reliance comes with a…

Software Engineering · Computer Science 2025-10-23 Stefan Schott , Serena Elisa Ponta , Wolfram Fischer , Jonas Klauke , Eric Bodden

Web developers routinely rely on third-party Java-Script libraries such as jQuery to enhance the functionality of their sites. However, if not properly maintained, such dependencies can create attack vectors allowing a site to be…

Cryptography and Security · Computer Science 2020-02-17 Tobias Lauinger , Abdelberi Chaabane , Sajjad Arshad , William Robertson , Christo Wilson , Engin Kirda

The rapid and widespread adoption of Java has created a demand for reliable and reusable mathematical software components to support the growing number of compute-intensive applications now under development, particularly in science and…

Mathematical Software · Computer Science 2007-05-23 Ronald F. Boisvert , Jack J. Dongarra , Roldan Pozo , Karin Remington , G. W. Stewart

Context: Software security patch management purports to support the process of patching known software security vulnerabilities. Given the increasing recognition of the importance of software security patch management, it is important and…

Software Engineering · Computer Science 2021-08-23 Nesara Dissanayake , Asangi Jayatilaka , Mansooreh Zahedi , M. Ali Babar

Patch robustness certification is an emerging kind of defense technique against adversarial patch attacks with provable guarantees. There are two research lines: certified recovery and certified detection. They aim to label malicious…

Software Engineering · Computer Science 2024-05-14 Qilin Zhou , Zhengyuan Wei , Haipeng Wang , Bo Jiang , W. K. Chan

Software bloat is code that is packaged in an application but is actually not necessary to run the application. The presence of software bloat is an issue for security, for performance, and for maintenance. In this paper, we introduce a…

Software Engineering · Computer Science 2022-05-20 César Soto-Valero , Thomas Durieux , Nicolas Harrand , Benoit Baudry

Given an issue on a software repository, a reproduction test confirms its presence in the code before it gets fixed and its absence after. Reproduction tests provide crucial execution-based feedback for diagnosis and validation during…

Software Engineering · Computer Science 2026-05-11 Toufique Ahmed , Jatin Ganhotra , Avraham Shinnar , Martin Hirzel

Mutation testing is used extensively to support the experimentation of software engineering studies. Its application to real-world projects is possible thanks to modern tools that automate the whole mutation analysis process. However,…

Software Engineering · Computer Science 2016-01-12 Thomas Laurent , Anthony Ventresque , Mike Papadakis , Christopher Henard , Yves Le Traon

We present LeJit, a template-based framework for testing Java just-in-time (JIT) compilers. Like recent template-based frameworks, LeJit executes a template -- a program with holes to be filled -- to generate concrete programs given as…

Software Engineering · Computer Science 2024-07-09 Zhiqiang Zang , Fu-Yao Yu , Aditya Thimmaiah , August Shi , Milos Gligoric

Towards predicting patch correctness in APR, we propose a simple, but novel hypothesis on how the link between the patch behaviour and failing test specifications can be drawn: similar failing test cases should require similar patches. We…

Software Engineering · Computer Science 2022-03-17 Haoye Tian , Yinghua Li , Weiguo Pian , Abdoul Kader Kaboré , Kui Liu , Andrew Habib , Jacques Klein , Tegawendé F. Bissyande