News

Programming Languages & Verification

Otto Hahn Medal awarded to two MPI-SWS students

Ralf Jung and Bilal Zafar have each been awarded a 2021 Otto Hahn Medal for outstanding scientific achievement. The Max Planck Society awards the Otto Hahn Medal annually to young scientists in recognition of outstanding scientific achievement. Ralf was awarded the medal for his work on the first formal foundations for the cutting-edge systems programming language Rust, while Bilal was awarded the medal for his work on developing responsible and trustworthy AI systems that can help reduce discrimination and polarisation in society. …
Ralf Jung and Bilal Zafar have each been awarded a 2021 Otto Hahn Medal for outstanding scientific achievement. The Max Planck Society awards the Otto Hahn Medal annually to young scientists in recognition of outstanding scientific achievement. Ralf was awarded the medal for his work on the first formal foundations for the cutting-edge systems programming language Rust, while Bilal was awarded the medal for his work on developing responsible and trustworthy AI systems that can help reduce discrimination and polarisation in society. Ralf obtained his PhD in August 2020, and was advised by Derek Dreyer. Ralf is now a postdoc at MPI-SWS and research affiliate at MIT. Bilal obtained his PhD in February 2019, and was advised by Krishna Gummadi and Manuel Gomez Rodriguez. Bilal is now an Applied Scientist at Amazon Web Services.
Read more

MPI-SWS researchers receive multiple awards at ETAPS

MPI-SWS researchers Rupak Majumdar, Ramanathan S. Thinniyam, and Georg Zetzsche have received the EAPLS Best Paper Award for their TACAS 2021 paper: General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond.

In addition, a TACAS 2021 paper by Rosa Abbasi and Eva Darulova (along with their collaborators  Jonas Schiffl, Mattias Ulbrich, and Wolfgang Ahrendt) was one of only a handful of papers nominated for the EAPLS Best Paper Award: Deductive Verification of Floating-Point Java Programs in KeY. …
MPI-SWS researchers Rupak Majumdar, Ramanathan S. Thinniyam, and Georg Zetzsche have received the EAPLS Best Paper Award for their TACAS 2021 paper: General Decidability Results for Asynchronous Shared-Memory Programs: Higher-Order and Beyond.


In addition, a TACAS 2021 paper by Rosa Abbasi and Eva Darulova (along with their collaborators  Jonas Schiffl, Mattias Ulbrich, and Wolfgang Ahrendt) was one of only a handful of papers nominated for the EAPLS Best Paper Award: Deductive Verification of Floating-Point Java Programs in KeY.


Lastly, Michael Sammler and Rodolphe Lepigre received the Most Distinguished Tool Feature Award in the 2021 VerifyThis Competition, for their RefinedC entry, which was cited for supporting automated verification of C programs in Iris/Coq.
Read more

ETAPS dissertation award and CACM article for Ralf Jung and his work on Rust

Ralf Jung's doctoral dissertation on "Understanding and Evolving the Rust Programming Language" has received the ETAPS Doctoral Dissertation Award for 2021. The award is given to the PhD student who has made the most original and influential contribution to the research areas in the scope of the ETAPS conferences, and has graduated in 2021 at a European academic institution. Ralf was advised by MPI-SWS faculty member Derek Dreyer.

A committee of international experts evaluated candidate dissertations with respect to originality, …
Ralf Jung's doctoral dissertation on "Understanding and Evolving the Rust Programming Language" has received the ETAPS Doctoral Dissertation Award for 2021. The award is given to the PhD student who has made the most original and influential contribution to the research areas in the scope of the ETAPS conferences, and has graduated in 2021 at a European academic institution. Ralf was advised by MPI-SWS faculty member Derek Dreyer.

A committee of international experts evaluated candidate dissertations with respect to originality, relevance, and impact to the field, as well as the quality of writing. The committee found that Dr. Ralf Jung's dissertation is very well-written and makes several highly original contributions in the area of programming language semantics and verification. The committee was also particularly impressed by the dissertation for its technical depth, the quality and quantity of the associated published work, as well as its relevance and impact both in academia and industry.

Ralf's work on Rust was also featured in a recent Communications of the ACM article: Safe Systems Programming in Rust by Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, and Derek Dreyer. The article appeared in the April 2021 issue of CACM, together with a short video about this work produced by ACM.

Read more

Filip Niksic awarded ACM SIGPLAN John C. Reynolds Dissertation Award

Filip Niksic's thesis on "Combinatorial Constructions for Effective Testing" has won the John C. Reynolds Doctoral Dissertation Award for 2020. This is an annual award given by ACM SIGPLAN for a doctoral dissertation in the field of programming languages. Filip was advised by MPI-SWS faculty member Rupak Majumdar.

The award citation reads as follows: Soundness is at the core of most programming language verification techniques. On the other hand, random testing is one of the most commonly used techniques for analyzing software. …
Filip Niksic's thesis on "Combinatorial Constructions for Effective Testing" has won the John C. Reynolds Doctoral Dissertation Award for 2020. This is an annual award given by ACM SIGPLAN for a doctoral dissertation in the field of programming languages. Filip was advised by MPI-SWS faculty member Rupak Majumdar.

The award citation reads as follows: Soundness is at the core of most programming language verification techniques. On the other hand, random testing is one of the most commonly used techniques for analyzing software. Developing a theory of soundness for random testing is therefore a very important goal, but very few results existed before this thesis.Randomized techniques are seldom used in (sound) program analyses, which means that addressing the problem required the development of new ways to approaching it. Filip Niksic's thesis is among the first to apply deep techniques from randomized algorithms and combinatorics to the problem of understanding and explaining the effectiveness of random testing. Moreover, the theory helps with the design of new random testing approaches. The thesis addresses a hard problem, brining in novel theory from outside programming languages, and proving hard theorems. As scientists, when we see a phenomenon that we cannot immediately explain (in this case, the effectiveness of random testing), we should try to build a scientific explanation. For some problems, including random testing, it is unclear that one can actually formulate a precise theory, because the "real world" is extremely messy. The fact that Filip Niksic is able to formulate such problems precisely and prove nontrivial theorems about them is surprising and opens the door to a new field.
Read more

Anne-Kathrin Schmuck receives Emmy Noether Award

September 2020
Anne-Kathrin Schmuck, a postdoctoral fellow in the Rigorous Software Engineering group, was accepted to the Emmy Noether Programme of the German Science Foundation (DFG). This grant programme is the most prestigious programme for early career researchers from the DFG. It provides funding for an independent research group for a period of six years.

Anne-Kathrin's group will be hosted at MPI-SWS in Kaiserslautern and will develop automated modular synthesis techniques for reliable Cyber-Physical System (CPS) design. …
Anne-Kathrin Schmuck, a postdoctoral fellow in the Rigorous Software Engineering group, was accepted to the Emmy Noether Programme of the German Science Foundation (DFG). This grant programme is the most prestigious programme for early career researchers from the DFG. It provides funding for an independent research group for a period of six years.

Anne-Kathrin's group will be hosted at MPI-SWS in Kaiserslautern and will develop automated modular synthesis techniques for reliable Cyber-Physical System (CPS) design. Her work draws inspiration from both Control Theory and Computer Science and centers around Reactive Synthesis, Supervisory Control Theory and Abstraction-Based Controller Design.
Read more

Max Planck researchers publish 17 papers at LICS/ICALP 2020

Researchers from the Max Planck Institute for Software Systems (MPI-SWS), the Max Planck Institute for Informatics (MPI-INF), and the Max Planck Institute for Security and Privacy (MPI-SP) have coauthored 17 papers at the colocated LICS 2020 and ICALP 2020, two of the top conferences in theoretical computer science. LICS is the premier conference on logic in computer science and ICALP is the flagship conference of the European Association for Theoretical Computer Science. …
Researchers from the Max Planck Institute for Software Systems (MPI-SWS), the Max Planck Institute for Informatics (MPI-INF), and the Max Planck Institute for Security and Privacy (MPI-SP) have coauthored 17 papers at the colocated LICS 2020 and ICALP 2020, two of the top conferences in theoretical computer science. LICS is the premier conference on logic in computer science and ICALP is the flagship conference of the European Association for Theoretical Computer Science.

