Abstract
A static analysis can check programs for potential errors. A natural question that arises is therefore: who checks the checker? Researchers have given this question varying attention, ranging from basic testing techniques, informal monotonicity arguments, thorough pen-and-paper soundness proofs, to verified fixed point checking. In this paper, we demonstrate how quickchecking can be useful to test a range of static analysis properties with limited effort. We show how to check a range of algebraic lattice properties, to help ensure that an implementation follows the formal specification of a lattice. Moreover, we offer a number of generic, type-safe combinators to check transfer functions and operators on lattices, to help ensure that these are, eg, monotone, strict, or invariant. We substantiate our claims by quickchecking a type analysis for the Lua programming language.
| Original language | English |
|---|---|
| Article number | e1640 |
| Journal | Software Testing, Verification and Reliability |
| Volume | 27 |
| Issue number | 6 |
| Number of pages | 23 |
| ISSN | 0960-0833 |
| DOIs | |
| Publication status | Published - 2017 |
| Event | 2015 IEEE 8th International Conference on Software Testing, Verification and Validation - Graz Congress, Graz, Austria Duration: 13 Apr 2015 → 17 Apr 2015 https://ieeexplore.ieee.org/xpl/conhome/7102553/proceeding |
Conference
| Conference | 2015 IEEE 8th International Conference on Software Testing, Verification and Validation |
|---|---|
| Location | Graz Congress |
| Country/Territory | Austria |
| City | Graz |
| Period | 13/04/2015 → 17/04/2015 |
| Internet address |
Keywords
- Domain-specific languages
- Monotonicity
- Quickchecking
- Static program analysis