-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'SIGPLAN:master' into master
- Loading branch information
Showing
89 changed files
with
9,759 additions
and
1,089 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
layout: default | ||
title: "SIGPLAN-AV" | ||
--- | ||
|
||
SIGPLAN-AV is a subcommitee of SIGPLAN whose goal is to centralize the efforts of finding innovative and cost effective ways to: | ||
1. enable remote participation (hybridization of conferences), and; | ||
2. record conference talks for archival | ||
|
||
#### Current Members | ||
|
||
1. Bhakti Shah | ||
2. Chris Lam | ||
3. Jan-Paul Ramos | ||
4. John Hui | ||
5. Zixian Cai | ||
6. Guilherme Espada | ||
7. Apoorv Ingle | ||
|
||
#### Past Members | ||
|
||
1. Lief Anderson | ||
2. Benjamin Chung (and many more) | ||
|
||
|
||
#### For general chairs | ||
|
||
<p> | ||
If you are a general chair of a SIGPLAN conference and are interested in working with SIGPLAN-AV, please email <script>document.write("<a href='"+atob("bWFpbHRvOnNpZ3BsYW4tYXZAZ29vZ2xlZ3JvdXBzLmNvbQ==")+"'>"+atob("c2lncGxhbi1hdkBnb29nbGVncm91cHMuY29t")+"</a>.")</script><noscript><img src="mail.png" border="0" height="28" width="240"><font face="Arial" size="3"><br> </font></noscript> | ||
</p> | ||
|
||
SIGPLAN owns enough hardware (laptops, cameras and microphones) which can be used to setup streaming and recording of upto 8 parallel co-located events. | ||
|
||
It is advisable to include the AV team atleast 3 months in advance, ideally before the contract with the conference venue is finalized to enable smooth functioning. | ||
|
||
|
||
#### For Prospective members | ||
|
||
If you are interested in helping us, we are always looking for more volunteers to help us at conferences! Please get in touch with us using the above email. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
layout: default | ||
title: "Certified Programs and Proofs (CPP)" | ||
--- | ||
Certified Programs and Proofs (CPP) is an international conference on practical and theoretical topics in all areas that consider formal verification and certification as an essential paradigm for their work. CPP spans areas of computer science, mathematics, logic, and education. CPP is sponsored by ACM SIGPLAN, usually in cooperation with ACM SIGLOG. | ||
|
||
**Steering Committee** | ||
|
||
* [Cătălin Hriţcu](https://catalin-hritcu.github.io) (SC Chair), MPI-SP, Germany | ||
* [Sandrine Blazy](https://people.irisa.fr/Sandrine.Blazy/), University of Rennes, France | ||
* [Adam Chlipala](http://adam.chlipala.net), MIT, USA | ||
* [Georges Gonthier](https://scholar.google.co.uk/citations?user=cbtN84wAAAAJ&hl=en), Inria, France | ||
* [Gerwin Klein](https://doclsf.de), Proofcraft and UNSW Sydney, Australia | ||
* [Robbert Krebbers](https://robbertkrebbers.nl), Radboud University Nijmegen, Netherlands | ||
* [Dale Miller](http://www.lix.polytechnique.fr/Labo/Dale.Miller/), Inria Saclay and LIX/Institut Polytechnique de Paris, France | ||
* [Tobias Nipkow](https://www21.in.tum.de/~nipkow/), Technische Universität München, Germany | ||
* [Brigitte Pientka](https://www.cs.mcgill.ca/~bpientka/), McGill University, Canada | ||
* [Zhong Shao](http://www.cs.yale.edu/homes/shao/), Yale University, USA | ||
* [Amin Timany](https://cs.au.dk/~timany/), Aarhus University, Denmark | ||
* [Dmitriy Traytel](https://traytel.bitbucket.io), University of Copenhagen, Denmark | ||
* [Steve Zdancewic](https://www.cis.upenn.edu/~stevez/), University of Pennsylvania, USA | ||
|
||
**Former SC members** | ||
|
||
* [Andrei Popescu](https://www.andreipopescu.uk), University of Sheffield, United Kingdom | ||
* [Lennart Beringer](https://www.cs.princeton.edu/~eberinge/), Princeton University, USA | ||
* [Jasmin Blanchette](https://www.tcs.ifi.lmu.de/mitarbeiter/jasmin-blanchette_de.html), Ludwig-Maximilians-Universität München, Germany | ||
* [Assia Mahboubi](https://people.rennes.inria.fr/Assia.Mahboubi/), Inria, France and Vrije Universiteit Amsterdam, Netherlands | ||
* [Magnus Myreen](https://www.cse.chalmers.se/~myreen/), Chalmers University of Technology, Sweden | ||
* [June Andronick](https://proofcraft.systems/), Proofcraft and UNSW Sydney, Australia | ||
* [Amy Felty](https://www.site.uottawa.ca/~afelty/), University of Ottawa, Canada | ||
* [Yves Bertot](https://www-sop.inria.fr/members/Yves.Bertot/research.html), Inria, France | ||
* [Viktor Vafeiadis](https://people.mpi-sws.org/~viktor/), MPI-SWS, Germany | ||
* [Jeremy Avigad](https://www.andrew.cmu.edu/user/avigad/), Carnegie Mellon University, USA | ||
* [Adam Chlipala](http://adam.chlipala.net), MIT, USA | ||
* [Xavier Leroy](https://xavierleroy.org), Collège de France, PSL University, France | ||
* [Alwen Tiu](http://users.cecs.anu.edu.au/~tiu/), Australian National University, Australia | ||
* [Michael Norrish](https://comp.anu.edu.au/people/michael-norrish/), Australian National University, Australia | ||
* [Chris Hawblitzel](https://www.microsoft.com/en-us/research/people/chrishaw/), Microsoft Research, USA | ||
* [Jean-Pierre Jouannaud](https://www.lix.polytechnique.fr/Labo/Jean-Pierre.Jouannaud/), Université de Paris-Saclay, France | ||
* [Andrew Appel](https://www.cs.princeton.edu/~appel/), Princeton University, USA | ||
* [Nikolaj Bjorner](https://www.microsoft.com/en-us/research/people/nbjorner/), Microsoft Research, USA | ||
* [John Harrison](https://www.cl.cam.ac.uk/~jrh13/), Amazon Web Services, USA | ||
|
||
--- | ||
**Previous CPP Conferences** | ||
|
||
* [CPP 2024](https://popl24.sigplan.org/home/CPP-2024), London, UK, January 15-16, 2024 (co-located with POPL’24) | ||
* [CPP 2023](https://popl23.sigplan.org/home/CPP-2023), Boston, USA, January 16-17, 2023 (co-located with POPL’23) | ||
* [CPP 2022](https://popl22.sigplan.org/home/CPP-2022), Philadelphia, USA, January 17-18, 2022 (co-located with POPL’22) | ||
* [CPP 2021](https://popl21.sigplan.org/home/CPP-2021), Online, January 17-19, 2021 (co-located with POPL’21) | ||
* [CPP 2020](https://popl20.sigplan.org/home/CPP-2020), New Orleans, USA, January 20-21, 2020 (co-located with POPL’20) | ||
* [CPP 2019](https://popl19.sigplan.org/track/CPP-2019), Cascais/Lisbon, Portugal, January 14-15, 2019 (co-located with POPL’19) | ||
* [CPP 2018](https://popl18.sigplan.org/track/CPP-2018), Los Angeles, USA, January 8-9, 2018 (co-located with POPL’18) | ||
* [CPP 2017](https://cpp2017.mpi-sws.org), Paris, France, January 16-17, 2017 (co-located with POPL’17) | ||
* [CPP 2016](https://people.csail.mit.edu/adamc/cpp16/), Saint Petersburg, Florida, USA, January 18-19, 2016 (co-located with POPL’16) | ||
* [CPP 2015](http://cpp2015.inria.fr), Mumbai, India, January 13-14, 2015 (co-located with POPL’15) | ||
* [CPP 2013](https://dblp2.uni-trier.de/db/conf/cpp/cpp2013.html), Melbourne, Australia, December 11-13, 2013 (co-located with APLAS’13) | ||
* [CPP 2012](http://cpp12.kuis.kyoto-u.ac.jp), Kyoto, Japan, December 13-15, 2012 (collocation with APLAS’12) | ||
* [CPP 2011](https://dblp.uni-trier.de/db/conf/cpp/cpp2011.html), Kenting, Taiwan, December 7-9, 2011 (co-located with APLAS’11) | ||
|
||
The official **CPP proceedings** since 2015 are publicly available via [SIGPLAN OpenTOC](http://www.sigplan.org/OpenTOC/#cpp). | ||
|
||
--- | ||
**Given Distinguished Paper Awards** | ||
|
||
* CPP 2024: [Formal Probabilistic Methods for Combinatorial Structures using the Lovász Local Lemma](https://popl24.sigplan.org/details/CPP-2024-papers/7/Formal-Probabilistic-Methods-for-Combinatorial-Structures-using-the-Lov-sz-Local-Lemma). Chelsea Edmonds and Lawrence Paulson. | ||
* CPP 2024: [Martin-Löf à la Coq](https://popl24.sigplan.org/details/CPP-2024-papers/12/Martin-L-f-la-Coq). Arthur Adjedj, Meven Lennon-Bertrand, Kenji Maillard, Pierre-Marie Pédrot, and Loïc Pujet. | ||
* CPP 2024: [Rooting for Efficiency: Mechanised Reasoning about Array-Based Trees in Separation Logic](https://popl24.sigplan.org/details/CPP-2024-papers/5/Rooting-for-Efficiency-Mechanised-Reasoning-about-Array-Based-Trees-in-Separation-Logic). Qiyuan Zhao, George Pîrlea, Zhendong Ang, Umang Mathur, and Ilya Sergey. | ||
* CPP 2023: [A Formalization of the Development Closedness Criterion for Left-Linear Term Rewrite Systems](https://popl23.sigplan.org/details/CPP-2023-papers/1/A-Formalization-of-the-Development-Closedness-Criterion-for-Left-Linear-Term-Rewrite-Systems). Christina Kohl and Aart Middeldorp. | ||
* CPP 2023: [Computing Cohomology Rings in Cubical Agda](https://popl23.sigplan.org/details/CPP-2023-papers/11/Computing-Cohomology-Rings-in-Cubical-Agda). Thomas Lamiaux, Axel Ljungström, and Anders Mörtberg. | ||
* CPP 2023: [Aesop: White-Box Best-First Proof Search for Lean](https://popl23.sigplan.org/details/CPP-2023-papers/5/Aesop-White-Box-Best-First-Proof-Search-for-Lean). Jannis Limperg, Asta Halkjær From. | ||
* CPP 2022: [Specification and Verification of a Transient Stack](https://popl22.sigplan.org/details/CPP-2022-papers/22/Specification-and-Verification-of-a-Transient-Stack). Alexandre Moine, Arthur Charguéraud, and François Pottier. | ||
* CPP 2022: [CertiStr: A Certified String Solver](https://popl22.sigplan.org/details/CPP-2022-papers/10/CertiStr-A-Certified-String-Solver). Shuanglong Kan, Anthony Widjaja Lin, Philipp Ruemmer, and Micha Schrader. | ||
* CPP 2022: [Semantic cut elimination for the logic of bunched implications, formalized in Coq](https://popl22.sigplan.org/details/CPP-2022-papers/21/Semantic-cut-elimination-for-the-logic-of-bunched-implications-formalized-in-Coq). Dan Frumin. | ||
* CPP 2021: [A Minimalistic Verified Bootstrapped Compiler (Proof Pearl)](https://popl21.sigplan.org/details/CPP-2021/6/A-Minimalistic-Verified-Bootstrapped-Compiler-Proof-Pearl-). Magnus O. Myreen. | ||
* CPP 2021: [Formalizing the Ring of Witt Vectors](https://popl21.sigplan.org/details/CPP-2021/10/Formalizing-the-Ring-of-Witt-Vectors). Johan Commelin and Robert Y. Lewis. | ||
* CPP 2021: [Machine-Checked Semantic Session Typing](https://popl21.sigplan.org/details/CPP-2021/5/Machine-Checked-Semantic-Session-Typing). Jonas Kastberg Hinrichsen, Daniël Louwrink, Robbert Krebbers, and Jesper Bengtson. | ||
|
||
**Given Amazing Reviewer Awards** | ||
|
||
* CPP 2023: [Théo Winterhalter](https://theowinterhalter.github.io), Inria, France | ||
* CPP 2023: [Anja Petković Komel](https://anjapetkovic.com), TU Wien, Austria | ||
* CPP 2022: [Armaël Guéneau](http://cambium.inria.fr/~agueneau/), Inria, France | ||
* CPP 2021: [Kathrin Stark](https://www.k-stark.de), Heriot-Watt University, UK | ||
|
||
--- | ||
**The CPP Manifesto (from 2011)** | ||
|
||
In this manifesto, we advocate for the creation of a new international conference in the area of formal methods and programming languages, called Certified Programs and Proofs (CPP). Certification here means formal, mechanized verification of some sort, preferably with the production of independently checkable certificates. CPP would target any research promoting formal development of certified software and proofs, that is: | ||
|
||
The development of certified or certifying programs | ||
The development of certified mathematical theories | ||
The development of new languages and tools for certified programming | ||
New program logics, type systems, and semantics for certified code | ||
New automated or interactive tools and provers for certification | ||
Results assessed by an original open source formal development | ||
Original teaching material based on a proof assistant | ||
Software today is still developed without precise specification. A developer often starts the programming task with a rather informal specification. After careful engineering, the developer delivers a program that may not fully satisfy the specification. Extensive testing and debugging may shrink the gap between the two, but there is no assurance that the program accurately follows the specification. Such inaccuracy may not always be significant, but when a developer links a large number of such modules together, these “noises” may multiply, leading to a system that nobody can understand and manage. System software built this way often contains hard-to-find “zero-day vulnerabilities” that become easy targets for Stuxnet-like attacks. CPP aims to promote the development of new languages and tools for building certified programs and for making programming precise. | ||
|
||
Certified software consists of an executable program plus a formal proof that the software is free of bugs with respect to a particular dependability claim. With certified software, the dependability of a software system is measured by the actual formal claim that it is able to certify. Because the claim comes with a mechanized proof, the dependability can be checked independently and automatically in an extremely reliable way. The formal dependability claim can range from making almost no guarantee, to simple type safety property, or all the way to deep liveness, security, and correctness properties. It provides a great metric for comparing different techniques and making steady progress in constructing dependable software. | ||
|
||
The conventional wisdom is that certified software will never be practical because any real software must also rely on the underlying runtime system which is too low-level and complex to be verifiable. In recent years, however, there have been many advances in the theory and engineering of mechanized proof systems applied to verification of low-level code, including proof-carrying code, certified assembly programming, local reasoning and separation logic, certified linking of heterogeneous components, certified protocols, certified garbage collectors, certified or certifying compilation, and certified OS-kernels. CPP intends to be a driving force that would facilitate the rapid development of this exciting new area, and be a natural international forum for such work. | ||
|
||
The recent development in several areas of modern mathematics requires mathematical proofs containing enormous computation that cannot be verified by mathematicians in an entire lifetime. Such development has puzzled the mathematical community and prompted some of our colleagues in mathematics and computer science to start developing a new paradigm, formal mathematics, which requires proofs to be verified by a reliable theorem prover. As particular examples, such an effort has been made for the four-color theorem and has started for the sphere packing problem and the classification of finite groups. We believe that this emerging paradigm is the beginning of a new era. No essential existing theorem in computer science has yet been considered worth a similar effort, but it could well happen in the very near future. For example, existing results in security would often benefit from a formal development allowing us to exhibit the essential hypotheses under which the result really holds. CPP would again be a natural international forum for this kind of work, either in mathematics or in computer science, and would participate strongly in the emergence of this paradigm. | ||
|
||
On the other hand, there is a recent trend in computer science to formally prove new results in highly technical subjects such as computational logic, at least in part. In whichever scientific area, formal proofs have three major advantages: no assumption can be missing, as is sometimes the case; the result cannot be disputed by a wrong counterexample, as sometimes happens; and more importantly, a formal development often results in a better understanding of the proof or program, and hence results in easier and better implementation. This new trend is becoming strong in computer science work, but is not recognized yet as it should be by traditional conferences. CPP would be a natural forum promoting this trend. | ||
|
||
There are not many proof assistants around. There should be more, because progress benefits from competition. On the other hand, there is much theoretical work that could be implemented in the form of a proof assistant, but this does not really happen. One reason is that it is hard to publish a development work, especially when this requires a long-term effort as is the case for a proof assistant. It is even harder to publish work about libraries which, we all know, are fundamental for the success of a proof assistant. CPP would pay particular attention in publishing, publicizing, and promoting this kind of work. | ||
|
||
Finally, CPP also aims to be a publication arena for innovative teaching experiences, in computer science or mathematics, using proof assistants in an essential way. These experiences could be submitted in an innovative format to be defined. |
Oops, something went wrong.