Master-Vorlesung: Agentic Software Engineering (ASE) WS 2026/27
Course number and language
L.079.05705
The teaching language will be English. Questions in German will be permitted.
Registering and communicating
To attend the course, you have to register in the PAUL system as a participant.
To ask questions, please use the discussion forum in PANDA (t.b.e.), so that others can benefit from the answers as well.
If needed, we will also send updates through PANDA circulars.
Schedule
This schedule gives a rough indication of which topics will be covered when.
The following course schedules are non-binding and may change at any time and without prior announcement.
Lecture schedule
| Date | Lecture topic | Lecturer |
| 13.10. | Introduction and course outline | Bodden |
| 20.10. | Bodden | |
| 27.10. | Bodden | |
| 03.11. | Bodden | |
| 10.11. | Bodden | |
| 17.11. | Bodden | |
| 24.11. | Bodden | |
| 01.12. | Bodden | |
| 08.12. | Bodden | |
| 15.12. | Bodden | |
| 22.12. | Bodden | |
| 12.01. | Bodden | |
| 19.01. | Bodden | |
| 26.01. | Bodden | |
| 02.02. | Bodden |
Abstract
Since the emergence of generative AI (GenAI), and particularly since the use of GenAI within agents, software engineering (SE) has been undergoing a radical transformation that raises many questions: In which phases of SE can GenAI be deployed effectively? What are the opportunities, but also the limitations and pitfalls involved? How does GenAI change the competency profile that will be expected of software engineers in the future? In this course, the use of GenAI and agents across the various phases of the software lifecycle (requirements analysis, implementation, testing, etc.) is discussed, made tangible through hands-on experience, and — where appropriate — critically examined. We will also cover current research on AI-driven software development methods. In practical exercises, students are introduced to current technologies that enable or simplify the design and deployment of agents in software engineering.
Course structure
t.b.e.
If you have questions to the organisation of the course, the topic, the exercises, or the labs, or if you get stuck when solving the exercises or labs, please use the forum in PANDA. We try to answer on a regular basis and as soon as possible.
Evaluation
t.b.e. - taken from DECA:
Graded labs:
- During the semester, you will have to hand in four graded labs.
- Each lab has to be handed in through PANDA on its due date by 08:00 am. The dates can be found here.
- The labs will be done in groups of four.
- Late labs will not be accepted.
- Plagiarism will result on a 0 grade for the lab and will be reported to the department. It can result in severe consequences such as financial fine and expulsion from the university.
Final exam:
At the end of the course, you will have the opportunity to register for the written exam based on your lab grade:
- If you scored below 50%, you cannot register to the exam.
- If you scored 50% or more, you can register to the exam.
- If you scored 70% or more, you will receive a bonus of 0.3 on your final grade.
- If you scored 90% or more, you will receive a bonus of 0.7 on your final grade.
The exam will be in a written format, except for students under the old Prüfungsordnung who will need to register for an oral exam.
Prerequisites
t.b.e. - taken from DECA:
A mature understanding of the Java programming language and object-oriented programming will be helpful.
Syllabus
Topics covered include:
- Fundamentals of generative AI (concise recap as a starting point)
- Retrieval-Augmented Generation and agents: how each works and how they differ
- Economic perspective: productivity effects (empirical studies), cost, latency, and model economics
in production agent deployment - Knowledge and context engineering for SE tasks: providing repositories, issues, tests, and documentation as context (information curation, context windows, repo maps, RAG over
codebases) - Tool use and function calling: interfaces between agents and development tools (compiler, test runner, linter, debugger, version control), and standards such as the Model Context Protocol (MCP), Agent Client Protocol (ACP)
- Common types of agents (ReAct, Plan-and-Execute, Reflexion, etc.)
- Multi-agent systems (incl. Agent2Agent protocol)
- Benefits and challenges of agents across the various phases of the software lifecycle (requirements analysis, implementation, testing, etc.)
- Feedback through testing and symbolic methods (e.g., static analysis and verification) as a corrective and safety net
- Reliability and limitations: hallucinations, the out-of-distribution problem with proprietary codebases, correctness guarantees
- Security of agentic systems: prompt injection, autonomous execution, supply-chain risks from generated code
- Human-in-the-loop, accountability, and code ownership: the changing role and competency profiles of software engineers
Learning outcomes
After completing this module, students are able to
- explain how generative AI, retrieval-augmented generation, and agentic systems work and distinguish their respective areas of application in software engineering,
- apply current agent technologies to tasks across the software lifecycle and provide them with suitable context through repositories, tests, and tool interfaces,
- analyse the benefits and challenges of using GenAI and agents in the individual phases of software development,
- assess the reliability, security, and limitations of agentic systems, including hallucinations, the out-of-distribution problem, and correctness guarantees,
- design their own agent-based solution for a software engineering task and justify the architectural choices involved,
- evaluate the economic and organisational implications of deploying agents productively, including effects on cost, productivity, and the role of software engineers.
Recommended reading material
t.b.e. - taken from DECA:
We will not be able to provide a script for this course. We will provide powerpoint slides where available, but will develop some concepts also on the blackboard. Students are highly encouraged to take their own copies during their lecture.
A lot of the material is also covered in the following books and papers, however, those publications present the material in a more complex manner than in the lectures, which is why they should mostly be used for deeper personal study.
- Thomas Reps, Susan Horwitz, and Mooly Sagiv. 1995. Precise interprocedural dataflow analysis via graph reachability. POPL '95
- Shmuel Sagiv, Thomas W. Reps, and Susan Horwitz. 1995. Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation. TAPSOFT '95
- Akash Lal, Thomas Reps, and Gogul Balakrishnan. 2005. Extended weighted pushdown systems. CAV 2005
- Nomair A. Naeem, Ondrej Lhoták, and Jonathan Rodriguez. 2010. Practical extensions to the IFDS algorithm. CC 2010
- Yannis Smaragdakis, Martin Bravenboer, and Ondrej Lhoták. 2011. Pick your contexts well: understanding object-sensitivity. POPL 2011
- Eric Bodden. 2012. Inter-procedural data-flow analysis with IFDS/IDE and Soot. SOAP 2012
- Rohan Padhye, Uday P. Khedker. Interprocedural Data Flow Analysis in Soot using Value Contexts. SOAP 2013
- FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps (Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick McDaniel), In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 259–269, PLDI ’14, ACM, 2014
- The Secret Sauce in Efficient and Precise Static Analysis: The Beauty of Distributive, Summary-based Static Analyses (and How to Master Them) (Eric Bodden), In ACM SIGPLAN International Workshop on the State Of the Art in Java Program Analysis (SOAP 2018), pages 85–93, ISSTA ’18, ACM, 2018.
- Context-, Flow-, and Field-sensitive Data-flow Analysis Using Synchronized Pushdown Systems (Johannes Späth, Karim Ali, Eric Bodden), In Proceedings of the ACM SIGPLAN Symposium on Principles of Programming Languages, pages 48:1–48:29, 3(POPL), 2019.
- Eric Bodden, Társis Tolêdo, Márcio Ribeiro, Claus Brabrand, Paulo Borba, and Mira Mezini. 2013. SPLLIFT: statically analyzing software product lines in minutes instead of years. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13). Association for Computing Machinery, New York, NY, USA, 355–364.
- Eric Bodden, Andreas Sewe, Jan Sinschek, Hela Oueslati, and Mira Mezini. 2011. Taming reflection: Aiding static analysis in the presence of reflection and custom class loaders. In Proceedings of the 33rd International Conference on Software Engineering (ICSE '11). Association for Computing Machinery, New York, NY, USA, 241–250.