ADVENT: Architecture-Driven Verification ADVENT
of Systems Software




Publications

2016

  • Analysing snapshot isolation
    Andrea Cerone and Alexey Gotsman
    PODC'16: Symposium on Principles of Distributed Computing, Chicago, IL, USA. To appear.
    Best paper award

  • Specification and complexity of collaborative text editing
    Hagit Attiya, Sebastian Burckhardt, Alexey Gotsman, Adam Morrison, Hongseok Yang, and Marek Zawirski
    PODC'16: Symposium on Principles of Distributed Computing, Chicago, IL, USA. To appear.

  • From Shape Analysis to Termination Analysis in Linear Time
    Roman Manevich, Boris Dogadov, and Noam Rinetzky.
    CAV 2016: CAV'16: Conference on Computer Aided Verification, Toronto, Ontario, Canada, July 2016. (To appear)

  • Category theory in Coq 8.5
    Amin Timany and Bart Jacobs.
    FSCD 2016: 1st International Conference on Formal Structures for Computation and Deduction, Porto, Portugal. Dagstuhl LIPICS, June 2016.

  • Validating optimizations of concurrent C/C++ programs
    Soham Chakraborty and Viktor Vafeiadis.
    CGO 2016: Symposium on Code Generation and Optimization, Barcelona, Spain. ACM, January 2016.
    [Paper] [Project page]

  • Taming release-acquire consistency
    Ori Lahav, Nick Giannarakis, and Viktor Vafeiadis.
    POPL 2016: Symposium on Principles of Programming Languages, St. Petersburg, FL, USA. ACM, January 2016.
    [Paper] [Project page]

  • Lightweight verification of separate compilation
    Jeehoon Kang, Yoonseung Kim, Chung-Kil Hur, Derek Dreyer, and Viktor Vafeiadis.
    POPL 2016: Symposium on Principles of Programming Languages, St. Petersburg, FL, USA. ACM, January 2016.
    [Paper] [Project page]

  • 'Cause I'm strong enough: reasoning about consistency choices in distributed systems
    Alexey Gotsman, Hongseok Yang, Carla Ferreira, Mahsa Najafzadeh, and Marc Shapiro
    POPL 2016: Symposium on Principles of Programming Languages, St. Petersburg, FL, USA. ACM, January 2016.
    [Paper]

  • The CISE Tool: Proving Weakly-Consistent Applications Correct
    Mahsa Najafzadeh, Alexey Gotsman, Hongseok Yang, Carla Ferreira, and Marc Shapiro.
    PAPOC 2016: Workshop on Principles and Practice of Consistency for Distributed Data, London, UK, April 2016.
    [Paper] [Tool Demo - Video]

  • A program logic for C11 memory fences
    Marko Doko and Viktor Vafeiadis.
    VMCAI 2016: 17th International Conference on Verification, Model Checking, and Abstract Interpretation, St. Petersburg, FL, USA. Springer, January 2016.
    [Paper] [Project page]

  • Property Directed Abstract Interpretation
    Noam Rinetzky and Sharon Shoham
    VMCAI'16: International Conference on Verification, Model Checking, and Abstract Interpretation. January 17-19, 2016, St. Petersburg, Florida, United States. [pdf]
    Best paper award

