217 research outputs found
Proving soundness of combinatorial Vickrey auctions and generating verified executable code
Using mechanised reasoning we prove that combinatorial Vickrey auctions are
soundly specified in that they associate a unique outcome (allocation and
transfers) to any valid input (bids). Having done so, we auto-generate verified
executable code from the formally defined auction. This removes a source of
error in implementing the auction design. We intend to use formal methods to
verify new auction designs. Here, our contribution is to introduce and
demonstrate the use of formal methods for auction verification in the familiar
setting of a well-known auction
An Introduction to Mechanized Reasoning
Mechanized reasoning uses computers to verify proofs and to help discover new
theorems. Computer scientists have applied mechanized reasoning to economic
problems but -- to date -- this work has not yet been properly presented in
economics journals. We introduce mechanized reasoning to economists in three
ways. First, we introduce mechanized reasoning in general, describing both the
techniques and their successful applications. Second, we explain how mechanized
reasoning has been applied to economic problems, concentrating on the two
domains that have attracted the most attention: social choice theory and
auction theory. Finally, we present a detailed example of mechanized reasoning
in practice by means of a proof of Vickrey's familiar theorem on second-price
auctions
Computer-aided verification in mechanism design
In mechanism design, the gold standard solution concepts are dominant
strategy incentive compatibility and Bayesian incentive compatibility. These
solution concepts relieve the (possibly unsophisticated) bidders from the need
to engage in complicated strategizing. While incentive properties are simple to
state, their proofs are specific to the mechanism and can be quite complex.
This raises two concerns. From a practical perspective, checking a complex
proof can be a tedious process, often requiring experts knowledgeable in
mechanism design. Furthermore, from a modeling perspective, if unsophisticated
agents are unconvinced of incentive properties, they may strategize in
unpredictable ways.
To address both concerns, we explore techniques from computer-aided
verification to construct formal proofs of incentive properties. Because formal
proofs can be automatically checked, agents do not need to manually check the
properties, or even understand the proof. To demonstrate, we present the
verification of a sophisticated mechanism: the generic reduction from Bayesian
incentive compatible mechanism design to algorithm design given by Hartline,
Kleinberg, and Malekian. This mechanism presents new challenges for formal
verification, including essential use of randomness from both the execution of
the mechanism and from the prior type distributions. As an immediate
consequence, our work also formalizes Bayesian incentive compatibility for the
entire family of mechanisms derived via this reduction. Finally, as an
intermediate step in our formalization, we provide the first formal
verification of incentive compatibility for the celebrated
Vickrey-Clarke-Groves mechanism
Unit Testing in ASPIDE
Answer Set Programming (ASP) is a declarative logic programming formalism,
which is employed nowadays in both academic and industrial real-world
applications. Although some tools for supporting the development of ASP
programs have been proposed in the last few years, the crucial task of testing
ASP programs received less attention, and is an Achilles' heel of the available
programming environments.
In this paper we present a language for specifying and running unit tests on
ASP programs. The testing language has been implemented in ASPIDE, a
comprehensive IDE for ASP, which supports the entire life-cycle of ASP
development with a collection of user-friendly graphical tools for program
composition, testing, debugging, profiling, solver execution configuration, and
output-handling.Comment: 12 pages, 4 figures, Proceedings of the 25th Workshop on Logic
Programming (WLP 2011
Constraint programming for random testing of a trading system
Financial markets use complex computer trading systems whose failures can
cause serious economic damage, making reliability a major concern. Automated
random testing has been shown to be useful in nding defects in these systems,
but its inherent test oracle problem (automatic generation of the expected system
output) is a drawback that has typically prevented its application on a larger scale.
Two main tasks have been carried out in this thesis as a solution to the test
oracle problem. First, an independent model of a real trading system based on
constraint programming, a method for solving combinatorial problems, has been
created. Then, the model has been integrated as a true test oracle in automated random
tests. The test oracle maintains the expected state of an order book throughout
a sequence of random trade order actions, and provides the expected output of every
auction triggered in the order book by generating a corresponding constraint
program that is solved with the aid of a constraint programming system.
Constraint programming has allowed the development of an inexpensive, yet
reliable test oracle. In 500 random test cases, the test oracle has detected two
system failures. These failures correspond to defects that had been present for
several years without being discovered neither by less complete oracles nor by the
application of more systematic testing approaches.
The main contributions of this thesis are: (1) empirical evidence of both the
suitability of applying constraint programming to solve the test oracle problem and
the e ectiveness of true test oracles in random testing, and (2) a rst attempt, as
far as the author is aware, to model a non-theoretical continuous double auction
using constraint programming.Castañeda Lozano, R. (2010). Constraint programming for random testing of a trading system. http://hdl.handle.net/10251/8928.Archivo delegad
- …