Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

Example-Driven Development

10 minute read

Published:

Example-Driven Development is superficially like Test-Driven Development, where you drive development by constructing test methods that return example objects. It sounds simple, but it actually changes the development process in several fundamental ways.

Teaching Moldable Development

11 minute read

Published:

Moldable Development is a way of developing software in which you build many, small custom tools to solve problems. This implies new tools and new associated skills. As with any new way of thinking, teaching can be challenging. In this session we go draw lessons from our experience of teaching Moldable Development in practice, including how it changes the teaching experience itself.

Mind the gap — 50 years of shortening feedback loops

26 minute read

Published:

On the occasion of the 50th BATbern event, it occurred to me that it has been roughly 50 years since I started programming. In that time I’ve seen quite a few advances in Software Engineering. I’d like to take this opportunity to reflect on how these advances have not only shortened feedback loops in software development processes, but also how they have enabled new possibilities for innovation.

portfolio

publications

A decade of code comment quality assessment: A systematic literature review

Published in Journal of Systems and Software, 2023

We present a Systematic Literature Review (SLR) of the last decade of research in SE.

Recommended citation: Pooja Rani and Arianna Blasi and Nataliia Stulova and Sebastiano Panichella and Alessandra Gorla and Oscar Nierstrasz, A decade of code comment quality assessment: A systematic literature review, Journal of Systems and Software, 195, January 2023. https://www.oscar.nierstrasz.org/files/publications/Rani22c-ADecadeOfCodeCommentQualityAssessment.pdf

EGAD: A moldable tool for GitHub Action analysis

Published in 14th International Conference on Mining Software Repositories (MSR 2023), 2023

We present our preliminary steps in building EGAD (Explorable GitHub Action Domain Model), a moldable domain-specific tool to depict and analyze detailed GA workflow data.

Recommended citation: Pablo Valenzuela-Toledo and Alexandre Bergel and Timo Kehrer and Oscar Nierstrasz, EGAD: A moldable tool for GitHub Action analysis, Proceedings of the 14th International Conference on Mining Software Repositories (MSR 23), 2023. https://scg.unibe.ch/archive/papers/Vale23a.pdf

Exploring GitHub Actions through EGAD: An Experience Report

Published in International Workshop on Smalltalk Technologies (IWST 23), 2023

We present our experience developing and using EGAD (Explorable GitHub Action Domain Model) and share valuable insights we gained. Our focus is on three key areas: (i) onboarding of Glamorous Toolkit (GT), (ii) creating a comprehensive and explorable domain model of GA, and (iii) highlighting the potential of EGAD as a research workbench.

Recommended citation: Pablo Valenzuela-Toledo and Alexandre Bergel and Timo Kehrer and Oscar Nierstrasz, Exploring GitHub Actions through EGAD: An Experience Report, IWST 23: Proceedings of International Workshop on Smalltalk Technologies, 2023. https://scg.unibe.ch/archive/papers/Vale23b.pdf

Moldable Development Patterns

Published in Proceedings of EuroPLoP 2024, 2024

Based on several years of experience of applying moldable development to both open-source and industrial systems, we have identified several mutually supporting patterns to explain how moldable development works in practice.

Recommended citation: Oscar Nierstrasz and Tudor Gîrba, Moldable Development Patterns, Proceedings of EuroPLoP 2024. https://arxiv.org/abs/2409.18811

The Hidden Costs of Automation: An Empirical Study on GitHub Actions Workflow Maintenance

Published in SCAM 2024 (IEEE 24th International Working Conference on Source Code Analysis and Manipulation), 2024

This paper presents a large-scale empirical investigation towards characterizing the maintenance of GA workflows by studying the evolution of workflow files in almost 200 mature GitHub projects across ten programming languages.

Recommended citation: Pablo Valenzuela-Toledo and Alexandre Bergel and Timo Kehrer and Oscar Nierstrasz, The Hidden Costs of Automation: An Empirical Study on GitHub Actions Workflow Maintenance, Proceedings of SCAM 2024 (IEEE 24th International Working Conference on Source Code Analysis and Manipulation), 2024 https://arxiv.org/abs/2409.02366

Example-driven development: bridging tests and documentation

Published in Live 2024, co-located with SPLASH 2024, 2024

We show (i) how Example-Driven Development (EDD) enriches TDD with live programming, (ii) how examples can be molded with tiny tools to answer analysis questions, and (iii) how examples can be embedded within live documentation to make a system explainable.

Recommended citation: Oscar Nierstrasz and Andrei Chiş and Tudor Gîrba, Example-driven development: bridging tests and documentation, 2024, presented at Live 2024, co-located with SPLASH 2024. https://arxiv.org/abs/2409.00514

Automated Generation of Code Contracts — Generative AI to the Rescue?

Published in GPCE 2024: Proceedings of the 23rd international conference on Generative programming and component engineering, 2024

This paper examines the potential of Generative AI to automatically generate code contracts in terms of pre- and postconditions for any Java project without requiring any additional auxiliary artifact.

Recommended citation: Sandra Greiner and Noah Bülmann and Manuel Ohrndorf and Christos Tsigkanos and Oscar Nierstrasz and Timo Kehrer, Automated Generation of Code Contracts — Generative AI to the Rescue?, GPCE 2024: Proceedings of the 23rd international conference on Generative programming and component engineering, 2024 http://scg.unibe.ch/archive/papers/Grei24a-CodeContracts.pdf

Moldable Exceptions

Published in Proceedings of Onward! 2024, 2024

In this paper we introduce “moldable exceptions”, a lightweight mechanism to adapt a debugger‘s interface based on contextual information provided by a raised exception.

Recommended citation: Andrei Chiş and Oscar Nierstrasz and Tudor Gîrba, Moldable Exceptions, Proceedings of Onward! 2024 https://arxiv.org/abs/2409.00465

talks

teaching

PEGs, Packrats and Parser Combinators

Guest lecture, University of Bern, 2023

This was a guest lecture held on April 6, 2023, and again on April 9, 2024 for the Masters course on Compiler Construction offered by Timo Kehrer at the University of Bern. The lecture provides an introduction to Parsing Expression Grammars, as a well as a live demo using the PetitParser framework to build an interpreter for a toy programming language.

A bit of Smalltalk

Guest lecture, University of Bern, 2024

This guest lecture for the Bachelors course, Programming 2 (introduction to object-oriented design) taught by Timo Kehrer, was given on May 20, 2022 at the University of Bern, and repeated on May 12, 2023 and May 9, 2024. The lecture consists of a live demo of the Smalltalk programming language in the Glamorous Toolkit environment. The lecture relies on a demo of the Ludo game which was the subject of students group work during the course. During the lecture we see two alternative implementations of the game and how their internal implementation is visualized and documented in the environment.