MPI-SWS papers:

  1. Invariants for Continuous Linear Dynamical Systems. Shaull Almagor, Edon Kelmendi, Joël Ouaknine and James Worrell. ICALP 2020, Track B. [ Video | Paper]

  2. The complexity of bounded context switching with dynamic thread creation. Pascal Baumann, Rupak Majumdar, Ramanathan Thinniyam Srinivasan and Georg Zetzsche. ICALP 2020, Track B. [ Video | Paper ]

  3. Extensions of ω-Regular Languages. Mikołaj Bojańczyk, Edon Kelmendi, Rafał Stefański and Georg Zetzsche. LICS 2020. [ Video | Paper ]

  4. Rational subsets of Baumslag-Solitar groups. Michaël Cadilhac, Dmitry Chistikov and Georg Zetzsche. ICALP 2020, Track B. [ Video | Paper ]

  5. On polynomial recursive sequences. Michaël Cadilhac, Filip Mazowiecki, Charles Paperman, Michał Pilipczuk and Géraud Sénizergues. ICALP 2020, Track B. [ Video | Paper ]

  6. An Approach to Regular Separability in Vector Addition Systems. Wojciech Czerwiński and Georg Zetzsche. LICS 2020. [ Video | Paper ]

  7. The complexity of knapsack problems in wreath products. Michael Figelius, Moses Ganardi, Markus Lohrey and Georg Zetzsche. ICALP 2020, Track B. [ Video | Paper ]

  8. The Complexity of Verifying Loop-free Programs as Differentially Private. Marco Gaboardi, Kobbi Nissim and David Purser. ICALP 2020, Track B. [ Video | Paper ]

  9. On Decidability of Time-bounded Reachability in CTMDPs. Rupak Majumdar, Mahmoud Salamati and Sadegh Soudjani. ICALP 2020, Track B. [ Video | Paper ]


MPI-INF papers:

  1. Scheduling Lower Bounds via AND Subset Sum. Amir Abboud, Karl Bringmann, Danny Hermelin and Dvir Shabtay. ICALP 2020, Track A.  [ Video | Paper ]

  2. Faster Minimization of Tardy Processing Time on a Single Machine. Karl Bringmann, Nick Fischer, Danny Hermelin, Dvir Shabtay and Philip Wellnitz. ICALP 2020, Track A. [ Video | Paper ]

  3. Hitting Long Directed Cycles is Fixed-Parameter Tractable. Alexander Göke, Dániel Marx and Matthias Mnich. ICALP 2020, Track A. [ Video | Paper ]

  4. A (2 + ε)-Factor Approximation Algorithm for Split Vertex Deletion. Daniel Lokshtanov, Pranabendu Misra, Fahad Panolan, Geevarghese Philip and Saket Saurabh. ICALP 2020, Track A. [ Video | Paper ]

  5. Hypergraph Isomorphism for Groups with Restricted Composition Factors. Daniel Neuen. ICALP 2020, Track A. [ Video | Paper ]

  6. Deterministic Sparse Fourier Transform with an l∞ Guarante. Yi Li and Vasileios Nakos. ICALP 2020, Track A. [ Video | Paper ]


MPI-SP papers:

  1. Deciding Differential Privacy for Programs with Finite Inputs and Outputs. Gilles Barthe, Rohit Chadha, Vishal Jagannath, A. Prasad Sistla and Mahesh Viswanathan. LICS 2020. [ Video | Paper ]

  2. Universal equivalence and majority on probabilistic programs over finite fields. Charlie Jacomme, Steve Kremer and Gilles Barthe. LICS 2020. [ Video | Paper ]

Read more

MPI-SWS student receives Google Scholarship

Michael Sammler was awarded a 2020 Google PhD Fellowship (in Systems and Networking) to fund his doctoral research on RefinedC, a Coq-based
framework for automating the foundational verification of systems code using refinement and ownership types. The Google PhD Fellowship
Program was created to recognize outstanding graduate students doing exceptional and innovative research in areas relevant to computer
science and related fields. Michael, who is advised by Deepak Garg and Derek Dreyer, was one of only 53 recipients worldwide in 2020. …
Michael Sammler was awarded a 2020 Google PhD Fellowship (in Systems and Networking) to fund his doctoral research on RefinedC, a Coq-based
framework for automating the foundational verification of systems code using refinement and ownership types. The Google PhD Fellowship
Program was created to recognize outstanding graduate students doing exceptional and innovative research in areas relevant to computer
science and related fields. Michael, who is advised by Deepak Garg and Derek Dreyer, was one of only 53 recipients worldwide in 2020.

Link: https://research.google/outreach/phd-fellowship/
Read more

Research Spotlight: Software Engineering for Machine Learning

Due to the impressive advances in Machine Learning and the unlimited availability of data, neural networks are rapidly becoming prevalent in our everyday lives, for instance by assisting in image-classification or decision-making tasks. As a result, there is growing concern regarding the reliability of neural networks in performing these tasks. In particular, it could be disastrous if an autonomous vehicle misclassifies a street sign, or if a recidivism-risk algorithm, which predicts whether a criminal is likely to re-offend, …
Due to the impressive advances in Machine Learning and the unlimited availability of data, neural networks are rapidly becoming prevalent in our everyday lives, for instance by assisting in image-classification or decision-making tasks. As a result, there is growing concern regarding the reliability of neural networks in performing these tasks. In particular, it could be disastrous if an autonomous vehicle misclassifies a street sign, or if a recidivism-risk algorithm, which predicts whether a criminal is likely to re-offend, is unfair with respect to race.

In the Practical Formal Methods group at MPI-SWS, we have recently focused on applying techniques from Software Engineering, including static analysis and test generation, to validate and verify properties of neural networks, such as robustness and fairness. In the following, we give a brief overview of three research directions we have been pursuing in this setting.

Blackbox Fuzzing of Neural Networks

By now, it is well known that even very subtle perturbations of a correctly classified image, such as a street sign, could cause a neural network to classify the new image differently. Such perturbed images are referred to as adversarial inputs and pose a critical threat to important applications of Machine Learning, like autonomous driving.

In our group, we recently developed DeepSearch [1], a blackbox-fuzzing technique that generates adversarial inputs for image-classification neural networks. Starting from a correctly classified image, DeepSearch strategically mutates its pixels such that the resulting image is more likely to be adversarial. By using spatial regularities of images, DeepSearch is able to generate adversarial inputs, while only querying the neural network very few times, which entails increased performance of our technique. Moreover, through a refinement step, DeepSearch further reduces the already subtle pixel perturbations of an adversarial input.

Adversarial-Input Detection for Neural Networks

To protect neural networks against adversarial inputs, we have developed RAID [2], a runtime-monitoring technique for detecting whether an input to a neural network is adversarial. Our technique consists of training a secondary classifier to identify differences in neuron activation values between correctly classified and adversarial inputs. RAID is effective in detecting adversarial inputs across a wide range of adversaries even when it is completely unaware of the type of adversary. In addition, we show that there is a simple extension to RAID that allows it to detect adversarial inputs even when these are generated by an adversary that has access to our detection mechanism.

Fairness Certification of Neural Networks

Several studies have recently raised concerns about the fairness of neural networks. To list a few examples, commercial recidivism-risk and health-care systems have been found to be racially biased. There is also empirical evidence of gender bias in image searches, for instance when searching for “CEO”. And facial-recognition systems, which are increasingly used in law enforcement, have been found biased with respect to both gender and race. Consequently, it is critical that we design tools and techniques for certifying fairness of neural networks or characterizing their bias.

We make an important step toward meeting these needs by designing the LIBRA static-analysis framework [3] for certifying causal fairness of neural networks used for classification of tabular data. In particular, given input features considered sensitive to bias, a neural network is causally fair if its output classification is not affected by different values of the sensitive features. On a high level, our approach combines a forward and a backward static analysis. The forward pass aims to divide the input space into independent partitions such that the backward pass is able to effectively determine fairness of each partition. For the partitions where certification succeeds, LIBRA provides definite (in contrast to probabilistic) fairness guarantees; otherwise, it describes the input space for which bias occurs. We have designed this approach to be sound and configurable with respect to scalability and precision, thus enabling pay-as-you-go fairness certification.

References

[1] Fuyuan Zhang, Sankalan Pal Chowdhury and Maria Christakis. DeepSearch: Simple and Effective Blackbox Fuzzing of Deep Neural Networks. CoRR abs/1910.06296, 2019.

[2] Hasan Ferit Eniser, Maria Christakis and Valentin Wüstholz. RAID: Randomized Adversarial-Input Detection for Neural Networks. CoRR abs/2002.02776, 2020.

[3] Caterina Urban, Maria Christakis, Valentin Wüstholz and Fuyuan Zhang. Perfectly Parallel Fairness Certification of Neural Networks. CoRR abs/1912.02499, 2019.
Read more

Azalea Raad accepts faculty position at Imperial College London

March 2020
Azalea Raad, postdoctoral fellow in the Software Analysis and Verification Group and the Foundations of Programming Group, has accepted a position as Lecturer in the Department of Computing at Imperial College London. Congratulations Azalea!

Azalea's research is in the area of programming languages and verification, spanning several topics including non-volatile memory, persistency semantics, weak memory models, stateless model checking and program logics. You can read more about her work here.

