English
Related papers

Related papers: Learning Likely Invariants to Explain Why a Progra…

200 papers

The art of finding software vulnerabilities has been covered extensively in the literature and there is a huge body of work on this topic. In contrast, the intentional insertion of exploitable, security-critical bugs has received little…

Cryptography and Security · Computer Science 2020-07-07 Jannik Pewny , Thorsten Holz

Static analysis plays a crucial role in software vulnerability detection, yet faces a persistent precision-scalability tradeoff. In large codebases like the Linux kernel, traditional static analysis tools often generate excessive false…

Software Engineering · Computer Science 2025-06-03 Haonan Li , Hang Zhang , Kexin Pei , Zhiyun Qian

Satisfiability solving is a common technique for formal verification forming the basis of many proof and model checking systems. Failure to show a proof obligation will produce a counterexample or failure trace with typically many thousands…

Logic in Computer Science · Computer Science 2026-03-24 Lars-Henrik Eriksson

When a software bug is reported, developers engage in a discussion to collaboratively resolve it. While the solution is likely formulated within the discussion, it is often buried in a large amount of text, making it difficult to comprehend…

Computation and Language · Computer Science 2022-03-31 Sheena Panthaplackel , Junyi Jessy Li , Milos Gligoric , Raymond J. Mooney

Fault identification and testing has always been the most specific concern in the field of software development. To identify and testify the bug we should be aware of the source of the failure or any unwanted issue. In this paper, we are…

Software Engineering · Computer Science 2014-05-06 Vishal Anand , Ramani S

Flaky tests are defined as tests that manifest non-deterministic behaviour by passing and failing intermittently for the same version of the code. These tests cripple continuous integration with false alerts that waste developers' time and…

Software Engineering · Computer Science 2022-07-22 Sarra Habchi , Guillaume Haben , Jeongju Sohn , Adriano Franci , Mike Papadakis , Maxime Cordy , Yves Le Traon

Large Language Models (LLMs) excel at code generation, yet their outputs often contain subtle bugs, for which effective test cases are a critical bottleneck. Existing test generation methods, whether based on prompting or supervised…

Software Engineering · Computer Science 2025-10-17 Qingyao Li , Xinyi Dai , Weiwen Liu , Xiangyang Li , Yasheng Wang , Ruiming Tang , Yong Yu , Weinan Zhang

Large Language Models (LLMs) have shown tremendous promise in automated software engineering. In this paper, we investigate the opportunities of LLMs for automatic regression test generation for programs that take highly structured,…

Software Engineering · Computer Science 2025-01-22 Jing Liu , Seongmin Lee , Eleonora Losiouk , Marcel Böhme

Large language models (LLMs) have shown significant advancements in code generation, but still face challenges on tasks beyond their basic capabilities. Recently, the notion of self-debugging has been proposed to boost the performance of…

Software Engineering · Computer Science 2025-01-23 Xiancai Chen , Zhengwei Tao , Kechi Zhang , Changzhi Zhou , Wanli Gu , Yuanpeng He , Mengdi Zhang , Xunliang Cai , Haiyan Zhao , Zhi Jin

Bug reports are common artefacts in software development. They serve as the main channel for users to communicate to developers information about the issues that they encounter when using released versions of software programs. In the…

Software Engineering · Computer Science 2021-12-21 Arthur D. Sawadogo , Quentin Guimard , Tegawendé F. Bissyandé , Abdoul Kader Kaboré , Jacques Klein , Naouel Moha

Random testing has proven to be an effective technique for compiler validation. However, the debugging of bugs identified through random testing presents a significant challenge due to the frequent occurrence of duplicate test programs that…

Software Engineering · Computer Science 2026-01-28 Xintong Zhou , Zhenyang Xu , Yongqiang Tian , Chengnian Sun

Pseudocode is extensively used in introductory programming courses to instruct computer science students in algorithm design, utilizing natural language to define algorithmic behaviors. This learning approach enables students to convert…

Computers and Society · Computer Science 2024-10-30 Zhenyu Xu , Kun Zhang , Victor S. Sheng

Code flaws or vulnerabilities are prevalent in software systems and can potentially cause a variety of problems including deadlock, information loss, or system failure. A variety of approaches have been developed to try and detect the most…

Software Engineering · Computer Science 2017-08-09 Hoa Khanh Dam , Truyen Tran , Trang Pham , Shien Wee Ng , John Grundy , Aditya Ghose

Loop invariants are software properties that hold before and after every iteration of a loop. As such, invariants provide inductive arguments that are key in automating the verification of program loops. The problem of generating loop…

Logic in Computer Science · Computer Science 2023-05-25 George Kenison , Laura Kovács , Anton Varonka

Software fault localization is one of the most expensive, tedious, and time-consuming activities in program debugging. This activity becomes even much more challenging in Software Product Line (SPL) systems due to the variability of…

Software Engineering · Computer Science 2021-09-22 Kien-Tuan Ngo , Thu-Trang Nguyen , Son Nguyen , Hieu Dinh Vo

Large language models write production code, and yet they routinely introduce well-known vulnerabilities. We show that this is not a knowledge deficit: the same models that generate insecure code, correctly identify and explain the…

Cryptography and Security · Computer Science 2026-04-21 Gustavo Sandoval , Brendan Dolan-Gavitt , Siddharth Garg

Fault localization is a fundamental aspect of debugging, aiming to identify code regions likely responsible for failures. Traditional techniques primarily correlate statement execution with failures, yet program behavior is influenced by…

Software Engineering · Computer Science 2025-02-27 Marius Smytzek , Martin Eberlein , Lars Grunske , Andreas Zeller

Static analysers search for overapproximating proofs of safety commonly known as safety invariants. Fundamentally, such analysers summarise traces into sets of states, thus trading the ability to distinguish traces for computational…

Programming Languages · Computer Science 2015-03-19 Cristina David , Daniel Kroening , Matt Lewis

Many automated test generation techniques have been developed to aid developers with writing tests. To facilitate full automation, most existing techniques aim to either increase coverage, or generate exploratory inputs. However, existing…

Software Engineering · Computer Science 2023-07-26 Sungmin Kang , Juyeon Yoon , Shin Yoo

Static analysis is a widely used technique in software engineering for identifying and mitigating bugs. However, a significant hurdle lies in achieving a delicate balance between precision and scalability. Large Language Models (LLMs) offer…

Software Engineering · Computer Science 2023-11-17 Haonan Li , Yu Hao , Yizhuo Zhai , Zhiyun Qian