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
Oscar Nierstrasz
About me
IC Bern test
About me
Posts
Example-Driven Development
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
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
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.
Ten Things I Hate About Object-Oriented Programming
Published:
Boy, I some days I really hate object-oriented programming.
portfolio
Portfolio item number 1
Short description of portfolio item number 1
Portfolio item number 2
Short description of portfolio item number 2
publications
Making Systems Explainable
Published in VISSOFT, 2022
In this keynote presentation, we will show how software systems can be made explainable with the help of three interacting technologies.
Recommended citation: Oscar Nierstrasz and Tudor Gîrba, Making Systems Explainable, VISSOFT 22: Proceedings of the 10th IEEE Working Conference on Software Visualization, IEEE, 2022. https://www.oscar.nierstrasz.org/files/publications/Nier22a-ExplainableSystems.pdf
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
The Death of Object-Oriented Programming
Published:
Invited talk at FASE-ETAPS 2016 (19th International Conference on Fundamental Approaches to Software Engineering (FASE) — Eindhoven, The Netherlands, April 4-7, 2016)
Great Moments in the History of OOP
Published:
Invited talk at Simula 50 Years: “Great Moments in the History of OOP” (50 years anniversary of Simula, the first object-oriented programming language — Oslo, Norway, Sept. 27, 2017)
Taming your PhD
Published:
Presented at ASE 2020 Doctoral Symposium, Melbourne, Australia.
Making Systems Explainable
Published:
This was an invited Keynote presentation at VISSOFT 2022 (10th IEEE Working Conference on Software Visualization), Limmasol, Cyprus.
Mind the gap — 50 years of shortening feedback loops
Published:
Invited talk at BATbern50 – Jubiläums-BAT 50, Paul-Klee Center, Bern, 14h30-19h00, June 9, 2023.
Embracing Software Variability to build Explainable Systems
Published:
Invited talk at VAMOS 24 (18th International Working Conference on Variability Modelling of Software-Intensive Systems, Bern, Switzerland, Feb. 7 - 9, 2024) — “Embracing Software Variability to build Explainable Systems”
Example-Driven Development
Published:
Presentation at Smalltalk Meetup Zurich (Zurich, April 26, 2024) — “Example-Driven Development”
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.