+ All Categories
Home > Documents > Specifying and Verifying Requirements for Election...

Specifying and Verifying Requirements for Election...

Date post: 09-Apr-2018
Category:
Upload: trannga
View: 221 times
Download: 7 times
Share this document with a friend
17
Department of Computer Science Borislava I. Simidchieva, Matthew S. Marzilli, Lori A. Clarke, Leon J. Osterweil Laboratory for Advanced Software Engineering Research (LASER) Computer Science Department University of Massachusetts, Amherst 140 Governors Drive Amherst, MA 01003 Specifying and Verifying Requirements for Election Processes
Transcript
Page 1: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

Department of Computer Science

Borislava I. Simidchieva, Matthew S. Marzilli, Lori A. Clarke, Leon J. Osterweil

Laboratory for Advanced Software Engineering Research (LASER)Computer Science Department

University of Massachusetts, Amherst140 Governors DriveAmherst, MA 01003

Specifying and Verifying Requirementsfor Election Processes

Page 2: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

2Department of Computer Science

Motivation

Elections entail far more than the casting andtabulation of votes

Need to consider the entire process, in whichvoting machines play only only part, out of many

The election process is large and complex and, inthe U.S., varies from jurisdiction to another

Goal To detect potential defects in election processes

and identify ways to correct them

Page 3: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

3Department of Computer Science

High-level approach

Define an example election process• Coordination of activities, or steps• Agents, resources, and more

Refine the requirements for an election process• High-level requirements• Low-level requirements• Precise properties, or event sequences

Verify the process adheres to the properties• Define correspondence between property events and

process steps• Run formal analysis using finite-state verification

Page 4: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

4Department of Computer Science

Define the election process

Use the Little-JIL process definition language• Consists of coordination diagram, and other

specifications (e.g. agents, artifacts, resources)• Especially appropriate for modeling concurrency and

complex exception handling that arise in elections• Visual representation facilitates communication and

validation

Three main example election process phases:• Pre-polling activities that happen before election day• Activities that occur on election day• Counting of votes after election completes

Page 5: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

5Department of Computer Science

record voterpreference

perform pre-voteauthentication

Example election process

Authenticate voters before they vote example

present ID check off voter as voted

pass authentication and vote

matches voterconfirm voter ID confirm voterconfirm voter ID

matches voting roll has not voted fill out ballot submit ballot

exceptions:Missing IDInadmissible ID

exceptions:ID Mismatch

exceptions:ID Mismatch

exceptions:Voter Already Checked Off

Missing ID Exception✔

Inadmissible ID Exception✔

ID Mismatch Exception✔

let voter vote withprovisional ballot

fill outprovisional ballot

submitprovisional ballot

Voter Already Checked Off Exception✔

Page 6: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

6Department of Computer Science

Refine the requirements

High-level requirements• Technology-independent• Usually applicable to most election processes• E.g. “Each unique voter is allowed at most one vote”

Low-level Requirements• Refine each high-level requirement into a collection of low-

level requirements Formal Properties

• Each low-level requirement must be formally defined as aproperty

• A property must be in a form suitable for verification, such asa finite-state automaton (FSA)

• Use PROPEL to guide the property definition and generate theFSA

• PROPEL provides three equivalent, synchronized views:question tree, disciplined English, and finite-state automaton

Page 7: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

7Department of Computer Science

Decompose high-level requirements

Example refinement of high-level requirementinto a collection of low-level requirements

each unique voter is allowed at most one vote

voter must receive ballot before choosing to vote

voter must leave voting booth after choosing to vote

voter must be authenticated before entering voting booth

voter must be checked off before entering voting booth

voter must enter voting booth before choosing to vote

Page 8: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

8Department of Computer Science

Formally define the properties

Use the PROPEL property elicitation tool to formallydefine a property corresponding to the low-levelrequirement “voter must be authenticated beforeentering voting booth”

Page 9: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

9Department of Computer Science

Example propertyVoter must be authenticated before entering voting booth: Disciplined English view:

• VoterEntersVotingBooth cannot occur until afterVoterIsAuthenticated has occurred. VoterIsAuthenticated is notrequired to occur, however.