Research Spotlight: Logic and Learning

Software systems have become ubiquitous in our modern world and, consequently, so have bugs and glitches. While many software failures are harmless and often merely annoying, some can have catastrophic consequences. Just imagine the dire results of an autonomous car failing to stop at a red traffic light or a plane's control system becoming unresponsive during takeoff or landing.

In our research, we address these problems and develop intelligent tools that help engineers to build safe and reliable hardware, …
Software systems have become ubiquitous in our modern world and, consequently, so have bugs and glitches. While many software failures are harmless and often merely annoying, some can have catastrophic consequences. Just imagine the dire results of an autonomous car failing to stop at a red traffic light or a plane's control system becoming unresponsive during takeoff or landing.

In our research, we address these problems and develop intelligent tools that help engineers to build safe and reliable hardware, software, and cyber-physical systems. To this end, we employ a unique and promising strategy, which has recently also regained major attention in the artificial intelligence community: combining inductive techniques from the area of machine learning and deductive techniques from the area of mathematical logic (e.g., see the recent Dagstuhl seminar on "Logic and Learning", which was co-organized by one of our group members). Specifically, our research revolves around three topics, to which the remainder of this article is devoted: verification, synthesis, and formal specification languages.

Verification


Verification is an umbrella term referring to tools and techniques that formally prove that a given system satisfies its specification. In the context of software, a popular approach is deductive verification. The idea is easy to describe: first, the given program is augmented with annotations (typically loop invariants, pre-/post-conditions of method calls, and shape properties of data structures), which capture the developer's intent and facilitate the deductive reasoning in a later step; second, the program, together with its annotations, is translated into formulas in a suitable logic, called verification conditions; third, the verification conditions are checked for validity using automated theorem provers. Thanks to brilliant computer scientists, such as Edsger Dijkstra and Tony Hoare, as well as recent advances in constraint solving, the latter two steps can be (almost) entirely automated. However, the first step still remains a manual, error-prone task that requires significant training, experience, and ingenuity. In fact, this is one of the main obstacles preventing a widespread adaptation of formal verification in practice.

To also automate the challenging first step, we have developed a novel approach, called ICE learning [1], which intertwines inductive and deductive reasoning. The key idea is to pit a (deductive) program verifier against an (inductive) learning algorithm, whose goal is to infer suitable annotations from test-runs of the program and failed verification attempts. The actual learning proceeds in rounds. In each round, the learning algorithm proposes candidate annotations based on the data it has gathered so far. The program verifier then tries to prove the program correct using the proposed annotations. If the verification fails, the verifier reports data back to the learning algorithm explaining why the verification has failed. Based on this new information, the learning algorithm refines its conjecture and proceeds to the next round. The loop stops once the annotations are sufficient to prove the program correct.

ICE learning has proven to be a very powerful approach that allows fully automatic verification of a wide variety of programs, ranging from recursive and concurrent programs over numeric data types [1], to algorithms manipulating dynamically allocated data structures [2], to industry-size GPU kernels [3]. In addition, the principles underlying ICE learning can be lifted to other challenging verification tasks, such as the verification of parameterized systems [4] as well as—in ongoing research—to the verification of cyber-physical and AI-based systems. You might want to try a demo immediately in your browser.

Synthesis


Synthesis goes beyond verification and could be considered the holy grail of computer science. In contrast to checking whether a hand-crafted program meets its specification, the dream is to fully automatically generate software (or a circuit for that matter) from specifications in a correct-by-construction manner.

Although this dream is unrealistic in its whole generality, there exist various application domains in which automated synthesis techniques have been applied with great success. In our own research, for instance, we have developed techniques for synthesizing safety controllers for reactive, cyber-physical systems that have to interact with a complex–and perhaps only partially known–environment [5, 6]. Moreover, we have proposed a general framework for generating loop-free code from input-output examples and specifications written in first-order logic [7]. Similar to ICE learning, these methods combine inductive and deductive reasoning, thereby unveiling and exploiting synergies of modern machine learning algorithms and highly-optimized symbolic reasoning engines.

Formal Specification Languages


Both verification and synthesis rely on the ability to write correct formal specifications, which have to precisely capture the engineer’s intuitive understanding of the system in question. In practice, however, formalizing the requirements of a system is notoriously difficult, and it is well known that the use of standard formalisms such as temporal logics requires a level of sophistication that many users might never develop.

We have recently started a new research project to combat this serious obstacle. Its main objective is to design algorithms that learn formal specifications in interaction with human engineers. As a first step towards this goal, we have developed a learning algorithm for the specification language “Linear Temporal Logic (LTL)”, which is the de facto standard in many verification and synthesis applications. You might think of this algorithm as a recommender system for formal specifications: the human engineer provides examples of the desired and undesired behavior of the system in question, while the recommender generates a series of LTL specifications that are consistent with the given examples; the engineer can then either chose one of the generated specifications or provide additional examples and rerun the recommender.

In ongoing research, we are extending our learning algorithm to a wide range of other specification languages, including Computational Tree Logic, Signal Temporal Logic, and the Property Specification Language. Moreover, we are developing feedback mechanisms that allow for a tighter integration of the human engineer into the loop. Again, you can try our technology immediately in your browser.

References


[1] D’Souza, Deepak; Ezudheen, P.; Garg, Pranav; Madhusudan, P.; Neider, Daniel: Horn-ICE Learning for Synthesizing Invariants and Contracts. In: Proceedings of the ACM on Programming Languages (PACMPL), volume 2 issue OOPSLA, pages 131:1–131:25. ACM, 2018.

[2] Neider, Daniel; Madhusudan, P.; Garg, Pranav; Saha, Shambwaditya; Park, Daejun: Invariant Synthesis for Incomplete Verification Engines. In: 24th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2018), volume 10805 of Lecture Notes in Computer Science, pages 232–250. Springer, 2018

[3] Neider, Daniel; Saha, Shambwaditya; Garg, Pranav; Madhusudan, P.: Sorcar: Property-Driven Algorithms for Learning Conjunctive Invariants. In: 26th International Static Analysis Symposium (SAS 2019), volume 11822 of Lecture Notes in Computer Science, pages 323–346. Springer, 2019

[4] Neider, Daniel; Jansen, Nils: Regular Model Checking Using Solver Technologies and Automata Learning. In: 5th International NASA Formal Method Symposium (NFM 2013), volume 7871 of Lecture Notes in Computer Science, pages 16–31. Springer, 2013

[5] Neider, Daniel; Topcu, Ufuk: An Automaton Learning Approach to Solving Safety Games over Infinite Graphs. In: 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2016), volume 9636 of Lecture Notes in Computer Science, pages 204–221. Springer, 2016

[6] Neider, Daniel; Markgraf, Oliver: Learning-based Synthesis of Safety Controllers. In: 2019 International Conference on Formal Methods in Computer Aided Design (FMCAD 2019), pages 120–128. IEEE, 2019

[7] Neider, Daniel; Saha, Shambwaditya; Madhusudan, P.: Synthesizing Piece-wise Functions by Learning Classifiers. In: 22nd International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2016), volume 9636 of Lecture Notes in Computer Science, pages 186–203. Springer, 2016

[8] Neider, Daniel; Gavran, Ivan: Learning Linear Temporal Properties. In: 2018 International Conference on Formal Methods in Computer Aided Design (FMCAD 2018), pages 148–157. IEEE, 2018
Read more

MPI-SWS student receives best presentation award at the iFM'19 PhD Symposium

December 2019
Debasmita Lohar, a doctoral student at MPI-SWS, has received an award for the best presentation at the iFM 2019 PhD Symposium. The award was given for her talk on "Sound Probabilistic Numerical Error Analysis.”

Max Planck researchers publish 8 papers at POPL 2020 + a new record!

Researchers from the Max Planck Institute for Software Systems (MPI-SWS) and the new Max Planck Institute for Security and Privacy (MPI-SP) have authored a total of 8 papers accepted to POPL 2020 (over 10% of all accepted papers).  This is the third year in a row that MPI-SWS researchers have published 5 papers in POPL.  Furthermore, MPI-SWS faculty member Derek Dreyer is the first person ever to publish 4 papers in a single POPL.  …
Researchers from the Max Planck Institute for Software Systems (MPI-SWS) and the new Max Planck Institute for Security and Privacy (MPI-SP) have authored a total of 8 papers accepted to POPL 2020 (over 10% of all accepted papers).  This is the third year in a row that MPI-SWS researchers have published 5 papers in POPL.  Furthermore, MPI-SWS faculty member Derek Dreyer is the first person ever to publish 4 papers in a single POPL.  Congratulations to all our POPL authors!

