Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Peter C. Dillinger is active.

Publication


Featured researches published by Peter C. Dillinger.


formal methods in computer aided design | 2004

Bloom Filters in Probabilistic Verification

Peter C. Dillinger; Panagiotis Manolios

Probabilistic techniques for verification of finite-state transition systems offer huge memory savings over deterministic techniques. The two leading probabilistic schemes are hash compaction and the bitstate method, which stores states in a Bloom filter. Bloom filters have been criticized for being slow, inaccurate, and memory-inefficient, but in this paper, we show how to obtain Bloom filters that are simultaneously fast, accurate, memory-efficient, scalable, and flexible. The idea is that we can introduce large dependences among the hash functions of a Bloom filter with almost no observable effect on accuracy, and because computation of independent hash functions was the dominant computational cost of accurate Bloom filters and model checkers based on them, our savings are tremendous. We present a mathematical analysis of Bloom filters in verification in unprecedented detail, which enables us to give a fresh comparison between hash compaction and Bloom filters. Finally, we validate our work and analyses with extensive testing using 3SPIN, a model checker we developed by extending SPIN.


meeting of the association for computational linguistics | 2011

Integrating Testing and Interactive Theorem Proving

Harsh Raju Chamarthi; Peter C. Dillinger; Matt Kaufmann; Panagiotis Manolios

Using an interactive theorem prover to reason about programs involves a sequence of interactions where the user challenges the theorem prover with conjectures. Invariably, many of the conjectures posed are in fact false, and users often spend considerable effort examining the theorem provers output before realizing this. We present a synergistic integration of testing with theorem proving, implemented in the ACL2 Sedan (ACL2s), for automatically generating concrete counterexamples. Our method uses the full power of the theorem prover and associated libraries to simplify conjectures; this simplification can transform conjectures for which finding counterexamples is hard into conjectures where finding counterexamples is trivial. In fact, our approach even leads to better theorem proving, e.g. if testing shows that a generalization step leads to a false conjecture, we force the theorem prover to backtrack, allowing it to pursue more fruitful options that may yield a proof. The focus of the paper is on the engineering of a synergistic integration of testing with interactive theorem proving; this includes extending ACL2 with new functionality that we expect to be of general interest. We also discuss our experience in using ACL2s to teach freshman students how to reason about their programs.


tools and algorithms for construction and analysis of systems | 2011

The ACL2 sedan theorem proving system

Harsh Raju Chamarthi; Peter C. Dillinger; Panagiotis Manolios; Daron Vroon

The ACL2 Sedan theorem prover (ACL2s) is an Eclipse plugin that provides a modern integrated development environment, supports several modes of interaction, provides a powerful termination analysis engine, and includes fully automatic bug-finding methods based on a synergistic combination of theorem proving and random testing. ACL2s is publicly available and open source. It has also been used in several sections of a required freshman course at Northeastern University to teach over 200 undergraduate students how to reason about programs.


field programmable logic and applications | 2002

Implementation of the JPEG 2000 Standard on a Virtex 1000 FPGA

Alexander Staller; Peter C. Dillinger; Reinhard Männer

The JPEG 2000 is a well known standard and has some important changes to the former JPEG standard. The use of wavelet transformation and arithmetic entropy encoding improves the image quality and compression ratio significantly. This paper enlightens how this standard can be implemented on a Virtex 1000 FPGA processor and where the drawbacks and compromises between quality and efficiency are. An implementation without the entropy encoder is shown that uses less than half of the resources of the FPGA and operates at high frame rates.


meeting of the association for computational linguistics | 2014

Data Definitions in the ACL2 Sedan

Harsh Raju Chamarthi; Peter C. Dillinger; Panagiotis Manolios

We present a data definition framework that enables the convenient specification of data types in ACL2s, the ACL2 Sedan. Our primary motivation for developing the data definition framework was pedagogical. We were teaching undergraduate students how to reason about programs using ACL2s and wanted to provide them with an effective method for defining, testing, and reasoning about data types in the context of an untyped theorem prover. Our framework is now routinely used not only for pedagogical purposes, but also by advanced users. Our framework concisely supports common data definition patterns, e.g. list types, map types, and record types. It also provides support for polymorphic functions. A distinguishing feature of our approach is that we maintain both a predicative and an enumerative characterization of data definitions. In this paper we present our data definition framework via a sequence of examples. We give a complete characterization in terms of tau rules of the inclusion/exclusion relations a data definition induces, under suitable restrictions. The data definition framework is a key component of counterexample generation support in ACL2s, but can be independently used in ACL2, and is available as a community book.


international workshop on model checking software | 2009

Fast, All-Purpose State Storage

Peter C. Dillinger; Panagiotis Manolios

Existing techniques for approximate storage of visited states in a model checker are too special-purpose and too DRAM-intensive. Bitstate hashing, based on Bloom filters, is good for exploring most of very large state spaces, and hash compaction is good for high-assurance verification of more tractable problems. We describe a scheme that is good at both, because it adapts at run time to the number of states visited. It does this within a fixed memory space and with remarkable speed and accuracy. In many cases, it is faster than existing techniques, because it only ever requires one random access to main memory per operation; existing techniques require several to have good accuracy. Adapting to accommodate more states happens in place using streaming access to memory; traditional rehashing would require extra space, random memory accesses, and hash computation. The structure can also incorporate search stack matching for partial-order reductions, saving the need for extra resources dedicated to an additional structure. Our scheme is wellsuited for a future in which random accesses to memory are more of a limiting factor than the size of memory.


field programmable logic and applications | 2001

Generative Development System for FPGA Processors with Active Components

Stephan Rühl; Peter C. Dillinger; Stefan Hezel; Reinhard Männer

A development environment for FPGAs has been created, which allows to build a data-flow system easily by assembling predesigned components. To get a high-level, platform independent description we introduce Active Components. They contain several implementations for several hardware platforms and ensure correct usage of the communication interface. This offers an improvedp ortability and reusability compared to standard FPGA modules. A comparison with a handcrafted implementation shows its applicability without any serious drawback in resource utilization andp erformance.


international conference on software engineering | 2007

ACL2s: "The ACL2 Sedan"

Peter C. Dillinger; Panagiotis Manolios; Daron Vroon; J. S. Moore


Electronic Notes in Theoretical Computer Science | 2007

ACL2s: “The ACL2 Sedan”

Peter C. Dillinger; Panagiotis Manolios; Daron Vroon; J Strother Moore


Archive | 1998

MicroEnable: A Reconfigurable FPGA Coprocessor

Oliver Brosch; Peter C. Dillinger; Klaus Kornmesser; Andreas Kugel; Reinhard Männer; Matthias Sessler; Harald Simmler; Holger Singpiel; Stephan Rühl; Ralf Lay; Klaus-Henning Noffz; Lorne Levinson

Collaboration


Dive into the Peter C. Dillinger's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Daron Vroon

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge