The Daikon system for dynamic detection of likely invariants
By Michael D. Ernst, Jeff H. Perkins, Philip J. Guo, Stephen McCamant, Carlos Pacheco, Matthew S. Tschantz, Chen Xiao. Science of Computer Programming, 2007
1,243 citations recorded by the source corpus.
Subfields: Computational Theory and Mathematics, Software
View Paper: https://www.semanticscholar.org/paper/a99575d60f83cf28a01fd177465061ffc6b0021c
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computational Theory and Mathematics
- Thomas Zimmermann
- Carlos Pacheco
- Shin Yoo
- Pushmeet Kohli
- Benjamin Livshits
- Gordon Fraser
- Mark Harman
- Sven Leyffer
In Software
- Mark Harman
- Gordon Fraser
- Phil McMinn
- Shin Yoo
- Andrea Arcuri
- Earl T. Barr
- Koushik Sen
- Michael D. Ernst
Citations in the corpus
- A Survey on Metamorphic Testing (2016, background): “This resembles the traditional concept of program invariants, which are properties (for example expressed as assert statements) that hold at certain points in programs [19].”
- The Oracle Problem in Software Testing: A Survey (2015, methodology): “[56], implemented in the Daikon tool [55], is to execute a program on a collection of inputs (test cases) against a collection of potential invariants.”
- Automated Program Repair in the Era of Large Pre-trained Language Models (2022, neutral): “LLMs can also be used to target more context dependent tasks such as test [85] or test-oracle [86] generation where the input can be the focal method we want to generate unit test for.”
- Dynamic inference of static types for ruby (2011, neutral): “amples, Daikon discovers likely program invariants from dynamic runs [9]; DySy uses symbolic execution to infer Daikon-like invariants [8]; and Perracotta discovers temporal properties of programs [32].”
- Learning Shape Analysis (2017, background): “However, this is a limitation shared by other dynamic analysis systems, such as Daikon [14].”
- Automatically patching errors in deployed software (2009, methodology): “Our current ClearView implementation uses an enhanced version of Daikon [17] as its learning component.”
- No More Manual Tests? Evaluating and Improving ChatGPT for Unit Test Generation (2023, methodology): “strategies [10], [11] to generate unit tests automatically.”
- The ML test score: A rubric for ML production readiness and technical debt reduction (2017, background): “Invariants to capture in a schema can also be inferred automatically from your system’s behavior [7].”
- DynaMine: finding common error patterns by mining software revision histories (2005, methodology): “Perracota uses a runtime analysis to propose a set of temporal properties [48] in a manner similar to Daikon [ 17 ].”
- Addressing failures in exascale computing (2014, methodology): “The software-driven approach described has several advantages: (1) generality: it is oblivious to specific failure modes and microarchitectural or circuit details; (2) masked faults ignored: it naturally ignores all faults masked at the software level; (3) customizability: the software layer in char”
- Bugram: Bug detection with n-gram language models (2016, neutral): “Many techniques have been developed for programming rule mining and bug detection [1, 4, 6, 8–10, 16, 18, 19, 21–23, 25, 28, 39, 41–43, 45, 46, 48–50, 52–56].”
- Pex-White Box Test Generation for .NET (2008, methodology): “The commercial tool AgitarOne from Agitar [4] generates test-cases for Java by analyzing the source code, using information about program invariants obtained in a way similar to [9].”
- The road ahead for Mining Software Repositories (2008, background): “Several types of rules could be mined from the source code: Coverity and PR-Miner [41] mine function-pairing rules; Daikon [17] and DIDUCE [23] mine variable-value invariants by analyzing execution traces; MUVI mines variable-pairing rules [44]; and AutoISES mines function and variable access rules ”