MPI-SWS papers:

  • The Future is Ours: Prophecy Variables in Separation Logic. Ralf Jung, Rodolphe Lepigre, Gaurav Parthasarathy, Marianna Rapoport, Amin Timany, Derek Dreyer, Bart Jacobs. [pdf]

  • The High-Level Benefits of Low-Level Sandboxing. Michael Sammler, Deepak Garg, Derek Dreyer, Tadeusz Litak. [pdf]

  • Persistency Semantics of the Intel-x86 Architecture. Azalea Raad, John Wickerson, Gil Neiger, Viktor Vafeiadis. [pdf]

  • RustBelt Meets Relaxed Memory. Hoang-Hai Dang, Jacques-Henri Jourdan, Jan-Oliver Kaiser, Derek Dreyer. [pdf]

  • Stacked Borrows: An Aliasing Model for Rust. Ralf Jung, Hoang-Hai Dang, Jeehoon Kang, Derek Dreyer. [pdf]


MPI-SP papers:

  • Formal Verification of a Constant-Time Preserving C Compiler. Gilles Barthe, Sandrine Blazy, Benjamin Gregoire, Rémi Hutin, Vincent Laporte, David Pichardie, Alix Trieu. [pdf]

  • A Probabilistic Separation Logic. Gilles Barthe, Justin Hsu, Kevin Liao. [pdf]

  • Relational Proofs for Quantum Programs. Gilles Barthe, Justin Hsu, Mingsheng Ying, Nengkun Yu, Li Zhou. [pdf]

Read more

Former MPI-SWS postdoc receives ERC starting grant

September 2019
Ori Lahav was awarded an ERC starting grant on "Verification-Aware Programming Language Concurrency Semantics".  Ori was formerly a postdoctoral fellow in the Software Analysis and Verification group, and is now a tenure-track faculty member at Tel Aviv University. Read more about this year's ERC Starting Grants here.

Advanced Automata Theory Course at TU Kaiserslautern

May 2019
Damien Zufferey and Daniel Neider are co-teaching Advanced Automata Theory at the University of Kaiserslautern in the Summer 2019 semester.

Azalea Raad selected to attend Heidelberg Laureate Forum

MPI-SWS postdoctoral fellow Azalea Raad has been selected to attend the 7th annual Heidelberg Laureate Forum in September 2019. An international committee of experts selected Azalea for one of only 200 spots reserved for young researchers from around the world.

The Heidelberg Laureate Forum gives young computer science and math researchers the opportunity to interact with some of the world's top scientists. The speakers for the 2019 Forum, for example, include 17 different Turing Award winners, …
MPI-SWS postdoctoral fellow Azalea Raad has been selected to attend the 7th annual Heidelberg Laureate Forum in September 2019. An international committee of experts selected Azalea for one of only 200 spots reserved for young researchers from around the world.

The Heidelberg Laureate Forum gives young computer science and math researchers the opportunity to interact with some of the world's top scientists. The speakers for the 2019 Forum, for example, include 17 different Turing Award winners, as well as numerous winners of the Fields Medal, the Abel Prize, and the ACM Prize in Computing.
Read more

Derek Dreyer general chair of ICFP'19

February 2019
Derek Dreyer has been selected as general chair of the 24th ACM SIGPLAN International Conference on Functional Programming, to be held August 19-21, 2019 in Berlin. ICFP is an international conference providing a forum for researchers and developers to hear about the latest work on the design, implementations, principles, and uses of functional programming.

MPI-SWS researchers have a distinguished paper at POPL 2019

January 2019
Vineet Rajani and Deepak Garg, along with their co-authors Marco Vassena, Alejandro Russo and Deian Stefan, have won a Distinguished Paper Award at the 2019 ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019) for their paper titled "From fine- to coarse-grained dynamic information flow control and back".

Five MPI-SWS papers at POPL 2019!

Just as in 2018, MPI-SWS researchers again authored a total of five POPL papers in 2019:

  • Bridging the Gap Between Programming Languages and Hardware Weak Memory Models by Anton Podkopaev, Ori Lahav, and Viktor Vafeiadis.

  • From Fine- to Coarse-Grained Dynamic Information Flow Control and Back by Marco Vassena, Alejandro Russo, Deepak Garg, Vineet Rajani, and Deian Stefan.

  • Formal verification of higher-order probabilistic programs by Tetsuya Sato,
Just as in 2018, MPI-SWS researchers again authored a total of five POPL papers in 2019:


  • Bridging the Gap Between Programming Languages and Hardware Weak Memory Models by Anton Podkopaev, Ori Lahav, and Viktor Vafeiadis.

  • From Fine- to Coarse-Grained Dynamic Information Flow Control and Back by Marco Vassena, Alejandro Russo, Deepak Garg, Vineet Rajani, and Deian Stefan.

  • Formal verification of higher-order probabilistic programs by Tetsuya Sato, Alejandro Aguirre, Gilles Barthe, Marco Gaboardi, Deepak Garg, Justin Hsu.

  • Grounding Thin-Air Reads with Event Structures by Soham Chakraborty and Viktor Vafeiadis.

  • On Library Correctness under Weak Memory Consistency by Azalea Raad, Marko Doko, Lovro Rožić, Ori Lahav, and Viktor Vafeiadis.


What's more, the MPI-SWS Software Analysis and Verification group has a whole session to itself at POPL 2019. The weak memory session on Thursday, Jan 17, is comprised of the three papers by Viktor Vafeiadis, his students, postdocs, and collaborators.
Read more

MPI-SWS researchers receive OOPSLA 2018 Distinguished Paper award

December 2018
Burcu Kulahcioglu Ozkan, Rupak Majumdar, and Filip Niksic--along with their co-authors Mitra Tabaei Befrouei and Georg Weissenbacher--have won a Distinguished Paper award at the 2018 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2017) for their paper "Randomized testing of distributed systems with probabilistic guarantees."

Distinguished Paper awards are given to about 10% of papers at OOPSLA.

Derek Dreyer receive OOPSLA 2018 Distinguished Reviewer Award

December 2018
MPI-SWS faculty member Derek Dreyer was one of two PC members (out of a total of 30 PC members) to win a Distinguished Reviewer Award at OOPSLA 2018.

Program Analysis course at TU Kaiserslautern and Saarland University

October 2018
Maria Christakis and Eva Darulova are teaching Program Analysis at TU Kaiserslautern and Saarland University. This class is co-taught with Jan Reinecke from Saarland University and covers both static and dynamic analysis.

OOPSLA'18: Four MPI-SWS papers

September 2018
Four papers to appear at OOPSLA'18 have been (co)-authored by MPI-SWS members.
Four papers to appear at OOPSLA'18 have been (co)-authored by MPI-SWS members.



Read more

Several Open Positions in the ERC-funded RustBelt Project

September 2018
The RustBelt project, kindly supported by an ERC Consolidator Grant, is looking to fill several open PhD and Postdoc positions.

POSTDOCS: We are seeking exceptional candidates with a strong, internationally competitive track record of research in programming languages and/or verification.  The primary criterion is quality, but I am particularly interested in candidates who have specialized expertise in one or more of the following areas:

- Rust
- substructural/ownership type systems
- verification of concurrent programs
- weak/relaxed memory models
- interactive theorem proving in Coq
- compiler verification

Experience programming in Rust is a welcome bonus, …
The RustBelt project, kindly supported by an ERC Consolidator Grant, is looking to fill several open PhD and Postdoc positions.

POSTDOCS: We are seeking exceptional candidates with a strong, internationally competitive track record of research in programming languages and/or verification.  The primary criterion is quality, but I am particularly interested in candidates who have specialized expertise in one or more of the following areas:

- Rust
- substructural/ownership type systems
- verification of concurrent programs
- weak/relaxed memory models
- interactive theorem proving in Coq
- compiler verification

Experience programming in Rust is a welcome bonus, but not required.

STUDENTS: We are seeking exceptional candidates who have at least some background in programming language theory and/or formal methods, and who are eager to work on deep foundational problems with the potential for direct impact on a real, actively developed language.  A bachelor's or master's degree is required.  For more details about the MPI-SWS graduate program, see here: https://www.mpi-sws.org/graduate-studies/.

