{"type":"ScholarlyArticle","title":"A Novel Symbolic Approach to Verifying Epistemic Properties of Programs","authors":[{"name":"Nikos Gorogiannis","slug":"nikos-gorogiannis","given":"Nikos","family":"Gorogiannis","affiliation":"Department of Computer Science Middlesex University , London , UK"},{"name":"Franco Raimondi","slug":"franco-raimondi","given":"Franco","family":"Raimondi","affiliation":"Department of Computer Science Middlesex University , London , UK"},{"name":"Ioana Boureanu","slug":"ioana-boureanu","given":"Ioana","family":"Boureanu","affiliation":"Department of Computer Science University of Surrey , Guilford , UK"}],"abstract":"We introduce a framework for the symbolic verification of epistemic properties of programs expressed in a class of general-purpose programming languages.  To this end, we reduce the verification problem to that of satisfiability of first-order formulae in appropriate theories.  We prove the correctness of our reduction and we validate our proposal by applying it to two examples: the dining cryptographers problem and the ThreeBallot voting protocol.  We put forward an implementation using existing solvers, and report  experimental results showing that the approach can perform better than state-of-the-art symbolic model checkers for temporal-epistemic  logic.","doi":"10.24963/ijcai.2017/30","url":"https://ijcai.org/proceedings/2017/30","pdf":"https://ijcai.org/proceedings/2017/0030.pdf","markdown":"https://ijcai.org/proceedings/2017/30.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/30","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Agent-based and Multi-agent Systems","track":"Main track","number":30,"pages":{"first":206,"last":212},"keywords":["Agent-based and Multi-agent Systems: Formal verification, validation and synthesis","Multidisciplinary Topics and Applications: Validation and Verification"],"videos":[],"references":[{"position":1,"raw":"[Armando et al., 2014] A. Armando, R. Carbone, and L. Compagna. SATMC: A SAT-based model checker for security-critical systems. In Proc. of TACAS-20, pages 31- 45. Springer, 2014.","title":"SATMC: A SAT-based model checker for security-critical systems","authors":"A Armando, R Carbone, L Compagna","year":"2014","venue":"Proc. of TACAS-20","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Balliu et al., 2012] M. Balliu, M. Dam, and G. Le Guernic. ENCoVer: Symbolic exploration for information flow se- curity. In Proc. of CSF-25, pages 30-44, 2012.","title":"ENCoVer: Symbolic exploration for information flow security","authors":"M Balliu, M Dam, G Le Guernic","year":"2012","venue":"Proc. of CSF-25","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Baukus and van der Meyden, 2004] K. Baukus and R. van der Meyden. A knowledge based analysis of cache coherence. In Proc. of ICFEM-6, pages 99-114.","title":"A knowledge based analysis of cache coherence","authors":"K Baukus, R Van Der Meyden","year":null,"venue":"Proc. of ICFEM-6","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Belardinelli et al., 2016] F. Belardinelli, A. Lomuscio, and J. Michaliszyn. Agent-based refinement for predicate ab- straction of multi-agent systems. In Proc. of ECAI-22, pages 286-294. IOS Press, 2016.","title":"Agent-based refinement for predicate abstraction of multi-agent systems","authors":"F Belardinelli, A Lomuscio, J Michaliszyn","year":"2016","venue":"Proc. of ECAI-22","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Boureanu et al., 2009] I. Boureanu, M. Cohen, and A. Lo- muscio. Automatic verification of temporal-epistemic properties of cryptographic protocols. Journal of Applied Non-Classical Logics, 19(4):463-487, 2009.","title":"Automatic verification of temporal-epistemic properties of cryptographic protocols","authors":"Boureanu","year":"2009","venue":"Journal of Applied Non-Classical Logics","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Brotherston et al., 2012] J. Brotherston, N. Gorogiannis, and R.L. Petersen. A generic cyclic theorem prover. In APLAS-10, volume 7705, pages 350-367. Springer, 2012.","title":"A generic cyclic theorem prover","authors":"J Brotherston, N Gorogiannis, R L Petersen","year":"2012","venue":"APLAS-10","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Chaum, 1988] D. Chaum. The dining cryptographers prob- lem: Unconditional sender and recipient untraceability. Journal of Cryptology, 1(1):65-75, 1988.","title":"The dining cryptographers problem: Unconditional sender and recipient untraceability","authors":"D Chaum","year":"1988","venue":"Journal of Cryptology","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Cimatti et al., 2016] A. Cimatti, M. Gario, and S. Tonetta. A lazy approach to temporal epistemic logic model check- ing. In Proc. of AAMAS-38, pages 1218-1226. IFAAMAS, 2016.","title":"A lazy approach to temporal epistemic logic model checking","authors":"A Cimatti, M Gario, S Tonetta","year":"2016","venue":"Proc. of AAMAS-38","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Cook et al., 2012] B. Cook, E. Koskinen, and M. Vardi. Temporal property verification as a program analysis task. Formal Methods in System Design, 41(1):66-82, 2012.","title":"Temporal property verification as a program analysis task","authors":"B Cook, E Koskinen, M Vardi","year":"2012","venue":"Formal Methods in System Design","doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[Cousot and Cousot, 1977] P. Cousot and R. Cousot. Ab- stract interpretation: A unified lattice model for static anal- ysis of programs by construction or approximation of fix- points. In Proc. of POPL-4, pages 238-252. ACM, 1977.","title":"Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints","authors":"P Cousot, R Cousot","year":"1977","venue":"Proc. of POPL-4","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[De Moura and Bjørner, 2008] L. De Moura and N. Bjørner. Z3: An efficient SMT solver. In Proc. of TACAS-14, pages 337-340. Springer-Verlag, 2008.","title":"Z3: An efficient SMT solver","authors":"L De Moura, N Bjørner","year":"2008","venue":"Proc. of TACAS-14","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Dijkstra, 1976] E. W. Dijkstra. A Discipline of Program- ming. Prentice-Hall, 1976.","title":"A Discipline of Programming","authors":"E W Dijkstra","year":"1976","venue":null,"doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Ezekiel et al., 2011] J. Ezekiel, A. Lomuscio, L. Molnar, S. Veres, and M. Pebody. Verifying fault tolerance and self-diagnosability of an autonomous underwater vehicle. In Proc. of IJCAI-22, pages 1659-1664. AAAI Press, 2011.","title":"Verifying fault tolerance and self-diagnosability of an autonomous underwater vehicle","authors":"J Ezekiel, A Lomuscio, L Molnar, S Veres, M Pebody","year":"2011","venue":"Proc. of IJCAI-22","doi":null,"url":null,"internal_url":"/proceedings/2011/279"},{"position":14,"raw":"[Fagin et al., 1995] R. Fagin, J. Y. Halpern, Y. Moses, and M. Y. Vardi. Reasoning about knowledge. MIT press, 1995.","title":"Reasoning about knowledge","authors":"R Fagin, J Y Halpern, Y Moses, M Y Vardi","year":"1995","venue":null,"doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Gammie and van der Meyden, 2004] P. Gammie and R. van der Meyden. MCK: Model checking the logic of knowledge. In Proc. of CAV-16, pages 479-483. Springer, 2004.","title":"MCK: Model checking the logic of knowledge","authors":"P Gammie, R Van Der Meyden","year":"2004","venue":"Proc. of CAV-16","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Gelfond, 1994] M. Gelfond. Logic programming and rea- soning with incomplete information. Annals of Mathemat- ics and Artificial Intelligence, 12(1):89-116, 1994.","title":"Logic programming and reasoning with incomplete information","authors":"M Gelfond","year":"1994","venue":"Annals of Mathematics and Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Haase, 2014] C. Haase. Subclasses of presburger arithmetic and the weak EXP hierarchy. In Proc. of LICS-23, pages 47:1-47:10. ACM, 2014.","title":"Subclasses of presburger arithmetic and the weak EXP hierarchy","authors":"C Haase","year":"2014","venue":"Proc. of LICS-23","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Kacprzak et al., 2006] M. Kacprzak, A. Lomuscio, A. Niewiadomski, W. Penczek, F. Raimondi, and M. Szreter. Comparing BDD and SAT based techniques for model checking Chaum's dining cryptographers protocol. Fundamenta Informaticae, 72(1-3):215-234, 2006.","title":"Comparing BDD and SAT based techniques for model checking Chaum's dining cryptographers protocol","authors":"M Kacprzak, A Lomuscio, A Niewiadomski, W Penczek, F Raimondi, M Szreter","year":"2006","venue":"Fundamenta Informaticae","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Kacprzak et al., 2008] M. Kacprzak, W. Nabiałek, A. Niewiadomski, W. Penczek, A. Półrola, M. Szreter, B. Woźna, and A. Zbrzezny. VerICS 2007 -a model checker for knowledge and real-time. Fundamenta Informaticae, 85(1-4):313-328, 2008.","title":"VerICS 2007 -a model checker for knowledge and real-time","authors":"M Kacprzak, W Nabiałek, A Niewiadomski, W Penczek, A Półrola, M Szreter, B Woźna, A Zbrzezny","year":"2008","venue":"Fundamenta Informaticae","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Kouvaros and Lomuscio, 2016] P. Kouvaros and A. Lomus- cio. Parameterised verification for multi-agent systems. Artificial Intelligence, 234:152-189, 2016.","title":"Parameterised verification for multi-agent systems","authors":"P Kouvaros, A Lomuscio","year":"2016","venue":"Artificial Intelligence","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Lomuscio et al., 2015] A. Lomuscio, H. Qu, and F. Rai- mondi. MCMAS: an open-source model checker for the verification of multi-agent systems. International Jour- nal on Software Tools for Technology Transfer, 19(1):9- 30, 2015.","title":"MCMAS: an open-source model checker for the verification of multi-agent systems","authors":"A Lomuscio, H Qu, F Raimondi","year":"2015","venue":"International Journal on Software Tools for Technology Transfer","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"J. Plaza. Logics of public communications. Synthese, 158(2):165-179, 2007.","title":"Logics of public communications","authors":"J Plaza","year":"2007","venue":"Synthese","doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[Pȃsȃreanu and Rungta, 2010] Corina S. Pȃsȃreanu and Neha Rungta. Symbolic PathFinder: Symbolic execution of java bytecode. In Proc. of ASE'10, pages 179-180. ACM, 2010.","title":"Symbolic PathFinder: Symbolic execution of java bytecode","authors":"Corina S Pȃsȃreanu, Neha Rungta","year":"2010","venue":"Proc. of ASE'10","doi":null,"url":null,"internal_url":null},{"position":24,"raw":"[Rivest and Smith, 2007] R. L. Rivest and W. D. Smith. Three Voting Protocols: ThreeBallot, VAV, and Twin. In Proc. of EVT'07, pages 16-16. USENIX, 2007.","title":"Three Voting Protocols: ThreeBallot, VAV, and Twin","authors":"R L Rivest, W D Smith","year":"2007","venue":"Proc. of EVT'07","doi":null,"url":null,"internal_url":null},{"position":25,"raw":"[Rosenschein and Kaelbling, 1986] S. J. Rosenschein and L. P. Kaelbling. The synthesis of digital machines with provable epistemic properties. In Proc. of TARK'86, pages 83-98.","title":"The synthesis of digital machines with provable epistemic properties","authors":"S J Rosenschein, L P Kaelbling","year":null,"venue":"Proc. of TARK'86","doi":null,"url":null,"internal_url":null},{"position":26,"raw":"Morgan Kaufmann, 1986.","title":null,"authors":"Morgan Kaufmann","year":"1986","venue":null,"doi":null,"url":null,"internal_url":null},{"position":27,"raw":"[Stockmeyer, 1977] L. J. Stockmeyer. The polynomial-time hierarchy. Theoretical Computer Science, 3:1-22, 1977.","title":"The polynomial-time hierarchy","authors":"L J Stockmeyer","year":"1977","venue":"Theoretical Computer Science","doi":null,"url":null,"internal_url":null},{"position":28,"raw":"[Wang, 2016] S. Wang. Dynamic epistemic model check- ing with Yices. https://airobert.github.io/ FSA_report.pdf, 2016. Accessed 14/02/2017.","title":"Dynamic epistemic model checking with Yices","authors":"S Wang","year":"2016","venue":null,"doi":null,"url":"https://airobert.github.io/FSA_report.pdf","internal_url":null},{"position":29,"raw":"[Zbrzezny et al., 2016] A. M. Zbrzezny, A. Zbrzezny, and F. Raimondi. Efficient model checking timed and weighted interpreted systems using SMT and SAT solvers. In Proc. of KES-AMSTA-10, pages 45-55. Springer, 2016.","title":"Efficient model checking timed and weighted interpreted systems using SMT and SAT solvers","authors":"A M Zbrzezny, A Zbrzezny, F Raimondi","year":"2016","venue":"Proc. of KES-AMSTA-10","doi":null,"url":null,"internal_url":null},{"position":30,"raw":"[Zhang, 2006] Y. Zhang. Computational properties of epis- temic logic programs. In Proc. of KR-10, pages 308-317. AAAI Press, 2006.","title":"Computational properties of epistemic logic programs","authors":"Y Zhang","year":"2006","venue":"Proc. of KR-10","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}