Bertrand Meyer – How to build quality software: the Eiffel experience

Wednesday, December 18th, 2019 With society’s growing reliance on IT systems, the ability to write high-quality software is ever more critical. While a posteriori verification techniques have their role, there is no substitute for methods and tools that provide built-in quality (“correctness by construction”) and scale up to very large…

Continue reading

Alexei A. Efros – Self-Supervised Visual Learning and Synthesis

Thursday, November 28th, 2019 Computer vision has made impressive gains through the use of deep learning models, trained with large-scale labeled data. However, labels require expertise and curation and are expensive to collect. Can one discover useful visual representations without the use of explicitly curated labels? In this talk, I…

Continue reading

Luca Aceto – Theoretical Foundations for Runtime Monitoring

Tuesday, Sept.10th, 2019 – 11:00 am Runtime monitoring/verification is a lightweight technique that complements other verification methods in a multi-pronged approach towards ensuring software correctness. The technique poses novel questions to software engineers: it is not easy to see which specifications are amenable to runtime monitoring, and it is not…

Continue reading

Alexandra Silva – CoNeCo: Concurrency, Networks and Coinduction

May 16th, 2019 In recent years, concurrent Kleene algebra (CKA), an extension of Kleene Algebra (KA) that includes concurrent composition as a first-class citizen, has been proposed by Hoare et al. as a setting to study the algebraic properties of concurrent composition as an operator on programs.  Orthogonally, based on…

Continue reading