QuickChecking static analysis properties

Jan Midtgaard, Anders Møller

Research output: Contribution to journalJournal articleResearchpeer-review

626 Downloads (Orbit)

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 languageEnglish
Article numbere1640
JournalSoftware Testing, Verification and Reliability
Volume27
Issue number6
Number of pages23
ISSN0960-0833
DOIs
Publication statusPublished - 2017
Event2015 IEEE 8th International Conference on Software Testing, Verification and Validation - Graz Congress, Graz, Austria
Duration: 13 Apr 201517 Apr 2015
https://ieeexplore.ieee.org/xpl/conhome/7102553/proceeding

Conference

Conference2015 IEEE 8th International Conference on Software Testing, Verification and Validation
LocationGraz Congress
Country/TerritoryAustria
CityGraz
Period13/04/201517/04/2015
Internet address

Keywords

  • Domain-specific languages
  • Monotonicity
  • Quickchecking
  • Static program analysis

Fingerprint

Dive into the research topics of 'QuickChecking static analysis properties'. Together they form a unique fingerprint.

Cite this