
NSF Org: |
CCF Division of Computing and Communication Foundations |
Recipient: |
|
Initial Amendment Date: | January 25, 2023 |
Latest Amendment Date: | August 8, 2024 |
Award Number: | 2238744 |
Award Instrument: | Continuing Grant |
Program Manager: |
Anindya Banerjee
abanerje@nsf.gov (703)292-7885 CCF Division of Computing and Communication Foundations CSE Directorate for Computer and Information Science and Engineering |
Start Date: | May 1, 2023 |
End Date: | April 30, 2028 (Estimated) |
Total Intended Award Amount: | $550,000.00 |
Total Awarded Amount to Date: | $354,753.00 |
Funds Obligated to Date: |
FY 2024 = $129,731.00 |
History of Investigator: |
|
Recipient Sponsored Research Office: |
1109 GEDDES AVE STE 3300 ANN ARBOR MI US 48109-1015 (734)763-6438 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
503 THOMPSON ST ANN ARBOR MI US 48109-1340 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | Software & Hardware Foundation |
Primary Program Source: |
01002728DB NSF RESEARCH & RELATED ACTIVIT 01002324DB NSF RESEARCH & RELATED ACTIVIT 01002627DB NSF RESEARCH & RELATED ACTIVIT 01002526DB NSF RESEARCH & RELATED ACTIVIT |
Program Reference Code(s): |
|
Program Element Code(s): |
|
Award Agency Code: | 4900 |
Fund Agency Code: | 4900 |
Assistance Listing Number(s): | 47.070 |
ABSTRACT
Modern programming environments promise to make coding a less cognitively demanding activity by providing contextualized feedback, suggestions, and editing affordances. However, they can suffer from catastrophic gaps in service when the program being edited is incomplete, i.e., when there are missing pieces or errors. The programmer is left to simulate program behavior on their own in these situations -- a difficult and error-prone task even for professional programmers, and a major barrier to entry for novices. This project's novelties are that it develops a new generation of programming environments that achieve maximal liveness, i.e., that never suffer from these gaps in service. Maximal liveness is achieved by developing a novel direct manipulation code editing interface, tile-based editing, that automatically inserts program holes to maintain a sensible syntactic and semantic structure, even when the program is incomplete. The project's impacts are expected to be measurable decreases in the cognitive demand of educational, professional, and creative coding tasks, which will contribute to lowering the barriers to entry into computing.
The key mechanism, tile-based editing, fundamentally restructures code editing to allow for direct manipulation of the linearized projection of a program tree, while maintaining maximal liveness by automatically managing holes and delimiter matching obligations to continuously maintain a syntax tree internally. From there, this project scales up the language-theoretic foundations developed in recent work by the investigator, integrating liveness with modern language features like pattern matching (in languages like Haskell and Elm) and borrowing (in languages like Rust). These target languages feature in the investigator's programming languages courses and in educational resources targeting diverse creative communities, where the research is evaluated. In support of these educational efforts, the project develops novel live tutoring and authoring services that leverage the maximal liveness invariant to provide several novel forms of live, contextualized feedback, assistance, and direct manipulation editing affordances.
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.
PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH
Note:
When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external
site maintained by the publisher. Some full text articles may not yet be available without a
charge during the embargo (administrative interval).
Some links on this page may take you to non-federal websites. Their policies may differ from
this site.
Please report errors in award information by writing to: awardsearch@nsf.gov.