Winter Systems School on Program Analysis and Optimization, IITD
About
We are excited to host the second winter systems school during 4-8 December 2023 at CSE, IIT Delhi. We will study classic and contemporary topics in program analysis and optimization, taught by Sorav Bansal and Kumar Madhukar. The school will have a series of guest lectures, on symbolic execution and fuzzing, and their application to neural network analysis, by Subhajit Roy.
Inaugural talk by Ranjit Jhala on “Flux: A Language Integrated Verifier for Rust”
December 4th, 9-10:30 am (delivered virtually)
The last few decades have seen great strides in various technologies for analyzing programs. However, we believe these technologies will only become ubiquitous if they can be seamlessly integrated within programming languages with mature compilers, libraries and tools, so that programmers can use them continuously throughout the software development lifecycle (and not just as a means of post-facto validation.)
In this talk, we will describe Flux: a new language integrated verifier for the Rust programming language that lets the programmer write specifications — by combining logical refinements with Rust’s ownership mechanisms — which permits automatic verification using a combination of SMT and abstract interpretation.
We demonstrate the advantages of refinement types by using a suite of benchmarks to compare Flux with classical program logic based approaches as implemented in the state-of-the-art Prusti verifier. We show that by exploiting language structure to factor complex program invariants into simple types and refinements, Flux can make verification ergonomic by slashing specification lines by a factor of two, verification time by an order of magnitude, and the programmer’s annotation overhead from up to 24% of code size (average 14%), to nothing at all.
Tentative schedule:
4th Dec | 0900-1030 Inaugural Talk (Ranjit Jhala) |
1030-1100 Tea/Coffee |
1100-1230 Introductory Sessions (30 mins for every speaker) |
1230-1400 Lunch |
1430-1700 Lab |
5th Dec | 0900-1030 Session I (Sorav Bansal) |
1030-1100 Tea/Coffee |
1100-1230 Session II (Sorav Bansal) |
1230-1400 Lunch |
1430-1700 Lab |
6th Dec | 0900-1030 Session I (Subhajit Roy) |
1030-1100 Tea/Coffee |
1100-1230 Session II (Subhajit Roy) |
1230-1400 Lunch |
1430-1700 Lab |
7th Dec | 0900-1030 Session I (Kumar Madhukar) |
1030-1100 Tea/Coffee |
1100-1230 Session II (Kumar Madhukar) |
1230-1400 Lunch |
1430-1700 Lab |
8th Dec | 0900-1000 Concluding Session I (Kumar Madhukar) |
1000-1030 Tea/Coffee |
1030-1230 Concluding Session II (Subhajit Roy) Concluding Session III (Sorav Bansal) |
1230-1400 Lunch |
List of topics (speaker-wise):
-
Sorav Bansal: Introduction to logic, Hoare logic, Weakest precondition, Automatic invariant inference, Equivalence checking, Superoptimization: slides1, slides2, labs, demo-files: strlen_src.c, strlen_dst.c, s119.c, s119.s, bzip2.c
-
Subhajit Roy: Program Testing Fundamentals, Symbolic Execution, Symbolic Execution for testing Neural Networks, Neural network guided testing of Software Systems: slides, labs
-
Kumar Madhukar: Formal Verification of Deep Neural Networks, Abstraction-Refinement Techniques, Pruning and Slicing of DNNs, Verifying Learning-Augmented Systems, Recurrent, Convolutional, and Binarized Neural Networks, Explainability: introductory-slides, lecture-slides, lab, lab2
Submit your lab answers
Please use this Google form to submit your lab answers.
Submit your feedback on WSS23
Please use this Google form to submit your feedback on WSS23.
Logistics
- Dates: 4-8 December 2023
- Venue: The talks will be in Room 501 on the fourth floor of the Bharti Building and the labs will be held in Room LH504 on the fifth floor of the Lecture hall complex.
- Accommodation We will try and provide hostel accommodation to the selected participants during 3-8 December 2023. You will need to check-out before lunch on 9th December 2023. Please be aware that the availability of hostel accommodation depends on several external factors that are beyond our control. While we expect everyone to be able to get hostel accommodation, do not assume this until you receive a confirmation from us. We will do our best to confirm this (for the selected participants) as soon as possible.
- After winter school: Interested students will be encouraged to apply for internships at IIT Delhi during eight weeks of summer 2024. Stipend will be offered to cover living and stay expenses in the IIT hostel during the internship.
Please note that we will NOT give any certificate of completion and will NOT provide recommendation letters to graduate schools or otherwise for participating in the school.
Application process
The typical profile of a participant will be a final-year undergraduate student or a post-graduate (Masters/PhD) student or an industry professional interested in getting introduced to advanced topics in program analysis and optimization.
Please fill the form at this link before 11:59pm on 31st October 12th November 2023 to apply to attend the Winter school. The form requires you to read a paper/blog, and write what you understood from it. Please budget at least two days for this.