Successful applicants will join the Foundations of Programming group, led by Derek Dreyer at the Max Planck Institute for Software Systems (MPI-SWS)
in Saarbruecken, Germany.  Current and former postdocs in the group have included Andreas Rossberg (co-designer of WebAssembly), Chung-Kil Hur, Neel Krishnaswami, Aaron Turon (manager of the Rust project at Mozilla), Jacques-Henri Jourdan, Ori Lahav, Pierre-Marie Pédrot, and Azalea Raad.  Current and former PhD students in the group have included Georg Neis, Beta Ziliani, Scott Kilpatrick, David Swasey, Ralf Jung, Jan-Oliver Kaiser, Hoang-Hai Dang, Marko Doko, and @pythonesque.  The RustBelt project benefits from longstanding active collaborations with Viktor Vafeiadis (MPI-SWS), Lars Birkedal (Aarhus University), Chung-Kil Hur & Jeehoon Kang (Seoul National University), Deepak Garg (MPI-SWS), and Robbert Krebbers (TU Delft), as well as the many contributors to the Iris project (http://iris-project.org).

The working language at MPI-SWS is English.

Application deadline: OCTOBER 31.  If you are interested in joining the RustBelt team and want to learn more about the project, please contact Derek Dreyer directly at dreyer@mpi-sws.org.  To apply for a postdoc (or PhD student) position, please submit a CV (and/or grade transcript), research statement (or statement of purpose), and list of references to https://apply.mpi-sws.org.

For further information, see the project web page at: http://plv.mpi-sws.org/rustbelt/

Read more

POPLpalooza: Five MPI-SWS papers at POPL 2018 + a new record!

In 2018, MPI-SWS researchers authored a total of five POPL papers:

  • Parametricity versus the Universal Type. Dominique Devriese, Marco Patrignani, Frank Piessens.

  • Effective Stateless Model Checking for C/C++ Concurrency. Michalis Kokologiannakis, Ori Lahav, Kostis Sagonas, Viktor Vafeiadis.

  • Monadic refinements for relational cost analysis. Ivan Radicek, Gilles Barthe, Marco Gaboardi, Deepak Garg, Florian Zuleger.

  • Why is Random Testing Effective for Partition Tolerance Bugs? Rupak Majumdar,
In 2018, MPI-SWS researchers authored a total of five POPL papers:

  • Parametricity versus the Universal Type. Dominique Devriese, Marco Patrignani, Frank Piessens.

  • Effective Stateless Model Checking for C/C++ Concurrency. Michalis Kokologiannakis, Ori Lahav, Kostis Sagonas, Viktor Vafeiadis.

  • Monadic refinements for relational cost analysis. Ivan Radicek, Gilles Barthe, Marco Gaboardi, Deepak Garg, Florian Zuleger.

  • Why is Random Testing Effective for Partition Tolerance Bugs? Rupak Majumdar, Filip Niksic.

  • RustBelt: Securing the Foundations of the Rust Programming Language. Ralf Jung, Jacques-Henri Jourdan, Robbert Krebbers, Derek Dreyer.


Furthermore, with the "RustBelt" paper, MPI-SWS faculty member Derek Dreyer cements a 10-year streak of having at least one POPL paper each year, breaking the all-time record of 9 years previously held by John Mitchell at Stanford. Congratulations Derek!
Read more

Maria Christakis receives Facebook Faculty Research Award

December 2017
Maria Christakis, an MPI-SWS faculty member, has received a Facebook Faculty Research Award. The award is given in recognition of Maria's work on combining static and dynamic program analysis, which is of particular relevance to Facebook as they are developing sophisticated program analysis tools to handle real-world code.

Two MPI-SWS faculty awarded DFG grants

December 2017
Two MPI-SWS faculty members have received 3-year research grants from DFG, the German Research Organization.

Eva Darulova has received a single-PI DFG grant entitled "Automated Rigorous Verification and Synthesis of Approximations."

Björn Brandenburg has received a DFG grant entitled "RT-Proofs: Formal proofs for real-time systems." This award is for a collaborative grant, with co-PIs at INRIA (Grenoble), Verimag (Grenoble), ONERA (Toulouse), and TU Braunschweig (Germany).

Both projects are actively recruiting doctoral students. …
Two MPI-SWS faculty members have received 3-year research grants from DFG, the German Research Organization.

Eva Darulova has received a single-PI DFG grant entitled "Automated Rigorous Verification and Synthesis of Approximations."

Björn Brandenburg has received a DFG grant entitled "RT-Proofs: Formal proofs for real-time systems." This award is for a collaborative grant, with co-PIs at INRIA (Grenoble), Verimag (Grenoble), ONERA (Toulouse), and TU Braunschweig (Germany).

Both projects are actively recruiting doctoral students. Interested students can apply online.

Automated Rigorous Verification and Synthesis of Approximations

Computing resources are fundamentally limited and sometimes an exact solution may not even exist. Thus, when implementing real-world systems, approximations are inevitable, as are the errors introduced by them. The magnitude of errors is problem-dependent but higher accuracy generally comes at a cost in terms of memory, energy or runtime, effectively creating an accuracy-efficiency tradeoff. To take advantage of this tradeoff, we need to ensure that the computed results are sufficiently accurate, otherwise we risk disastrously incorrect results or system failures. Unfortunately, the current way of programming with approximations is mostly manual, and consequently costly, error prone and often produces suboptimal results.

The goal of this project is to develop an end-to-end system which approximates numerical programs in an automated and trustworthy fashion. The programmer will be able to write exact high-level code and our `approximating compiler' will generate an efficient implementation satisfying a given accuracy specification. In order to achieve this vision, we will develop novel sound techniques for verifying the accuracy of approximate numerical programs, as well as new synthesis approaches to generate such approximations automatically.

RT-Proofs: Formal proofs for real-time systems

Real-time systems, i.e., computer systems subject to stringent timing constraints, are at the heart of most modern safety-critical technologies, including automotive systems, avionics, robotics, and factory automation, to name just a few prominent domains in which incorrect timing can have potentially catastrophic consequences. To assure the always-correct operation of such systems, i.e., to make sure that they always react in a timely fashion even in a worst-case scenario, rigorous validation efforts are required prior to deployment. However, establishing that all timing constraints are met is far from trivial --- and requires sophisticated analysis techniques --- because software timing varies in complex and difficult to predict ways, e.g., due to scheduling delays, shared resources, or communication, even when executing on a dedicated processor. Unfortunately, the theoretical foundations of current analysis methods are not nearly as rock-solid as one might expect.

The key problem is that the state-of-the-art methods are backed by only informal or abbreviated proofs, which are typically difficult to understand, check, adapt, or reuse. As a result, there is a non-trivial risk of subtle, but fatal mistakes, either lingering in the published literature, or arising when combining results with unstated, inconsistent assumptions. And indeed, this is not just a hypothetical concern --- most famously, the timing analysis of the CAN real-time bus (widely deployed in virtually all modern cars) was refuted in 2007, 13 years after initial publication. Similarly, other lesser-known examples of incorrect worst-case analyses abound in the literature, including off-by-one errors, incorrect generalizations, and even claims that are simply wrong. Worse, even if the underlying theory is indeed flawless, there is still no guarantee that it is actually implemented correctly in the toolchains used in practice. In short, the state of the art in the analysis of safety-critical real-time systems leaves a lot to be desired --- informal "pen and paper" proofs are simply inadequate.

There is a better way: timing analysis results should be formally proved, machine-checkable, and independently verifiable. To this end, the RT-proofs project will lay the foundations for the computer-assisted verification of schedulability analysis results by (i) formalizing foundational real-time concepts using the Coq proof assistant and (ii) mechanizing proofs of busy-window-based end-to-end latency analysis, the analysis approach of greatest practical relevance (e.g., used by SymTA/S). Additionally, we will (iii) demonstrate with a practical prototype how trust in a vendor's toolchain can be established by certifying the produced analysis results (rather than the tool itself). Leading by example, RT-proofs will fundamentally raise the level of rigor, to the benefit of the academic community, tool vendors, and real-time systems engineers in practice.
Read more

Derek Dreyer receives Robin Milner Young Researcher Award

September 2017
MPI-SWS faculty member Derek Dreyer has received the 2017 Robin Milner Young Researcher Award, which is given by ACM SIGPLAN to recognize outstanding contributions by young investigators in the area of programming languages.  The award citation reads as follows:

"Derek Dreyer has made deep, creative research contributions of great breadth. His areas of impact are as diverse as module systems, data abstraction in higher-order languages, mechanized proof systems and techniques, and concurrency models and semantics. …
MPI-SWS faculty member Derek Dreyer has received the 2017 Robin Milner Young Researcher Award, which is given by ACM SIGPLAN to recognize outstanding contributions by young investigators in the area of programming languages.  The award citation reads as follows:

"Derek Dreyer has made deep, creative research contributions of great breadth. His areas of impact are as diverse as module systems, data abstraction in higher-order languages, mechanized proof systems and techniques, and concurrency models and semantics. He has refactored and generalized the complex module systems of SML and OCaml; devised logical relations and techniques that enabled advances in reasoning about higher-order imperative programs; and developed novel separation logics for modular verification of low-level concurrent programs. His research papers are a model of clarity and depth, and he has worked actively to translate his foundational ideas into practice – most recently with the RustBelt project to provide formal foundations for the Rust language. Additionally, Dreyer has contributed leadership, support, and mentorship in activities such as the PLMW series of workshops, which are instrumental in growing the next generation of PL researchers."

Previous recipients of the award have included Stephanie Weirich, David Walker, Sumit Gulwani, Lars Birkedal, and Shriram Krishnamurthi.
Read more

MPI-SWS researchers receive best-paper awards at PLDI and ECOOP

June 2017
MPI-SWS researchers made a very strong showing at PLDI and ECOOP in Barcelona this year.  They received two Best Paper Awards, one from PLDI and one from ECOOP, for the following two papers:

PLDI 2017: Repairing Sequential Consistency in C/C++11, by Ori Lahav, Viktor Vafeiadis, Jeehoon Kang, Chung-Kil Hur, and Derek Dreyer.

ECOOP 2017: Strong Logic for Weak Memory: Reasoning About Release-Acquire Consistency in Iris, by Jan-Oliver Kaiser, …
MPI-SWS researchers made a very strong showing at PLDI and ECOOP in Barcelona this year.  They received two Best Paper Awards, one from PLDI and one from ECOOP, for the following two papers:

PLDI 2017: Repairing Sequential Consistency in C/C++11, by Ori Lahav, Viktor Vafeiadis, Jeehoon Kang, Chung-Kil Hur, and Derek Dreyer.

ECOOP 2017: Strong Logic for Weak Memory: Reasoning About Release-Acquire Consistency in Iris, by Jan-Oliver Kaiser, Hoang-Hai Dang, Derek Dreyer, Ori Lahav, and Viktor Vafeiadis.

In addition, another PLDI best paper award went to the paper "Bringing the Web Up to Speed with WebAssembly", which was presented by Andreas Rossberg, former member of the Foundations of Programming group, who is now a senior engineer at Google.  WebAssembly is the result of an unprecedented collaboration between engineers at Google, Microsoft, Mozilla, and Apple to develop a new portable low-level byte code language to replace JavaScript as a target language for web development.
Read more

Maria Christakis to join MPI-SWS as tenure-track faculty

June 2017
Maria Christakis joins the institute as a tenure-track faculty member, effective Oct 16, 2017. Maria’s goal is to develop theoretical foundations and practical tools for building more reliable and usable software and increasing developer productivity. She is mostly interested in software engineering, programming languages, and formal methods. Maria particularly likes investigating topics in automatic test generation, software verification, program analysis, and empirical software engineering. Her tools and techniques explore novel ways of writing, specifying, verifying, testing, …
Maria Christakis joins the institute as a tenure-track faculty member, effective Oct 16, 2017. Maria’s goal is to develop theoretical foundations and practical tools for building more reliable and usable software and increasing developer productivity. She is mostly interested in software engineering, programming languages, and formal methods. Maria particularly likes investigating topics in automatic test generation, software verification, program analysis, and empirical software engineering. Her tools and techniques explore novel ways of writing, specifying, verifying, testing, and debugging programs in order to make them more robust while at the same time improving the user experience.

Maria joins MPI-SWS from the University of Kent, England, where she is a Lecturer at the School of Computing. She was previously a postdoctoral researcher at Microsoft Research Redmond. Maria received her Ph.D. from the Department of Computer Science of ETH Zurich and was awarded with the ETH medal and the EAPLS Best PhD Dissertation Award. She completed her Bachelor’s and Master’s degrees at the Department of Electrical and Computer Engineering of the National Technical University of Athens, Greece.
Read more

Principles of Cyber-Physical Systems Course at TU Kaiserslautern

April 2017
Sadegh Soudjani is teaching Principles of Cyber-physical Systems at the University of Kaiserslautern in Summer 2017.

The course meets Tuesdays 11:45-13:15 and Thursdays 10:00-11:30 in 11-260.

Advanced Automata Theory Course at TU Kaiserslautern

April 2017
Rupak Majumdar and Daniel Neider are co-teaching Advanced Automata Theory at the University of Kaiserslautern in the Summer 2017 semester.

The course meets Tuesdays 08:15-09:45 in room 48-210 and Wednesdays 13:45-15:15 in room 46-280 on the University of Kaiserslautern campus.

Program Analysis course at TU Kaiserslautern

November 2016
Rayna Dimitrova is teaching Program Analysis at the University of Kaiserslautern in the Winter 2016-17 semester.

The course meets Mondays 17:15-18:45 in room 48-379 on the University of Kaiserslautern campus.

More information about the course

Complexity Theory Course at TU Kaiserslautern

November 2016
Rupak Majumdar is teaching Complexity Theory at the University of Kaiserslautern in the Winter 2016-17 semester.

The course meets Mondays 15:30-17:00 at 46-280 and Wednesdays 13:45-15:15 at 46-268.

More information about the course

Three MPI-SWS papers accepted to POPL'17

October 2016
Three papers from MPI-SWS were accepted to ACM POPL 2017:
  • A promising semantics for relaxed-memory concurrency
  • Relational cost analysis
  • Thread modularity at many levels: a pearl in compositional verification

Rupak Majumdar will chair CAV 2017

October 2016
Rupak Majumdar and Viktor Kuncak (EPFL) are co-chairs of the 29th International Conference on Computer-Aided Verification (CAV 2017), to be held between July 22 and 28, 2017 in Heidelberg, Germany.

CAV 2017 is the 29th in a series dedicated to the advancement of the theory and practice of computer-aided formal analysis and synthesis methods for hardware and software systems. The CAV home page has more information.

Joel Ouaknine will chair LICS 2017

October 2016
Joel Ouaknine is the Program Chair of the Thirty-Second Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), to be held between 20 and 23 June, 2017 in Reykjavik. The LICS Symposium is an annual international forum on theoretical and practical topics in computer science that relate to logic, broadly construed.

Neel Krishnaswami joins University of Cambridge as university lecturer

July 2016
Neel Krishnaswami, a former postdoc in Derek Dreyer's group at MPI-SWS, will be joining the University of Cambridge Computer Laboratory as a University Lecturer.

Congratulations, Neel!

 

Derek Dreyer awarded ERC Consolidator Grant

Derek Dreyer, head of the MPI-SWS Foundations of Programming group, has been awarded an ERC Consolidator Grant. Over the next five years, his project "RustBelt: Logical Foundations for the Future of Safe Systems Programming" will receive almost 2 million euros, which will allow the group to develop rigorous formal foundations for the Rust programming language.

The European Research Council (ERC) is a pan-European funding body that supports cutting-edge research. It offers funding for groundbreaking research projects of the highest scientific quality across Europe, …
Derek Dreyer, head of the MPI-SWS Foundations of Programming group, has been awarded an ERC Consolidator Grant. Over the next five years, his project "RustBelt: Logical Foundations for the Future of Safe Systems Programming" will receive almost 2 million euros, which will allow the group to develop rigorous formal foundations for the Rust programming language.

The European Research Council (ERC) is a pan-European funding body that supports cutting-edge research. It offers funding for groundbreaking research projects of the highest scientific quality across Europe, across all research areas. Talented researchers from all over the world can receive funding for excellent research in Europe. The ERC Consolidator Grant offers funding for researchers with 7 to 12 years of experience after achieving a PhD.

The RustBelt Project

A longstanding question in the design of programming languages is how to balance safety and control. C-like languages give programmers low-level control over resource management at the expense of safety, whereas Java-like languages give programmers safe high-level abstractions at the expense of control.

Rust is a new language developed at Mozilla Research that marries together the low-level flexibility of modern C++ with a strong "ownership-based" type system guaranteeing type safety, memory safety, and data race freedom. As such, Rust has the potential to revolutionize systems programming, making it possible to build software systems that are safe by construction, without having to give up low-level control over performance.

Unfortunately, none of Rust's safety claims have been formally investigated, and it is not at all clear that they hold. To rule out data races and other common programming errors, Rust's core type system prohibits the aliasing of mutable state, but this is too restrictive for implementing some low-level data structures. Consequently, Rust's standard libraries make widespread internal use of "unsafe" blocks, which enable them to opt out of the type system when necessary. The hope is that such "unsafe" code is properly encapsulated, so that Rust's language-level safety guarantees are preserved. But due to Rust's reliance on a weak memory model of concurrency, along with its bleeding-edge type system, verifying that Rust and its libraries are actually safe will require fundamental advances to the state of the art.

In this project, we aim to equip Rust programmers with the first formal tools for verifying safe encapsulation of "unsafe" code. Any realistic languages targeting this domain in the future will encounter the same problem, so we expect our results to have lasting impact. To achieve this goal, we will build on recent breakthrough developments by the PI and collaborators in concurrent program logics and semantic models of type systems.

More
Read more

Joel Ouaknine joins the MPI-SWS faculty

Joel Ouaknine joins the institute's faculty as a scientific director, effective Aug 1, 2016. Joel's research interests include the automated verification of real-time, probabilistic, and infinite-state systems (e.g. model-checking algorithms, synthesis problems, complexity), logic and applications to verification, decision and synthesis problems for linear dynamical systems, automated software analysis, concurrency, and theoretical computer science.

In 2015, Joel was awarded an ERC Consolidator Grant, which provides almost 2 million euros of research funding over a period of five years. …
Joel Ouaknine joins the institute's faculty as a scientific director, effective Aug 1, 2016. Joel's research interests include the automated verification of real-time, probabilistic, and infinite-state systems (e.g. model-checking algorithms, synthesis problems, complexity), logic and applications to verification, decision and synthesis problems for linear dynamical systems, automated software analysis, concurrency, and theoretical computer science.

In 2015, Joel was awarded an ERC Consolidator Grant, which provides almost 2 million euros of research funding over a period of five years. He is also the recipient of the 2010 Roger Needham Award, given annually "for a distinguished research contribution in Computer Science by a UK-based researcher within ten years of his or her PhD."

Joel will join MPI-SWS from the University of Oxford, where he is a Professor of Computer Science and Fellow of St John's College. Joel holds a BSc and MSc in Mathematics from McGill University, and received his PhD in Computer Science from Oxford in 2001. He subsequently did postdoctoral work at Tulane University and Carnegie Mellon University.
Read more

Sadegh Soudjani receives DIC Best PhD-Thesis Award

MPI-SWS postdoctoral fellow Sadegh Soudjani has been awarded the DISC Best PhD-Thesis Award for the best PhD thesis defended in 2014 in the Netherlands in the area of systems and control. Dr. Soudjani received the award for the excellent quality of his PhD Thesis "Formal Abstraction for Automated Verification and Synthesis of Stochastic Systems" for which he obtained the doctoral degree at Delft University of Technology in November.

Aaron Turon receives SIGPLAN Dissertation Award

Aaron Turon, a postdoc in Derek Dreyer's Foundations of Programming Group, has received the 2014 ACM SIGPLAN John C. Reynolds Doctoral Dissertation Award for his PhD thesis, "Understanding and Expressing Scalable Concurrency", which he completed at Northeastern University in 2013 under the supervision of Mitch Wand. This international award is presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages. Aaron has recently joined Mozilla Research in San Francisco, …
Aaron Turon, a postdoc in Derek Dreyer's Foundations of Programming Group, has received the 2014 ACM SIGPLAN John C. Reynolds Doctoral Dissertation Award for his PhD thesis, "Understanding and Expressing Scalable Concurrency", which he completed at Northeastern University in 2013 under the supervision of Mitch Wand. This international award is presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages. Aaron has recently joined Mozilla Research in San Francisco, where he is a member of the development team for the Rust programming language.
Read more

Rupak Majumdar receives Most Influential Paper Award

MPI-SWS faculty member Rupak Majumdar has been selected as the winner of this year's POPL (Principles of Programming Languages) Most Influential Paper Award. The ACM SIGPLAN Most Influential POPL Paper Award is a retrospective award—it is given each year to the paper deemed most influential from the POPL conference 10 years earlier.

Majumdar won the award for his 2004 paper, Abstractions From Proofs, which was coauthored with Thomas Henzinger, Ranjit Jhala, and Kenneth McMillan. …
MPI-SWS faculty member Rupak Majumdar has been selected as the winner of this year's POPL (Principles of Programming Languages) Most Influential Paper Award. The ACM SIGPLAN Most Influential POPL Paper Award is a retrospective award—it is given each year to the paper deemed most influential from the POPL conference 10 years earlier.

Majumdar won the award for his 2004 paper, Abstractions From Proofs, which was coauthored with Thomas Henzinger, Ranjit Jhala, and Kenneth McMillan. The paper introduced a technique to automatically find program abstractions using logical interpolation and showed the effectiveness of the technique in software verification.
Read more

Derek Dreyer wins funding from Microsoft Research

May 2013
A research project proposed by MPI-SWS faculty member Derek Dreyer has been selected for a 2013 Microsoft Research PhD Scholarship. The project is entitled "Compositional Verification of Scalable Joins by Protocol-Based Refinement". Each year Microsoft selects approximately twenty projects to fund, based on proposals from research institutions across Europe, Africa, and the Middle East. The Scholarship funds a PhD student for three years.

Ruzica Piskac wins Patrick Denantes Prize

Ruzica Piskac, an MPI-SWS faculty member, has been awarded the 2012 Patrick Denantes Prize for her dissertation titled "Decision Procedures for Program Synthesis and Verification." The prize is awarded annually to the most outstanding master's, doctoral or post-doctoral research project within the school of computer and communication sciences at EPFL.

Two MPI-SWS students receive Google Fellowships

Fourth-year PhD student Georg Neis won a 2012 Google PhD Fellowship for his work in Programming Technology. First-year PhD student Ezgi Cicek was awarded an Anita Borg Scholarship. They join MPI-SWS PhD student Juhi Kulshrestha, who received a 2011 Google Fellowship for her work in social networking.

Rupak Majumdar wins EAPLS and TODAES best paper awards

MPI-SWS faculty Rupak Majumdar, along with his coauthors, has received two best paper awards: the EAPLS 2012 best paper award and the 2012 ACM TODAES best paper award.

Rupak Majumdar and Zhenyue Long, along with Georgei Calin and Roland Meyer at TuKL, have received the ETAPS 2012 best paper award for their paper "Language-Theoretic Abstraction Refinement".

Rupak Majumdar has also received (along with Jason Cong, Bin Liu, …
MPI-SWS faculty Rupak Majumdar, along with his coauthors, has received two best paper awards: the EAPLS 2012 best paper award and the 2012 ACM TODAES best paper award.

Rupak Majumdar and Zhenyue Long, along with Georgei Calin and Roland Meyer at TuKL, have received the ETAPS 2012 best paper award for their paper "Language-Theoretic Abstraction Refinement".

Rupak Majumdar has also received (along with Jason Cong, Bin Liu, and Zhiru Zhang) the 2012 ACM TODAES Best Paper Award for his 2010 TODAES article "Behavior-Level Observability Analysis for Operation Gating in Low-Power Behavioral Synthesis".
Read more

Rupak Majumdar wins PLDI most influential paper award

MPI-SWS faculty Rupak Majumdar has received the ACM SIGPLAN Most Influential PLDI (Programming Language Design and Implementation) Paper Award for 2011.

The ACM SIGPLAN Most Influential PLDI Paper Award is given each year for a paper that is ten years old and has been highly influential in the area of programming languages.

Rupak's 2001 paper, "Automatic Predicate Abstraction of C Programs," was coauthored with Thomas Ball, Todd Millstein, and Sriram Rajamani. The paper presented the predicate abstraction technology underlying the SLAM project. …
MPI-SWS faculty Rupak Majumdar has received the ACM SIGPLAN Most Influential PLDI (Programming Language Design and Implementation) Paper Award for 2011.

The ACM SIGPLAN Most Influential PLDI Paper Award is given each year for a paper that is ten years old and has been highly influential in the area of programming languages.

Rupak's 2001 paper, "Automatic Predicate Abstraction of C Programs," was coauthored with Thomas Ball, Todd Millstein, and Sriram Rajamani. The paper presented the predicate abstraction technology underlying the SLAM project. The technology is now part of Microsoft's Static Driver Verifier in the Windows Driver Development Kit. This is one of the earliest examples of automation of software verification on a large scale and the basis for numerous efforts to expand the domains that can be verified.
Read more

Three new faculty to join MPI-SWS

We are pleased to announce that three new faculty will join MPI-SWS this fall.


Björn Brandenburg is joining us from the University of North Carolina at Chapel Hill (UNC), where he obtained his Ph.D. in computer science. Björn's research interests include multiprocessor real-time system, real-time synchronization protocols, and operating systems. Björn is the lead designer and developer of LITMUSRT, an extension of the Linux kernel for real-time scheduling and synchronization on multicore platforms.

We are pleased to announce that three new faculty will join MPI-SWS this fall.


Björn Brandenburg is joining us from the University of North Carolina at Chapel Hill (UNC), where he obtained his Ph.D. in computer science. Björn's research interests include multiprocessor real-time system, real-time synchronization protocols, and operating systems. Björn is the lead designer and developer of LITMUSRT, an extension of the Linux kernel for real-time scheduling and synchronization on multicore platforms.


Deepak Garg is joining us from the Cybersecurity Lab (CyLab) at Carnegie Mellon University, where he was a post-doctoral researcher. He obtained his Ph.D. from Carnegie Mellon's Computer Science Department. His research interests are in the areas of computer security and privacy, formal logic and programming languages. He is specifically interested in logic-based models of secure systems and formal analysis of security properties of systems.

Ruzica Piskac is joining us from EPFL, where she has completed her Ph.D. in computer science. The goal of her research is to make software development easier and software more reliable via automated reasoning techniques. She is specifically interested in decision procedures, their combinations and applications in program verification and software synthesis.
Read more

Viktor Vafeiadis joins the MPI-SWS faculty

October 2010
Viktor Vafeiadis joins the institute's faculty, starting in October 2010. Viktor's research interests are in software analysis and verification, programming languages, programming logics, and concurrency.

Viktor's research contributions include inventing new concurrent program logics (RGSep & deny/guarantee); developing automated verification tools (SmallfootRG & Cave) for proving correctness properties of concurrent algorithms; and verifying some particularly challenging algorithms manually (e.g., mcas), mechanically (e.g., fast congruence closure), or automatically (e.g., lazy set).

Viktor received his B.A. …
Viktor Vafeiadis joins the institute's faculty, starting in October 2010. Viktor's research interests are in software analysis and verification, programming languages, programming logics, and concurrency.

Viktor's research contributions include inventing new concurrent program logics (RGSep & deny/guarantee); developing automated verification tools (SmallfootRG & Cave) for proving correctness properties of concurrent algorithms; and verifying some particularly challenging algorithms manually (e.g., mcas), mechanically (e.g., fast congruence closure), or automatically (e.g., lazy set).

Viktor received his B.A. degree in Computer Science in 2004 and his Ph.D. degree in Computer Science in 2008 both from the University of Cambridge. After that, he held post-doctoral research positions at Microsoft Research and at the University of Cambridge.
Read more

Rupak Majumdar joins the MPI-SWS faculty

Rupak Majumdar joins the institute's faculty as a scientific director. Rupak's research interests are in computer-aided verification and control of reactive, real-time, hybrid, and probabilistic systems; software verification and programming languages; and logic and automata theory.

Rupak's research spans the spectrum of formal verification techniques, ranging from theoretical foundations of logic and automata theory to practical software engineering tools that systematically analyze thousands of lines of code for programmer errors. In the field of software model checking, …
Rupak Majumdar joins the institute's faculty as a scientific director. Rupak's research interests are in computer-aided verification and control of reactive, real-time, hybrid, and probabilistic systems; software verification and programming languages; and logic and automata theory.

Rupak's research spans the spectrum of formal verification techniques, ranging from theoretical foundations of logic and automata theory to practical software engineering tools that systematically analyze thousands of lines of code for programmer errors. In the field of software model checking, Rupak has made major contributions. Rupak, along with Ranjit Jhala, wrote the the model checker Blast, which is able to analyze over 100,000 lines of code for complex temporal properties. This achievement was a major milestone and proof of feasibility in the field of software verification and led to a flurry of academic and industrial activity in the area.

Rupak joins MPI-SWS from the University of California, Los Angeles, where he was on the faculty of the computer science department. Prior to that, Rupak received his Ph.D. degree in Computer Science from the University of California at Berkeley, and his B.Tech. degree in Computer Science from the Indian Institute of Technology at Kanpur.
Read more

Robert Harper appointed as an external scientific member

Robert Harper has been appointed as the institute's first external scientific member. Dr. Harper is a Professor of Computer Science at Carnegie Mellon University, where he conducts research on programming language design and implementation. Bob will be visiting the institute in Summer 2010.

The external scientific member appointment is a courtesy appointment, which acknowledges the member's scientific excellence, as well as his or her close collaboration and contribution to joint research projects with MPI-SWS faculty and researchers. …
Robert Harper has been appointed as the institute's first external scientific member. Dr. Harper is a Professor of Computer Science at Carnegie Mellon University, where he conducts research on programming language design and implementation. Bob will be visiting the institute in Summer 2010.

The external scientific member appointment is a courtesy appointment, which acknowledges the member's scientific excellence, as well as his or her close collaboration and contribution to joint research projects with MPI-SWS faculty and researchers.

Robert Harper has been a professor in the Computer Science Department at Carnegie Mellon University since 1988. He received his Ph.D. in Computer Science from Cornell University in 1985, and was a post-doctoral research fellow at the Laboratory for Foundations of Computer Science at Edinburgh University from 1985-1988. He is best known for his work on the design, definition, and implementation of Standard ML; the design and application of the LF logical framework; the type-theoretic foundations of modularity in programming languages; the use of typed intermediate languages for certified compilation; the co-invention of self-adjusting computation for dynamic algorithms; and the application of fundamental theory to practical software systems. His current interests include mechanization of the metatheory of programming languages, the integration of types and verification, and the application of programming language theory to computer security.
Read more

Umut Acar joins the MPI-SWS faculty

January 2010
Umut Acar joins the institute's faculty, starting in January 2010. Umut's research interests are in language and algorithm design and implementation, particularly for dynamic systems that interact with changing data from various sources, such as users and the physical environment.

Such systems abound in many areas of computer science. For example, physical simulations often involve objects that move continuously over time, databases host and process data that changes over time (e.g., by introduction of new information records), …
Umut Acar joins the institute's faculty, starting in January 2010. Umut's research interests are in language and algorithm design and implementation, particularly for dynamic systems that interact with changing data from various sources, such as users and the physical environment.

Such systems abound in many areas of computer science. For example, physical simulations often involve objects that move continuously over time, databases host and process data that changes over time (e.g., by introduction of new information records), and connectivity in networks and distributed systems changes as links go down or come alive.

Umut's primary research focus has been self-adjusting computation, where computations respond automatically to modifications to their data. With his collaborators, he designs languages for developing self-adjusting programs, researches techniques for analyzing their complexity, and evaluates the proposed techniques by considering problem domains such as computational geometry, machine learning, and scientific computing. Umut's other interests include parallel computing, databases, and design and implementation of high-level languages.

Umut Acar received his B.S. in Computer Science from Bilkent University-Turkey in 1997, his M.A. from University of Texas at Austin in 1999, and his Ph.D. from Carnegie Mellon University in 2004. Umut joins MPI-SWS from the Toyota Technological Institute of Chicago, where he was an assistant professor from 2005 to 2009.
Read more

Ashutosh Gupta and Andrey Rybalchenko win ETAPS best paper award

MPI-SWS PhD student Ashutosh Gupta and and faculty Andrey Rybalchenko, along with Rupak Majumdar (UCLA), have received the EAPLS best paper award for their TACAS'09 paper "From Tests to Proofs."

The EAPLS award goes to the best contribution in the area of programming languages among CC, ESOP, and TACAS—three member conferences of ETAPS, the European Joint Conferences on Theory and Practice of Software.

The award-winning paper describes the design and implementation of an automatic invariant generator that can be used in the verification of imperative programs. …
MPI-SWS PhD student Ashutosh Gupta and and faculty Andrey Rybalchenko, along with Rupak Majumdar (UCLA), have received the EAPLS best paper award for their TACAS'09 paper "From Tests to Proofs."

The EAPLS award goes to the best contribution in the area of programming languages among CC, ESOP, and TACAS—three member conferences of ETAPS, the European Joint Conferences on Theory and Practice of Software.

The award-winning paper describes the design and implementation of an automatic invariant generator that can be used in the verification of imperative programs. The authors' new approach makes constraint solving—and hence invariant generation—more scalable by adding information obtained from static abstract interpretation as well as dynamic execution of the program.

ETAPS, established in 1998, is a confederation of five annual conferences, accompanied by satellite workshops and other events. It is a primary forum for academic and industrial researchers working on topics relating to Software Science. Previous EAPLS best paper award winners are listed at http://www.eapls.org/pages/topic_05_awards/.
Read more

Three new faculty to join MPI-SWS

August 2007
We are pleased to announce that three new faculty will join MPI-SWS.

Rodrigo Rodrigues will lead a research group on Dependable Systems. He obtained his Ph.D. from the Massachusetts Institute of Technology and joins us from the Instituto Superior Tecnico in Lisbon.

Derek Dreyer will lead a research group on Type Systems and Functional Programming. He obtained his Ph.D. from Carnegie Mellon University and joins us from the Toyota Technological Institute at Chicago. …
We are pleased to announce that three new faculty will join MPI-SWS.

Rodrigo Rodrigues will lead a research group on Dependable Systems. He obtained his Ph.D. from the Massachusetts Institute of Technology and joins us from the Instituto Superior Tecnico in Lisbon.

Derek Dreyer will lead a research group on Type Systems and Functional Programming. He obtained his Ph.D. from Carnegie Mellon University and joins us from the Toyota Technological Institute at Chicago.

Andrey Rybalchenko will lead a research group on Verification Systems. He previously held a post-doctoral position with Tom Henzinger at EPFL. He is the winner of the Otto-Hahn-Medal of the Max Planck Society.
Read more