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.