2015

  • First steps towards cumulative inductive types in CIC
    Amin Timany and Bart Jacobs
    ICTAC 2015: International Colloquium on Theoretical Aspects of Computing, Cali, Colombia.
    [Paper]

  • Transaction chopping for parallel snapshot isolation
    Andrea Cerone, Alexey Gotsman, and Hongseok Yang
    DISC 2015: International Symposium on Distributed Computing, Tokyo, Japan.
    [Paper]

  • Asynchronous liquid separation types
    Johannes Kloos, Rupak Majumdar, and Viktor Vafeiadis.
    ECOOP 2015: 29th European Conference on Object-Oriented Programming, Prague, Czech Republic, LIPICS, 2015
    [Paper]

  • Modularity in Lattices: A Case Study on the Correspondence between Top-Down and Bottom-Up Analysis
    Ghila Castelnuovo, Mayur Naik, Noam Rinetzky, Mooly Sagiv, and Hongseok Yang
    SAS'15: 22nd International Static Analysis Symposium, Saint-Malo, France, September 9-11, 2015. [pdf]

  • Pattern-based Synthesis of Synchronization for the C++ Memory Model
    Yuri Meshman, Noam Rinetzky, and Eran Yahav
    FMCAD'15: Formal Methods in Computer-Aided Design, September 27-30, 2015, Austin, Texas, USA [pdf]

  • Property-Directed Inference of Universal Invariants or Proving Their Absence
    Alexander Karbyshev, Nikolaj Bjorner, Shachar Itzhaky, Noam Rinetzky, and Sharon Shoham
    CAV'15: 27th International Conference on Computer Aided Verification, July 18-24, 2015, San Francisco, California. [pdf]

  • Pilsner: A compositionally verified compiler for a higher-order imperative language
    Georg Neis, Georg Neis, Jan-Oliver Kaiser, Craig McLaughlin, Derek Dreyer, and Viktor Vafeiadis.
    ICFP 2015: ACM SIGPLAN International Conference on Functional Programming, Vancouver, Canada, ACM, 2015. [Paper] [Project page]

  • Rely/Guarantee Reasoning for Asynchronous Programs.
    Ivan Gavran, Filip Niksic, Aditya Kanade, Rupak Majumdar, and Viktor Vafeiadis.
    CONCUR 2015: International Conference on Concurrency Theory, Madrid, Spain, LIPICS, 2015.
    [Paper]

  • A framework for transactional consistency models with atomic visibility.
    Andrea Cerone, Giovanni Bernardi, and Alexey Gotsman.
    CONCUR 2015: International Conference on Concurrency Theory, Madrid, Spain, LIPICS, 2015.
    [Paper]

  • Owicki-Gries reasoning for weak memory models.
    Ori Lahav and Viktor Vafeiadis.
    ICALP 2015, Track B: 42nd International Colloquium on Automata, Languages, and Programming. Springer, July 2015
    [Paper] [Project page]

  • Provably live exception handling.
    Bart Jacobs.
    FTfJP 2015: 17th Workshop on Formal Techniques for Java-like Programs. ACM Digital Library, July 2015
    [Paper]

  • Modular termination verification.
    Bart Jacobs, Dragan Bosnacki, and Ruurd Kuiper.
    ECOOP 2015: 29th European Conference on Object-Oriented Programming. Dagstuhl LIPICS, July 2015
    [Paper]

  • Verifying read-copy-update in a logic for weak memory.
    Joseph Tassarotti, Derek Dreyer, and Viktor Vafeiadis.
    PLDI 2015: Symposium on Programming Language Design and Implementation. ACM, June 2015
    [Paper] [Project page]

  • A formal C memory model supporting integer-pointer casts.
    Jeehoon Kang, Chung-Kil Hur, William Mansky, Dmitri Garbuzov, Steve Zdancewic, and Viktor Vafeiadis.
    PLDI 2015: Symposium on Programming Language Design and Implementation. ACM, June 2015
    [Paper] [Project page]

  • Aspect-oriented linearizability proofs.
    Soham Chakraborty, Thomas A. Henzinger, Ali Sezgin, Viktor Vafeiadis.
    Logical Methods in Computer Science 11(1:20), March 2015
    [Paper]

  • Composite replicated data types
    Alexey Gotsman and Hongseok Yang
    ESOP 2015: European Symposium on Programming, London, UK, 2015.
    [PDF]

  • Sound, modular and compositional verification of the input/output behavior of programs
    Willem Penninckx, Bart Jacobs, and Frank Piessens
    ESOP'15: European Symposium on Programming, London, UK, 2015.
    [PDF]

  • Common compiler optimisations are invalid in the C11 memory model and what we can do about it.
    Viktor Vafeiadis, Thibaut Balabonski, Soham Chakraborty, Robin Morisset, and Francesco Zappa Nardelli.
    POPL 2015: Symposium on Principles of Programming Languages, Mumbai, India. ACM, 2015.
    [PDF] [Project page]

  • Sound modular verification of C code executing in an unverified context
    Pieter Agten, Bart Jacobs, and Frank Piessens
    POPL 2015: Symposium on Principles of Programming Languages, Mumbai, India. ACM, 2015.
    [PDF]

  • Verifying lock-freedom easily and automatically
    Xiao Jia, Wei Li, and Viktor Vafeiadis.
    CPP 2015: The 4th ACM-SIGPLAN Conference on Certified Programs and Proofs, Mumbai, India. ACM, 2015.
    [PDF] [Project page]

  • Modular verification of concurrency-aware linearizability
    Nir Hemed, Noam Rinetzky, and Viktor Vafeiadis.
    DISC 2015: International Symposium on Distributed Computing, Tokyo, Japan, 2015.
    [PDF]

