Sindoori Beeram (2351354) Sindoori Beeram

Property based testing for Schulze voting system

Project Abstract

The Property-based Testing for Schulze Voting System project aims to verify the correctness, dependability, and robustness of the preferential voting algorithm used in democratic decision-making. Property-based testing generates and evaluates test cases automatically based on defined properties or invariants to verify software system behavior and properties. Our project uniquely positions itself by aiming to implement the Schulze method in a programming language like Haskell or OCaml, emphasizing property-based testing for rigorous validation. Property-based testing is appealing for validating the Schulze voting system’s functionality because traditional testing approaches may ignore corner cases or not cover all inputs and scenarios. The Property-based Testing for Schulze Voting System project aims to improve trust in the accuracy and reliability of the voting algorithm. The project intends to create complete test suites that rigorously analyze the Schulze voting system’s behavior under diverse scenarios by methodically specifying features including monotonic, independence of irrelevant alternatives, as Pareto optimality, reversal symmetry and transitivity. This technique detects edge situations, corner cases, and anomalies, helping developers find and fix issues early in the development lifecycle. Property-based testing promotes best practices in voting system validation and software testing, boosting trust and integrity in democratic decision-making.

Keywords: Haskell, OCaml, Property-based Testing

 

 Conference Details

 

Session: Presentation Stream 4 at Presentation Slot 6

Location: GH001 at Tuesday 7th 13:30 – 17:00

Markers: Neil Carter, Lu Zhang

Course: MSc Advanced Computer Science, Masters PG

Future Plans: I’m looking for work