• VoterIsAuthenticated can occur multiple times before the firstsubsequent VoterEntersVotingBooth occurs.

• After VoterIsAuthenticated occurs other events can occur before thefirst subsequent VoterEntersVotingBooth occurs

• After VoterEntersVotingBooth occurs neither VoterIsAuthenticatednor VoterEntersVotingBooth can occur again.

FSA view:

Page 10: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

10Department of Computer Science

FLAVERS finite-state verifier

Binding property events to process steps

For verification, property events must be bound toprocess steps.

Property FSA specified in PROPEL Little-JIL process definition

Bindings between propertyevents and process steps

Yes, the processYes, the processsatisfies the propertysatisfies the property

No,No, the property could bethe property could be violatedviolatedHere is aHere is a counter-examplecounter-exampleOR

Page 11: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

11Department of Computer Science

Finite-state verification (FSV) with FLAVERS

The FLAVERS FSV verifier has been extended toautomatically construct finite models of the Little-JILprocess definitions

Finite model represents all possible event sequences, forthe events in a property, that could occur for all thepossible traces through the process definition

Apply dataflow analysis algorithm to determine if themodel is consistent with the property

If the process is inconsistent with the property, a counter-example trace is produced

FLAVERS determines whether the election process, asdefined in Little-JIL, adheres to the property “voter mustbe authenticated before entering voting booth”

Page 12: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

12Department of Computer Science

(ID Mismatch Exception;Voter Already Checked Off Exception)(Voter Enters Voting Booth Event)(Voter Votes Or Does Not Vote Event)

(Voter Leaves Voting Booth Event)

[pass authentication and vote]

[present ID]

[perform pre-vote authentication]

[let voter vote with provisional ballot]

[fill out provisional ballot]

[submit provisional ballot]

Violation detected

An unauthenticated voter can vote with provisional ballot• Counter-example produced by FLAVERS to demonstrate how

the property “voter must be authenticated before enteringvoting booth” could be violated

Page 13: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

13Department of Computer Science

Violation detected, cont’d

Property violation possible because pre-voteauthentication step is executed in parallel andexceptions can occur in any order

Forcing sequential execution can correct thiserror

After correcting the process definition, theFLAVERS verifier is run again to verify that thenew process definition satisfies the “voter mustbe authenticated before entering voting booth”property, as well as the other properties

Page 14: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

14Department of Computer Science

Observations Formal process definition to rigorously and precisely capture the

election process provides:• A holistic view of the election process• Extendability by further elaborating the process definition in Little-JIL

Precise requirement specification plays a pivotal role in ensuringthe correctness and fairness of elections• Refining high-level requirements into low-level properties is difficult• The PROPEL property elicitation tool facilitates the refinement

Formal verification can determine with certainty whether anelection process definition adheres to specific properties• FLAVERS produces a counter-example trace if a property is violated• The counter-example trace can help to improve the election process

definition

Page 15: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

15Department of Computer Science

Related Work

Direct Recording Electronic (DRE) machines• ACCURATE; Brennan Center for Justice; EVEREST;

Caltech/MIT Voting Technology Project

Verification of elections• Mercuri & Neumann; Saltman

Requirements for elections• Mitrou; Lambrinoudakis et at

Election processes• Election Assessment Hearing; Raunak

Page 16: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

16Department of Computer Science

Future Work

Specify process desiderata• Technology-independent, high-level requirements that most

election processes should meet• Corresponding properties may differ for different processes

Organize properties and reason about their relationships• E.g. approving a provisional ballot versus protecting voter

confidentiality

Fault-tree analysis• Considers how the incorrect processing of a step can cause an

error• Useful for identifying single points of failure (i.e. a single step

in the election process definition that, if executed incorrectly,may lead to the election being compromised)

Page 17: Specifying and Verifying Requirements for Election Processeslaser.cs.umass.edu/techreports/08-21slides.pdf · To detect potential defects in election processes and identify ways to

17Department of Computer Science

Questions?

Election processes are too importantto democracy to not be carefully

defined and evaluated


Recommended