English
Related papers

Related papers: SN4KE: Practical Mutation Testing at Binary Level

200 papers

Many approaches for verifying input-output properties of neural networks have been proposed recently. However, existing algorithms do not scale well to large networks. Recent work in the field of model compression studied binarized neural…

Machine Learning · Computer Science 2022-03-15 Christopher Lazarus , Mykel J. Kochenderfer

Semantic textual similarity is the task of estimating the similarity between the meaning of two texts. In this paper, we fine-tune transformer architectures for semantic textual similarity on the Semantic Textual Similarity Benchmark by…

Computation and Language · Computer Science 2023-06-02 Ivan Rep , Vladimir Čeperić

Bounded Model Checking is one the most successful techniques for finding bugs in program. However, model checkers are resource hungry and are often unable to verify programs with loops iterating over large arrays.We present a transformation…

Logic in Computer Science · Computer Science 2017-03-08 Anushri Jana , Uday P. Khedker , Advaita Datar , R Venkatesh , C Niyas

Deep learning has recently achieved initial success in program analysis tasks such as bug detection. Lacking real bugs, most existing works construct training and test data by injecting synthetic bugs into correct programs. Despite…

Machine Learning · Computer Science 2022-06-22 Jingxuan He , Luca Beurer-Kellner , Martin Vechev

This paper proposes ReBNet, an end-to-end framework for training reconfigurable binary neural networks on software and developing efficient accelerators for execution on FPGA. Binary neural networks offer an intriguing opportunity for…

Machine Learning · Computer Science 2018-03-29 Mohammad Ghasemzadeh , Mohammad Samragh , Farinaz Koushanfar

The correctness of complex software depends on the correctness of both the source code and the compilers that generate corresponding binary code. Compilers must do more than preserve the semantics of a single source file: they must ensure…

Programming Languages · Computer Science 2024-09-04 Luke Geeson , James Brotherston , Wilco Dijkstra , Alastair F. Donaldson , Lee Smith , Tyler Sorensen , John Wickerson

Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure. Not only researchers, but also practitioners, need to know about past…

Software Engineering · Computer Science 2018-08-08 Eunjong Choi , Kenji Fujiwara , Norihiro Yoshida , Shinpei Hayashi

An "adequate" test suite should effectively find all inconsistencies between a system's requirements/specifications and its implementation. Practitioners frequently use code coverage to approximate adequacy, while academics argue that…

Software Engineering · Computer Science 2023-09-06 Kush Jain , Goutamkumar Tulajappa Kalburgi , Claire Le Goues , Alex Groce

Benchmarking is a common practice in software engineering to assess the qualities and performance of software variants, coming from multiple competing systems or from configurations of the same system. Benchmarks are used notably to compare…

Software Engineering · Computer Science 2025-12-23 Théo Matricon , Mathieu Acher , Helge Spieker , Arnaud Gotlieb

When developing a software system, a change in one part of the system may lead to unwanted changes in other parts of the system. These affected parts may interfere with system performance, so regression testing is used to deal with these…

Software Engineering · Computer Science 2024-05-13 Mahdi Movahedian Moghaddam

This study investigates the capabilities of Large Language Models (LLMs), specifically GPT-4, in the context of Binary Reverse Engineering (RE). Employing a structured experimental approach, we analyzed the LLM's performance in interpreting…

Software Engineering · Computer Science 2024-06-12 Saman Pordanesh , Benjamin Tan

Mutation testing is an effective approach to evaluate and strengthen software test suites, but its adoption is currently limited by the mutants' execution computational cost. Several strategies have been proposed to reduce this cost (a.k.a.…

Software Engineering · Computer Science 2021-03-15 Giovani Guizzo , Federica Sarro , Jens Krinke , Silvia Regina Vergilio

Statistical analysis is the tool of choice to turn data into information, and then information into empirical knowledge. To be valid, the process that goes from data to knowledge should be supported by detailed, rigorous guidelines, which…

Software Engineering · Computer Science 2024-10-03 Carlo A. Furia , Richard Torkar , Robert Feldt

Deep Learning (DL) components are routinely integrated into software systems that need to perform complex tasks such as image or natural language processing. The adequacy of the test data used to test such systems can be assessed by their…

Software Engineering · Computer Science 2021-09-17 Vincenzo Riccio , Nargiz Humbatova , Gunel Jahangirova , Paolo Tonella

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

More than two decades after the first stack smashing attacks, memory corruption vulnerabilities utilizing stack anomalies are still prevalent and play an important role in practice. Among such vulnerabilities, uninitialized variables play…

Cryptography and Security · Computer Science 2020-07-07 Behrad Garmany , Martin Stoffel , Robert Gawlik , Thorsten Holz

Mutation testing is a widely recognized technique for assessing and enhancing the effectiveness of software test suites by introducing deliberate code mutations. However, its application often results in overly large test suites, as…

Software Engineering · Computer Science 2025-05-12 Mohamed Salah Bouafif , Mohammad Hamdaqa , Edward Zulkoski

Much research on software engineering and software testing relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it "blindly" injects large…

Software Engineering · Computer Science 2022-08-15 Ahmed Khanfir , Anil Koyuncu , Mike Papadakis , Maxime Cordy , Tegawendé F. Bissyandé , Jacques Klein , Yves Le Traon

Bugs are essential in software engineering; many research studies in the past decades have been proposed to detect, localize, and repair bugs in software systems. Effectiveness evaluation of such techniques requires complex bugs, i.e.,…

Software Engineering · Computer Science 2025-09-10 Ali Reza Ibrahimzada , Yang Chen , Ryan Rong , Reyhaneh Jabbarvand

LLM-based mutation testing is a promising testing technology, but existing approaches typically rely on a fixed set of mutations as few-shot examples or none at all. This can result in generic low-quality mutations, missed context-specific…

Software Engineering · Computer Science 2026-03-26 Bo Wang , Ming Deng , Mingda Chen , Chengran Yang , Youfang Lin , Mark Harman , Mike Papadakis , Jie M. Zhang