Invited Speakers
Keynote Talk: Applications of liquid types for more reliable software
Alcides Fonseca
LASIGE, University of Lisbon, Faculty of Sciences
Wednesday, 14 June, 9h00
Abstract
Type systems are the most popular form of static verification, even being mandatory in popular programming languages. Liquid types have been proposed to increase the expressive power of type systems, allowing to express types that only contain even numbers ({x:Int | x % 2 == 0}) or any other predicate taken from a decidable logic.
The talk will cover a few applications of liquid types. First, we will see how we can extend the Java programming language with liquid types, and use it to statically detect bugs in state machine code. Then, we will see how liquid types can be helpful in the programming of cyber-physical systems, avoiding reaching invalid states in robotics programs. To show how liquid types can be applied to other domains, we will cover how machine learning pipelines can use liquid types to avoid having pipelines that have semantic errors, such as mixing the training and testing datasets, or using imbalanced data with models that require data to be balanced.
Finally, we will see how liquid types can be used to automate the activity of programming, improving how program synthesis works.
Short Bio
Alcides Fonseca is an Assistant Professor at the University of Lisbon, where he leads the Reliable
Software Systems research line of excellence at LASIGE. Alcides has a PhD in automatic optimization
of parallel programs from the University of Coimbra, and has more recently focused on static
verification techniques for program synthesis and machine learning systems, with a focus on
usability. Alcides lead the LASIGE team in the CAMELOT project, a partnership between Feedzai — a
fraud detection startup —, Carnegie Mellon University, University of Coimbra, IST and LASIGE that
aimed to use static verification tools, such as Liquid Types, to help data scientists avoid common
pitfalls in machine learning pipelines, as well as optimize their code. Now, he coordinates the
Resource-Aware Programming (RAP) project, that helps developers understand the resource usage of
their programs, such as energy consumption. Alcides is also the lead developer of GeneticEngine, a
software synthesis software that used liquid types, and a contributor to LiquidJava, an extension to
Java that adds Liquid Types.
Panel: Promises and Challenges of AI-enabled Software Development Tools for Safety-Critical Applications
Thursday, 15 June, 9h00
Invited experts
- Douglas Schmidt, Vanderbilt University, USA
- Jochen Quante, Robert Bosch GmbH, Germany
- Jon Pérez Cerrolaza, IKERLAN, Spain
- Björn Andersson, SEI - Carnegie Mellon University, USA
Short Bio of invited experts
Douglas C. Schmidt is the Cornelius Vanderbilt Professor of Engineering in the Electrical
Engineering and Computer Science Department, the Associate Provost of Research Development and
Technologies, the Co-Director of the Data Science Institute, and a Senior Researcher at the
Institute for Software Integrated Systems, all at Vanderbilt University. He is also a Visiting
Scientist at the Software Engineering Institute (SEI) at Carnegie Mellon University. Schmidt is an
internationally renowned and widely cited (an h-index of 91, an i10-index of 392, and a citation
count of 39,300+) researcher whose work focuses on patterns, optimization techniques, and empirical
analyses of object-oriented and component-based frameworks and model-driven engineering tools that
facilitate the development of distributed real-time and embedded (DRE) middleware frameworks and
mobile cloud computing applications on parallel platforms running over wireless/wired networks and
embedded system interconnects. Schmidt has co-authored several books in the Pattern-Oriented
Software Architecture series for Wiley & Sons edited by Frank Buschmann of Siemens, including
Patterns for Concurrent and Networked Objects, A Pattern Language for Distributed Computing, and
Patterns and Pattern Languages. He has also co-authored two books for Addison-Wesley on the topic of
C++ Network Programming edited by Bjarne Stroustrup of AT&T Labs.
Jochen Quante is a senior expert for software analysis and design at Bosch Research. His focus in
applied research is on how static code analysis and machine learning can improve and support
embedded software development. He has worked on applications of these techniques for all phases of
the software lifecycle, like software modelling, design, implementation, maintenance, and quality
assurance.
Jochen received his Ph.D. from University of Bremen (Germany) and his Diploma in Computer Science
from University of Karlsruhe (now KIT). He is chair of the SIG on Software Reengineering within the
German Informatics Society (GI).
Jon Pérez Cerrolaza is head of the 'dependable embedded systems' department and 'principal
researcher' in the field of 'dependable autonomous systems' combining dependability, artificial
intelligence and cybersecurity technologies. He has worked for more than fifteen years in the
development and certification of SIL2..SIL4 safety-critical systems for diverse domains such as
railway signalling, wind turbines, lifts, crane control, semiconductors and automotive. He holds a
PhD in Computer Science from TU Wien (2011) in the field of safety-critical systems.
Björn Andersson is principal researcher at the Software Engineering Institute (SEI) at Carnegie
Mellon University (CMU). His previous research includes: (i) transferring one of the foundational
results in real-time systems "The utilization bound of rate-monotonic scheduling on a single
processor is 69%" to multiprocessors, and (ii) inventing the wireless CAN bus (WiDom). His current
research includes: the use Artificial Intelligence (AI) for real-time software. As part of this, he
led a study for the US Federal Aviation Administration on the use of AI for Worst-Case Execution
Time (WCET) analysis.