Talk: Jesse Alama on a DSL for HTTP API black-box testing on Jan 30

Time: Thursday, Jan 30, 14:00
Room: 03-424

Title: Riposte—A DSL for HTTP API black-box testing

Domain-specific languages are often made to solve a particular kind of problem in a particular time and place, with the hope is that others out there in the world have similar problems. In my case as a developer at an ecommerce shop, I was unsatisfied with the amount of testing our JSON-based HTTP APIs were getting. With the assumption that our tooling & language were to blame, I designed Riposte: an easy-to-read, fun-to-write functional language that allows one to write JSON, JSON Pointer, URI Templates in their respective surface syntaxes, and formulate HTTP requests in a straightforward way. Riposte programs are best understood as tests suites: one issues HTTP requests (possibly changing the state of a remote system) and makes assertions about values extracted from HTTP responses; the failure of an assertion causes the program to terminate. Riposte is implemented in Racket, a programming language that emphasizes language-oriented programming, making it especially useful for designing new languages. We present a little HTTP API and show how to test it in Riposte, discussing its syntax, semantics, and pragmatics along the way, along with a discussion of whether Riposte solved problem it set out to solve (answer: yes & no).

Speaker bio:
Jesse Alama is a full-stack developer at He earned his PhD at Stanford University working in interactive theorem proving & philosophy of mathematics, after which he worked as a postdoc in Lisbon and Vienna.

Posted on | Posted in Allgemein

Talk: Dr. Sven Amann from CQSE on Continuous Static Analysis on Dec 5

Time: Thursday, Dec 5, 14:00
Room: 03-424

Title: Static Analyses for Continuous Quality Improvement

As consultants for software and test quality, our goal is to support our customers in continuously improving the quality of their software systems. Considering the size and complexity of today’s software systems, this is only possible if we automate quality analysis to a point where we can quickly deliver an up-to-date overview on the quality of the system at any point in time. Developing such automated (static) analyses that are able to analyze large systems (incrementally) in close to real-time, however, is often quite challenging in itself. How we achieve this and which challenges we still face, is the topic of my talk.
Speaker bio:
Dr. Sven Amann is a software-quality consultant and developer at CQSE GmbH. He studied computer science at the Technische Universität Darmstadt (Germany) and the Pontifícia Universidade Católica do Rio de Janeiro (Brazil). He received his PhD in software technology from Technische Universität Darmstadt.

Posted on | Posted in Allgemein

Two papers accepted at top-tier conference OOPSLA

Sound and Reusable Components for Abstract Interpretation
Sven Keidel and Sebastian Erdweg. In Proceedings of the ACM on Programming Languages (OOPSLA). ACM, 2019. [ Details ]

Language-Integrated Privacy-Aware Distributed Queries
Guido Salvaneschi, Mirko Köhler, Daniel Sokolowski, Philipp Haller, Sebastian Erdweg, and Mira Mezini. In Proceedings of the ACM on Programming Languages (OOPSLA). ACM, 2019. [ Details ]

Posted on | Posted in Allgemein

Talk: Prof. Dr. Friedrich Steimann from FernUni Hagen on July 9

Prof. Dr. Friedrich Steimann from the Fern-Universität Hagen is visiting us July 9, 2019. He will give a guest lecture (in German) in our program analysis course (2:15pm in 05-426). Please find his title and abstract below.

Titel: Programmierwerkzeuge als Bedingungserfüllungsprobleme


Ein Bedingungserfüllungsproblem (engl. constraint satisfaction problem, CSP) besteht aus einer Menge von Variablen, jede mit einer Domäne von möglichen Werten, und einer Menge von Bedingungen (Constraints), die die Variablenbelegungen erfüllen müssen. Ein Bedingungserfüllungsproblem wird im Wesentlichen dadurch gelöst, dass für alle Variablen Werte gesucht werden, deren Zuweisung an die Variablen gleichzeitig alle Bedingungen erfüllen. Entsprechende Lösungsverfahren, Constraint Solver genannt, sind mittlerweile etabliert und gut verfügbar.

In dieser Vorlesung wird gezeigt, wie sich der Kern von Programmierwerkzeugen wie automatische Vervollständigung und Korrektur oder automatischen Refaktorisierungen auf Bedingungserfüllungsprobleme reduzieren lässt. Besondere Aufmerksamkeit gilt dabei der Gewinnung der Bedingungserfüllungsprobleme aus einer existierenden Spezifikation der statischen Semantik einer Programmiersprache und ihrer Anwendung auf ein Programm.

PL group moves to JGU Mainz

Sebastian Erdweg and his team move from TU Delft to JGU Mainz to start a new research group on programming languages.

Posted on | Posted in Allgemein