2014

  • GPS: Navigating Weak Memory with Ghosts, Protocols, and Separation
    Aaron Turon, Viktor Vafeiadis, and Derek Dreyer
    OOPSLA 2014: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Portland, USA. ACM, 2014.
    [PDF] [Project page]

  • Safety of live transactions in transactional memory: TMS is necessary and sufficient
    Hagit Attiya, Alexey Gotsman, Sandeep Hans, and Noam Rinetzky
    DISC 2014: International Symposium on Distributed Computing, Austin, TX, USA, LNCS 8784, pages 376-390. Springer, 2014.
    [PDF] [Extended version, PDF]

  • Brief Announcement: Concurrency-Aware Linearizability
    Nir Hemed and Noam Rinetzky
    PODC 2014: ACM Symposium on Principles of Distributed Computing, ACM, 2014.
    [PDF]

  • Parameterised linearisability
    Andrea Cerone, Alexey Gotsman, and Hongseok Yang
    ICALP 2014: International Colloquium on Automata, Languages, and Programming, Copenhagen, Denmark, LNCS 8573, pages 98-109. Springer, 2014.
    [PDF] [Extended version, PDF]

  • Replicated data types: specification, verification, optimality
    Sebastian Burckhardt, Alexey Gotsman, Hongseok Yang, and Marek Zawirski
    POPL 2014: Symposium on Principles of Programming Languages, San Diego, CA, USA, pages 271-284. ACM, 2014.
    [PDF] [Extended version, PDF]

  • A logical step forward in parametric bisimulations
    Chung-Kil Hur, Georg Neis, Derek Dreyer, and Viktor Vafeiadis
    Technical Report MPI-SWS-2014-003. Max Planck Institute for Software Systems (MPI-SWS), January 2014
    [PDF]

2013

  • Relaxed separation logic: A program logic for C11 concurrency
    Viktor Vafeiadis and Chinmay Narayan
    OOPSLA 2013: ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Indianapolis, USA. ACM, 2013.
    [PDF] [Project page] [Slides (PDF)] [Tutorial slides (PDF)]

  • Unifying refinement and Hoare-style reasoning in a logic for higher-order concurrency
    Aaron Turon, Derek Dreyer, Lars Birkedal
    ICFP 2013: ACM SIGPLAN International Conference on Functional Programming, Boston, USA. ACM, 2013.
    [PDF]

  • Aspect-oriented linearizability proofs
    Thomas A. Henzinger, Ali Sezgin, Viktor Vafeiadis
    CONCUR 2013: Concurrency Theory, Buenos Aires, Argentina. LNCS, vol. 8052, pages 242-256. Springer, 2013.
    [PDF]

  • Linearizability with ownership transfer
    Alexey Gotsman and Hongseok Yang
    Logical Methods in Computer Science, 9(3:12), 2013.
    [PDF]

  • Modular verification of preemptive OS kernels
    Alexey Gotsman and Hongseok Yang
    Journal of Functional Programming. 23(4):452-514. Cambridge University Press, 2013.
    [PDF] [Appendix, PDF]

  • C/C++ causal cycles confound compositionality
    Mike Dodds, Mark Batty, and Alexey Gotsman
    Tiny Transactions on Computer Science (TinyToCS), Vol. 2, 2013.
    [PDF]

  • A programming language approach to fault tolerance for fork-join parallelism
    Mustafa Zengin and Viktor Vafeiadis
    TASE'13: The 7th International Symposium on Theoretical Aspects of Software Engineering, Birmingham, UK. IEEE, 2013.
    [PDF]

  • A programming language perspective on transactional memory consistency
    Hagit Attiya, Alexey Gotsman, Sandeep Hans, and Noam Rinetzky
    PODC'13: Symposium on Principles of Distributed Computing, Montreal, Canada, pages 309-318. ACM, 2013.
    [PDF] [Extended version, PDF]

  • Tightfit: Adaptive Parallelization with Foresight
    Omer Tripp and Noam Rinetzky
    ESEC/FSE'13: Conference on the Foundations of Software Engineerinq. Saint Petersburg, Russia, pages 169-179. ACM, 2013.
    [PDF]

  • Understanding eventual consistency
    Sebastian Burckhardt, Alexey Gotsman and Hongseok Yang
    Microsoft Research Technical Report MSR-TR-2013-39
    [PDF]

  • Verifying concurrent memory reclamation algorithms with grace
    Alexey Gotsman, Noam Rinetzky, and Hongseok Yang
    ESOP'13: European Symposium on Programming, Rome, Italy, LNCS 7792, pages 249-269. Springer, 2013.
    [PDF] [Extended version, PDF]

  • Library abstraction for C/C++ concurrency
    Mark Batty, Mike Dodds, and Alexey Gotsman
    POPL'13: Symposium on Principles of Programming Languages, Rome, Italy, pages 235-248. ACM, 2013.
    [PDF] [Extended version, PDF]

  • Modular Lattices for Compositional Interprocedural Analysis
    Ghila Castelnuovo, Mayur Naik, Noam Rinetzky, Mooly Sagiv, and Hongseok Yang
    School of Computer Science, Tel Aviv University TR-103/13, 2013.
    [PDF]