







By R. S. Doiel, 2026-02-21 (revised: 2026-03-03, epilogue added 2026-03-27)
Geoffrey Litt
Welcome! I work on malleable software: computing environments where anyone can adapt their software to meet their needs with minimal friction. To see what that means to me, read this essay or listen to this interview.

The Interface of Kai Krause's Software @mprove
Matthias Müller-Prove, Innovative Benutzungsschnittstellen, 1998/99, University of Hamburg

Fine-grained and accurate source code differencing | Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.

The Next Two Years of Software Engineering
Exploring five critical questions shaping software engineering through 2026, with contrasting scenarios for each. These lenses help prepare for the evolving ...

SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?
Large Language Model (LLM) agents have been widely adopted in modern software development workflows. SWE-bench [13] and related works [23, 24, 22, 25, 15] establish the task of issue resolution as a de-facto standard for assessing their capability and usefulness. In this setting, an agent is given an entire codebase, a task description (e.g., a bug report or feature request) in natural language and is instructed to produce a code patch that resolves the issue and passes the repository’s test suite. These benchmarks have been instrumental in demonstrating both the substantial potential and the persistent limitations of current models as SWE agents.
Malleable Software in the Age of AI - Geoffrey Litt
Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl
Notes from my Thoughtworks colleagues on AI-assisted software delivery

Varv: Reprogrammable Interactive Software as a Declarative Data Structure
This summary was generated using automated tools and was not authored or reviewed by the article's author(s). It is provided to support discovery, help readers assess relevance, and assist readers from adjacent research areas in understanding the work. It is intended to complement the author-supplied abstract, which remains the primary summary of the paper. The full article remains the authoritative version of record. Click here to learn more.

Resugaring | Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation
Syntactic sugar plays a crucial role in engineering programming languages. It offers convenient syntax and higher-level of abstractions, as witnessed by its pervasive use in both general-purpose and domain-specific contexts. Unfortunately, the ...


Software Engineering Productivity Research - Home
Denicek: Computational Substrate for Document-Oriented End-User Programming
As part of the Digital Library's transition to Open Access, new features for researchers are available in the Premium Edition. Click here to learn more.

LukeW | Common AI Product Issues
At this point, almost every software domain has launched or explored AI features. Despite the wide range of use cases, most of these implementations have been t...

Boomerang | Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bidirectional programming languages are a practical approach to the view update problem. Programs in these languages, called lenses, define both a view and an update policy - i.e., every program can be read as a function mapping sources to views as well ...
