ANNOUNCEMENT

NOBEL PRIZE 2026

This year's laureates, their fields, and the discoveries that earned them the prize.Live nowSee the winners
Moonbase
← Back to Awards
NSFDirectorate for Computer and Information Science and Engineering

CAREER: The Rational Programmer, An Investigative Method for Programming Language Pragmatics

Active
Institution
Northwestern University, IL
Principal investigator
Christos Dimoulas
Funding
$535K
Duration
2023–2028
Open portfolio

Moonbase score

Still being scored

Abstract

The productivity of developers depends on the quality of the available programming languages: whether they support testing adequately, help with locating and fixing mistakes, or contribute to the maintenance of software, which often survives its creators. If a programming language does not support these routine development tasks, the developer is forced to resort to labor-intensive and ineffective workarounds. The goal of this project is to develop a scientific instrument for examining how well a programming language supports developers in different work contexts. The project's novelty is the instrument itself: a method for constructing automated, large-scale simulations that (in)validate hypotheses about how a developer can benefit from a language to complete a work. The project's results are going to impact: (i) language designers and researchers: the method provides the means for evaluating their products; (ii) instructors: the evaluations yield concrete scenarios and strategies for demonstrating the value of a language feature or tool in action. While simulations have a long history in computer science, the project's method puts them to new use in programming languages. In the project's setting, the heart of each simulation is the rational programmer, an algorithmic abstraction of how a developer reacts to information from language implementations in the context of a work situation. In other words, a rational programmer embodies a strategy that a developer can employ while working in a context towards a goal. When the simulation of a rational programmer on a large number of scenarios fails to reach the developer's goal, it invalidates a hypothesis about the developer strategy. It points designers and researchers to a problematic aspect of the language. When it succeeds, it informs instructors how to teach students the effective use of this part of the language. This project aims to put to test the feasibility of the rational-programmer method by conducting three major investigations in three different contexts: testing, performance profiling, and language expressiveness. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

LOADING MOONBASE SCORE

Directorate for Computer and Information Science and EngineeringSoftware & Hardware FoundationCAREER-Faculty Erly Career DevPROGRAMMING LANGUAGESlanguagelanguagesrationalprogrammingdesignersprogramming languagesprogramming languagedeveloper

Questions for Northwestern University

Answered by the team behind this research.

Same researchers, same institution, same topic, scored first.