Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
119 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Learning Likely Invariants to Explain Why a Program Fails (1610.08607v1)

Published 27 Oct 2016 in cs.SE

Abstract: Debugging is difficult. Recent studies show that automatic bug localization techniques have limited usefulness. One of the reasons is that programmers typically have to understand why the program fails before fixing it. In this work, we aim to help programmers understand a bug by automatically generating likely invariants which are violated in the failed tests. Given a program with an initial assertion and at least one test case failing the assertion, we first generate random test cases, identify potential bug locations through bug localization, and then generate program state mutation based on active learning techniques to identify a predicate "explaining" the cause of the bug. The predicate is a classifier for the passed test cases and failed test cases. Our main contribution is the application of invariant learning for bug explanation, as well as a novel approach to overcome the problem of lack of test cases in practice. We apply our method to real-world bugs and show the generated invariants are often correlated to the actual bug fixes.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (5)
  1. Jun Sun (210 papers)
  2. Long H. Pham (16 papers)
  3. Lyly Tran Thi (1 paper)
  4. Jingyi Wang (105 papers)
  5. Xin Peng (82 papers)
Citations (3)

Summary

We haven't generated a summary for this paper yet.