Feature Interactions in a Software Product Line for E-voting

A significant number of failures in e-voting systems have arisen because of poorly specified requirements, combined with an ad-hoc approach to engineering multiple variations of similar machines. We demonstrate that e-voting is a suitable domain for leveraging state-of-the-art in software product line (SPL) engineering techniques and tools. We propose, based on examples of typical requirements, that a feature-oriented approach to e-voting domain analysis is a good foundation upon which to carry out commonality and variablity analysis. Simple analysis of our core and optional features (and their variants) leads us to believe that feature interactions are a major problem in voting systems. We conclude that a formal software product line would help to manage the composition of features in such a way as to eliminate interactions in the requirements models, before particular e-voting systems are instantiated.

[1]  Dan S. Wallach,et al.  Hack-a-vote: Security issues with electronic voting systems , 2004, IEEE Security & Privacy Magazine.

[2]  J. Paul Gibson E-Voting and the Need for Rigourous Software Engineering - The Past, Present and Future , 2007, B.

[3]  Zhe Xia,et al.  Analysis, Improvement, and Simplification of Prêt à Voter with Paillier Encryption , 2008, EVT.

[4]  Jan Bosch,et al.  Product-line architectures in industry: a case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[5]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[6]  Jörgen Svensson,et al.  E-voting in Europe: Divergent democratic practice , 2003, Inf. Polity.

[7]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[8]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[9]  Barry Nalebuff,et al.  An Introduction to Vote-Counting Schemes , 1995 .

[10]  Warren D. Smith Three Voting Protocols: ThreeBallot, VAV, and Twin , 2007, EVT.

[11]  Patrick Traynor,et al.  Systemic Issues in the Hart InterCivic and Premier Voting Systems: Reflections on Project EVEREST , 2008, EVT.

[12]  Radha Poovendran,et al.  A framework and taxonomy for comparison of electronic voting schemes , 2006, Comput. Secur..

[13]  Klaus Schmid,et al.  A Requirements-Based Taxonomy of Software Product Line Evolution , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[14]  Brian Randell,et al.  Voting Technologies and Trust , 2006, IEEE Security & Privacy.

[15]  Dominique Cansell,et al.  Refinement: A Constructive Approach to Formal Software Design for a Secure e-voting Interface , 2007, Electron. Notes Theor. Comput. Sci..

[16]  Linda Northrop Software Product Lines , 2002 .

[17]  J. Paul Gibson,et al.  Analysis of a Distributed e-Voting System Architecture against Quality of Service Requirements , 2008, 2008 The Third International Conference on Software Engineering Advances.

[18]  Chin-Ling Chen,et al.  The design of a secure anonymous Internet voting system , 2004, Comput. Secur..

[19]  André Zúquete,et al.  Verifiable anonymous vote submission , 2008, SAC '08.

[20]  J. Paul Gibson Towards a Feature Interaction Algebra , 1998, FIW.

[21]  Gilda Pour,et al.  The push to make software engineering respectable , 2000, Computer.

[22]  Dominique Cansell,et al.  Formal verification of tamper-evident storage for e-voting , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[23]  Giancarlo Guizzardi,et al.  An ontological approach to domain engineering , 2002, SEKE '02.

[24]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[25]  J. Paul Gibson,et al.  A Critical Analysis of the Council of Europe Recommendations on E-Voting , 2006, EVT.

[26]  Jing Liu Handling Safety-Related Feature Interaction in Safety-Critical Product Lines , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[27]  J. Paul Gibson,et al.  NUIM-CS-TR 2003-02 E-voting : a safety critical system , 2003 .

[28]  John Paul Gibson,et al.  Verification and maintenance of e-voting systems and standards , 2008 .

[29]  J. Paul Gibson Feature Requirements Models: Understanding Interactions , 1997, FIW.

[30]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.