SHF:Small:Collaborative Research: Languages and Tools for Multilingual Systems
New York University, New York NY
Investigators
Abstract
Software developers are increasingly building applications in multiple languages both to reuse existing software libraries and to leverage the languages best suited to their problems. In fact, multilingual programs are already prevalent, as essentially all programs written in Java use code written in C as well. But developing multilingual programs poses more challenges and difficulties than developing single language programs. Current programming interfaces between multiple languages tend to be tedious and unsafe; and most programming tools only support a single language. As a consequence, real-world multilingual programs are full of cross-language bugs. This research seeks to substantially improve the correctness and development of multilingual programs. The investigators build on their prior multilingual language design (the Jeannie Java/C language), compilers (the xtc Jeannie compiler), and debuggers (the Blink Java/C debugger). Here, the investigators are designing and implementing novel approaches for validating the safety of existing multilingual interfaces and for creating safe multilingual programs. (1) The investigators are developing a framework for concisely capturing safety rules for multilingual interfaces and then automatically synthesizing the corresponding dynamic checker. (2) The investigators are exploring novel program analysis to refactor programs automatically that use unsafe multilingual interfaces into programs that use safe multilingual interfaces. If successful, the research impact will be improved correctness, efficiency, and reliability of multilingual programs.
View original record on NSF Award Search →