English
Related papers

Related papers: DALEQ -- Explainable Equivalence for Java Bytecode

200 papers

Fault localization is a practical research topic that helps developers identify code locations that might cause bugs in a program. Most existing fault localization techniques are designed for imperative programs (e.g., C and Java) and rely…

Software Engineering · Computer Science 2021-02-23 Guolong Zheng , ThanhVu Nguyen , Simón Gutiérrez Brida , Germán Regis , Marcelo F. Frias , Nazareno Aguirre , Hamid Bagheri

The escalating complexity of modern codebases has intensified the need for retrieval systems capable of interpreting cross-component change intents, a capability fundamentally absent in conventional function-level search paradigms. While…

Software Engineering · Computer Science 2025-10-30 Aofan Liu , Shiyuan Song , Haoxuan Li , Cehao Yang , Yiyan Qi

Code search has usually been evaluated as first-stage retrieval, even though production systems rely on broader pipelines with reranking and developer-style queries. Existing benchmarks also suffer from data contamination, label noise, and…

Software Engineering · Computer Science 2026-05-11 Siqiao Xue , Zihan Liao , Jin Qin , Ziyin Zhang , Yixiang Mu , Fan Zhou , Hang Yu

Verifying partial (i.e., termination-insensitive) equivalence of programs has significant practical applications in software development and education. Conventional equivalence verifiers typically rely on a combination of given relational…

Programming Languages · Computer Science 2017-05-10 Qi Zhou , David Heath , William Harris

Design methods in information systems frequently create software descriptions using formal languages. Nonetheless, most software designers prefer to describe software using natural languages. This distinction is not simply a matter of…

Software Engineering · Computer Science 2021-08-23 David King , Chris Kimble

Android is an operating system that has been used in a majority of mobile devices. Each application in Android runs in an instance of the Dalvik virtual machine, which is a register-based virtual machine (VM). Most applications for Android…

Programming Languages · Computer Science 2016-10-07 Hendra Gunadi , Alwen Tiu , Rajeev Gore

Equivalence class partitioning is a well-established test design technique mandated by safety standards such as ISO~26262 for systematic testing of safety software. In industrial practice, however, its application to legacy undocumented…

Software Engineering · Computer Science 2026-04-27 Marco De Luca , Domenico Francesco De Angelis , Domenico Amalfitano , Pasquale Cimmino , Anna Rita Fasolino

Logging, the practice of inserting log statements into source code, is critical for improving software reliability. Recently, language model-based techniques have been developed to automate log statement generation based on input code.…

Software Engineering · Computer Science 2025-04-03 Boyin Tan , Junjielong Xu , Zhouruixing Zhu , Pinjia He

The binary similarity problem consists in determining if two functions are similar by only considering their compiled form. Advanced techniques for binary similarity recently gained momentum as they can be applied in several fields, such as…

Cryptography and Security · Computer Science 2019-12-20 Luca Massarelli , Giuseppe Antonio Di Luna , Fabio Petroni , Leonardo Querzoni , Roberto Baldoni

Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and…

Software Engineering · Computer Science 2024-04-22 Tim Kräuter , Harald König , Adrian Rutle , Yngve Lamo

Over the last years, software development in domains with high security demands transitioned from traditional methodologies to uniting modern approaches from software development and operations (DevOps). Key principles of DevOps gained more…

Computation and Language · Computer Science 2022-11-22 Phillip Schneider , Markus Voggenreiter , Abdullah Gulraiz , Florian Matthes

Source code plagiarism is a long-standing issue in tertiary computer science education. Many source code plagiarism detection tools have been proposed to aid in the detection of source code plagiarism. However, existing detection tools are…

Software Engineering · Computer Science 2021-04-23 Hayden Cheers , Yuqing Lin , Shamus P. Smith

Third-party dependency updates can cause a build to fail if the new dependency version introduces a change that is incompatible with the usage: this is called a breaking dependency update. Research on breaking dependency updates is active,…

Software Engineering · Computer Science 2024-03-21 Frank Reyes , Yogya Gamage , Gabriel Skoglund , Benoit Baudry , Martin Monperrus

We present OxonFair, a new open source toolkit for enforcing fairness in binary classification. Compared to existing toolkits: (i) We support NLP and Computer Vision classification as well as standard tabular problems. (ii) We support…

Computers and Society · Computer Science 2024-11-06 Eoin Delaney , Zihao Fu , Sandra Wachter , Brent Mittelstadt , Chris Russell

In this work we target the problem of provably computing the equivalence between two programs represented as dataflow graphs. To this end, we formalize the problem of equivalence between two programs as finding a set of semantics-preserving…

Machine Learning · Computer Science 2021-06-07 Steve Kommrusch , Théo Barollet , Louis-Noël Pouchet

In the field of automated program repair, the redundancy assumption claims large programs contain the seeds of their own repair. However, most redundancy-based program repair techniques do not reason about the repair ingredients---the code…

Software Engineering · Computer Science 2023-10-13 Martin White , Michele Tufano , Matias Martinez , Martin Monperrus , Denys Poshyvanyk

Background: Since Google introduced Kotlin as an official programming language for developing Android apps in 2017, Kotlin has gained widespread adoption in Android development. The inter-operability of Java and Kotlin's design nature…

Software Engineering · Computer Science 2024-07-29 Qiong Feng , Huan Ji , Xiaotian Ma , Peng Liang

Context: Dependency Injection (DI) is a commonly applied mechanism to decouple classes from their dependencies in order to provide higher modularization. However, bad DI practices often lead to negative consequences, such as increasing…

Software Engineering · Computer Science 2021-10-19 Rodrigo Laigner , Diogo Mendonça , Alessandro Garcia , Marcos Kalinowski

Researchers and practitioners have designed and implemented various automated test case generators to support effective software testing. Such generators exist for various languages (e.g., Java, C#, or Python) and for various platforms…

Deep learning (DL) techniques are on the rise in the software engineering research community. More and more approaches have been developed on top of DL models, also due to the unprecedented amount of software-related data that can be used…

Software Engineering · Computer Science 2021-03-23 Alejandro Mazuera-Rozo , Anamaria Mojica-Hanke , Mario Linares-Vásquez , Gabriele Bavota