Previous Convide Lectures

Alexander Pretschner (TU Munich): Why LLMs Won't Replace Software Engineers

Lecture took place Monday, 7 October 2024, 10 - 11:30 am 

Prof. Dr. Alexander Pretschner

Abstract: Will LLMs replace software engineers? Of course not! Yet, some seem to think so; others blog about where LLMs helpfully (will) act as assistants; researchers do empirical studies in domains with (too) many parameters to control; and esteemed consultancies seriously tell us exactly which range of productivity gains to expect.

What we rarely read about is *why* we think or do not think LLMs will be useful in or across different software engineering activities. In this talk, I will revisit more or less successful software engineering trends from the Seventies (stepwise refinement: less successful), the Eighties (Computer-Aided Software Engineering: less successful), and the Nineties (agility: more successful). I'll relate them by showing how they methodologically make use of different flavors of abstractions. One flavor is abstraction in the sense of an actual loss of information--that we use to capture underspecifiction when we simply don't know enough. The other flavor is abstraction in the sense of lambda abstraction--that we use to denote complex phenomena with simple labels, but where the information that was abstracted away was never lost and can always be filled in. Our first central argument is that LLMs likely will be helpful with the second flavor, but less helpful with the first flavor.

Our second central argument is that experience shows how bad we are at getting specifications right. We seem to need an iterative process that interleaves gathering external information, thinking, writing down, verifying, and validating. While LLMs likely can be helpful in this process, we still need a human to guide the process - and this human needs all the typical qualifications that software engineers possess!

These perspectives will be key to understanding why and when LLMs can be more or less cost-effective in software engineering. We argue that the usefulness and cost effectiveness of LLMs in Software Engineering depends on the level of understanding your context, your use of abstractions, your lack of knowledge, your quality requirements, and your level of being standard in terms of business and technology domains.

Kristof Meixner (TU Wien): Product Lines Beyond Software - How Cyber-Physical Production Systems Challenge Software Product Line Approaches

Lecture took place Tuesday, 9 July 2024, 3:45 - 5:15 pm

Kristof Meixner

Abstract: The integration of digital technologies with physical manufacturing has introduced complex challenges in the planning and configuration of Cyber-Physical Production Systems (CPPS). Software Product Line (SPL) engineering approaches provide ideas on how to tackle these challenges, but often fall short in addressing the unique demands of CPPS. This talk explores the challenges of CPPS engineering using a real-world use case and shows approaches that go beyond common SPL methods to improve flexibility, efficiency, and adaptability in production settings. For instance, it highlights domain-specific modeling techniques that derive well-established variability models for products, processes, and resources and how those models are integrated into a automated configruation process to generate essential CPPS artifacts like control codes. The talk will illustrate still unsolved challenges in CPPS engineering and potential new research directions and industry practices in the domain.

 

Shriram Krishnamurthi (Brown University): The Human Factors of Formal Methods

Lecture took place Thursday, 13 June 2024, 3:45 - 5:15 pm

Shriram Krishnamurthi

Abstract: As formal methods improve in expressiveness and power, they create new opportunities for non-expert adoption. In principle, formal tools are now powerful enough to enable developers to scalably validate realistic systems artifacts without extensive formal training. However, realizing this potential for adoption requires attention to not only the technical but also the human side—which has received extraordinarily little attention from formal-methods research. This talk presents some of our efforts to address this paucity. We apply ideas from cognitive science, human-factors research, and education theory to improve the usability of formal methods. Along the way, we find misconceptions suffered by users, how technically appealing designs that experts may value may fail to help, and how our tools may even mislead users.