Christian Kästner (the joint keynote for SPLC and ECSA)
Performance Analysis for Highly-Configurable Systems
Almost every modern software system is highly configurable with dozens or more options to customize behavior for different use cases. Beyond enabling or disabling optional functionality, configuration options often adjust tradeoffs among accuracy, performance, security, and other qualities. However with possible interactions among options and an exponentially exploding configuration space, reasoning about the the impact of configurations is challenging. Which options affect performance or accuracy? Which options interact? What’s the optimal configuration for a given workload? In this talk, I will given an overview of different strategies and challenges to learn performance models from highly-configurable systems by observing their behavior in different configurations, looking at sampling and learning strategies, transfer learning strategies, and strategies that analyze the internals or architecture of the system.
Christian Kästner is an associate professor in the School of Computer Science at Carnegie Mellon University. He received his PhD in 2010 from the University of Magdeburg, Germany, for his work on virtual separation of concerns. For his dissertation he received the prestigious GI Dissertation Award. Kästner develops mechanisms, languages, and tools to implement variability in a disciplined way despite imperfect modularity, to understand feature interactions and interoperability issues, to detect errors, to help with nonmodular changes, and to improve program comprehension in software systems, typically systems with a high amount of variability. Among others, Kästner has developed approaches to parse and type check all compile-time configurations of the Linux kernel in the TypeChef project.
Carlo Ghezzi (the joint keynote for SPLC and ECSA doctoral symposium)
Becoming and Being a Researcher–What I Wish Someone Would Have Told me When I Started Doing Research
Carlo Ghezzi is an ACM Fellow (1999), an IEEE Fellow (2005), a member of the European Academy of Sciences and of the Italian Academy of Sciences. He received the ACM SIGSOFT Outstanding Research Award (2015) and the Distinguished Service Award (2006). He has been President of Informatics Europe. He has been a member of the program committee of flagship conferences in the software engineering field, such as the ICSE and ESEC/FSE, for which he also served as Program and General Chair. He has been the Editor in Chief of the ACM Trans. on Software Engineering and Methodology and an associate editor of and IEEE Trans. on Software Engineering, Communications of the ACM and Science of Computer Programming, and Computing. Ghezzi’s research has been mostly focusing on different aspects of software engineering. He co-authored over 200 papers and 8 books. He coordinated several national and international research projects. He has been the recipient of an ERC Advanced Grant.
Variability Variations in Cyber-Physical Systems
With the increasing size and heterogeneity of systems (e.g., IoT, Cyber-Physical Systems) and enhanced power and versatility of IoT devices (e.g., smart watches, home intelligence sensors), the complexity of managing different kinds of variability for a given vertical domain becomes more difficult to handle. The structural variability of cyber-physical systems becomes more complex, comprising not only the inherent hardware variability of IoT devices and their network access protocols, but also the infrastructure variability derived from modern virtualization technologies, such as microcontainers or unikernels. Variability of software frameworks used to develop domain specific applications and/or services for Cloud/Edge computing environments should not be intermingled with hardware, and infrastructure variability modelling. In addition, to exploit the full potential of flexibility in processing, data storage and networking resource management, experts should define dynamic configuration processes that optimise QoS such as energy efficiency or latency respecting application-specific requirements. In this keynote talk, I will present how QoS assurance in cyber-physical systems implies modelling and configuring different kinds of variability during design, but also at runtime (e.g., user demands, usage context variability), enabling the late binding of dynamic variation points, distributed in IoT/Edge/Cloud devices, and how this can be materialized using current SPL artefacts.
Lidia Fuentes is a professor at the School of Informatics at the University of Málaga, Spain since 2011, with more than twenty-five years of experience teaching, leading research projects and supervising thesis. She leads a cross-disciplinary research group CAOSD, focused on applying advanced Software Engineering Technologies to Network and Distributed systems. Her current research interests include modelling different kinds of variability of Internet of Things (IoT), and Cypher physical systems to support dynamic reconfiguration and green computing. Her scientific production has been very prolific so far, with more than two hundred scientific publications in international forums. Her work has received several best-paper awards at conferences such as ICSR or SPLC-Tools track. She chaired several conferences as general chair (Modularity 2016), program chair (SPLC industry track, VaMoS, …), served on numerous program committees, and also participated as a panellist at ICSR 2017. She is member of the steering committee of AOSA (Aspect-Oriented Software Association) and VaMoS. She is currently concerned in promoting the STEM careers in girls, participating as a mentor of the Technovation Challenge initiative.
Daniel Le Berre
SAT Oracles, for NP-Complete Problems and Beyond
SAT solvers have been used in many areas, including software product line, as generic engine to solve NP-complete problems since the 2000’s. While the raw performances of the solvers to tackle NP-complete problems have been increasing steadily in the past, most impressive recent results rely on sophisticated encodings and better interaction with the solver, allowing to solve NP-hard – and even PSPACE-complete – problems. This is the case for core-based MAXSAT solvers for instance, and more recently SAT-based QBF solvers. In this talk, I will review the current features found in modern SAT solvers, and how they are used to solve NP-hard problems. I will present a generic approach called RECAR (Recursive Explore and Check Abstraction Refinement) which allows to take advantage of the feedback of the SAT solver to drive the search on a subproblem to prevent when possible memory blowup.
Daniel Le Berre is professor of computer science at The University of Artois, France. He is interested in the practical aspects of Boolean reasoning, namely SAT, pseudo-Boolean and MAXSAT solvers. He created and maintains Sat4j, an open source java library dedicated to the resolution of Boolean satisfaction and optimization problems. He co-organized the SAT competition from 2002 to 2011 and the Pragmatics of SAT series of workshops since 2010. He is currently the editor-in-chief of the Journal on Satisfiability, Boolean Modeling and Computation (JSAT).
DSLs, Formal Methods and Feature Models
At the core of Model-driven development, there is the idea of generalizing software development processes and tools to arbitrary domains. To this end, Domain-Specific Languages (DSLs) provide the intellectual tooling necessary for said domains and language workbenches like JetBrains MPS allow lifting the tooling invented and developed for programming languages to these DSLs. Formal Methods represent the most powerful tooling ever developed for tackling complex problems. Originally intended for Software Engineers, these tools today find a wide range of applications across different domains ranging from mathematics to biochemistry. Integrating Formal Methods into DSLs contributes to this development and makes the tooling for tackling complex problems available to practitioners in domains other than Software Engineering. Feature Models and their Configurations provide the intellectual tooling for the domain of Variability. At my last employer, me and my team developed a Variability DSL based on MPS thus
allowing the application of the advanced tool support known from Software Development to Feature Modelling. In particular, it becomes possible to automatically ensure various properties of the models and configurations using the SMT solver Z3. In this talk I would like to share some insights gained from the development of said tooling as well as from its application to real-world feature models.
Björn Engelmann holds a PhD in Formal Methods from the University of Oldenburg, Germany. During his work as a language engineer, he was responsible for integrating Formal Methods into Domain Specific Languages based on MPS. He developed an Integration for SMT Solvers into MPS and supported other language engineering teams in making their DSLs solver-enabled. Amongst others, he developed the solver-enabled analyses that are part of the Variability DSL and maintains them since.