• Publications
  • Influence
Partial-Order Methods for the Verification of Concurrent Systems
  • Patrice Godefroid
  • Mathematics, Computer Science
  • Lecture Notes in Computer Science
  • 1 June 1996
Concurrent systems and semantics.- Using partial orders to tackle state explosion. Expand
  • 1,129
  • 134
DART: directed automated random testing
We present a new tool, named DART, for automatically testing software that combines three main techniques: (1) automated extraction of the interface of a program with its external environment using static source-code parsing; (2) automatic generation of a test driver for this interface that performs random testing to simulate the most general environment the program can operate in; and (3) dynamic analysis of how the program behaves under random testing and new test inputs to direct systematically the execution along alternative program paths. Expand
  • 1,547
  • 130
  • PDF
Dynamic partial-order reduction for model checking software
We present a new approach to partial-order reduction for model checking software that uses dynamic interleaving to identify backtracking points where alternative paths in the state space need to be explored. Expand
  • 627
  • 115
  • PDF
Automated Whitebox Fuzz Testing
Fuzz testing is an effective technique for finding security vulnerabilities in software. Expand
  • 1,089
  • 88
  • PDF
Model checking for programming languages using VeriSoft
We show how model checking can be extended to deal directly with "actual" descriptions of concurrent systems, e.g., implementations of communication protocols written in programming languages. Expand
  • 856
  • 79
  • PDF
Compositional dynamic test generation
We introduce a new algorithm, dubbed SMART for Systematic Modular Automated Random Testing, that extends DART by testing functions in isolation, encoding test results as function summaries expressed using input preconditions and output postconditions, and then re-using those summaries when testing higher-level functions. Expand
  • 470
  • 31
  • PDF
SAGE: whitebox fuzzing for security testing
SAGE has had a remarkable impact at Microsoft.
  • 191
  • 25
Generalized Model Checking: Reasoning about Partial State Spaces
We discuss the problem of model checking temporal properties on partial Kripke structures, which were used in [BG99] to represent incomplete state spaces. Expand
  • 165
  • 24
  • PDF
Checking Beliefs in Dynamic Networks
We introduce Network Optimized Datalog (NoD) as a tool for network verification in which both the specification language and modeling languages areDatalog. Expand
  • 137
  • 22
  • PDF
Learn&Fuzz: Machine learning for input fuzzing
Fuzzing consists of repeatedly testing an application with modified, or fuzzed, inputs with the goal of finding security vulnerabilities in input-parsing code. Expand
  • 189
  • 19
  • PDF