The oracle problem in software testing: A survey

ET Barr, M Harman, P McMinn… - IEEE transactions on …, 2014 - ieeexplore.ieee.org
Testing involves examining the behaviour of a system in order to discover potential faults.
Given an input for a system, the challenge of distinguishing the corresponding desired …

Can large language models reason about program invariants?

K Pei, D Bieber, K Shi, C Sutton… - … Conference on Machine …, 2023 - proceedings.mlr.press
Identifying invariants is an important program analysis task with applications towards
program understanding, bug finding, vulnerability analysis, and formal verification. Existing …

Loop invariants: Analysis, classification, and examples

CA Furia, B Meyer, S Velder - ACM Computing Surveys (CSUR), 2014 - dl.acm.org
Software verification has emerged as a key concern for ensuring the continued progress of
information technology. Full verification generally requires, as a crucial step, equipping each …

Automated fixing of programs with contracts

Y Wei, Y Pei, CA Furia, LS Silva, S Buchholz… - Proceedings of the 19th …, 2010 - dl.acm.org
In program debugging, finding a failing run is only the first step; what about correcting the
fault? Can we automate the second task as well as the first? The AutoFix-E tool …

[PDF][PDF] A comprehensive survey of trends in oracles for software testing

M Harman, P McMinn, M Shahbaz… - University of Sheffield …, 2013 - mcminn.info
Testing involves examining the behaviour of a system in order to discover potential faults.
Determining the desired correct behaviour for a given input is called the “oracle problem” …

Inferring method specifications from natural language API descriptions

R Pandita, X Xiao, H Zhong, T Xie… - 2012 34th …, 2012 - ieeexplore.ieee.org
Application Programming Interface (API) documents are a typical way of describing legal
usage of reusable software libraries, thus facilitating software reuse. However, even with …

Mining temporal specifications from object usage

A Wasylkowski, A Zeller - Automated Software Engineering, 2011 - Springer
A caller must satisfy the callee's precondition—that is, reach a state in which the callee may
be called. Preconditions describe the state that needs to be reached, but not how to reach it …

Generating fixes from object behavior anomalies

V Dallmeier, A Zeller, B Meyer - 2009 IEEE/ACM International …, 2009 - ieeexplore.ieee.org
Advances in recent years have made it possible in some cases to locate a bug (the source of
a failure) automatically. But debugging is also about correcting bugs. Can tools do this …

Automatic mining of specifications from invocation traces and method invariants

I Krka, Y Brun, N Medvidovic - Proceedings of the 22nd ACM SIGSOFT …, 2014 - dl.acm.org
Software library documentation often describes individual methods' APIs, but not the
intended protocols and method interactions. This can lead to library misuse, and restrict …

Inferring better contracts

Y Wei, CA Furia, N Kazmin, B Meyer - Proceedings of the 33rd …, 2011 - dl.acm.org
Considerable progress has been made towards automatic support for one of the principal
techniques available to enhance program reliability: equipping programs with extensive …