CAREER: The Rational Programmer, An Investigative Method for Programming Language Pragmatics
- Institution
- Northwestern University, IL
- Principal investigator
- Christos Dimoulas
- Funding
- $535K
- Duration
- 2023–2028
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
Questions for Northwestern University
Answered by the team behind this research.
No questions yet. Sign in to ask the first one
Related grants
Same researchers, same institution, same topic, scored first.
- NSF · Northwestern UniversityNot yet scored
SHF: Small: A Programming Language Ecosystem for Higher-Order Software Contracts
Christos Dimoulas · $597K · 2024–2027
- NSF · Northwestern University67
SCC-IRG Track 1: Strengthening Resilience of Ojibwe Nations Across Generations (STRONG)
Kimberly Marion Suiseeya · $2.0M · 2023–2026
- NSF · Northwestern University64
Collaborative Research: Designing Polymer Grafted-Nanoparticle Melts through a Hierarchical Computational Approach
Sinan Keten · $406K · 2023–2027