Search for contacts, projects,
courses and publications

Type-based program synthesis of multilingual programs

People

 

Furia C. A.

(Responsible)

Abstract

Program synthesis has made great strides in the last decade, providing usable techniques and tools that can automatically generate programs implementing a certain functionality. Type-based synthesis techniques, in particular, strike an interesting balance between expressiveness and complexity, as they leverage the type annotations that are commonly available. Multilingual programs are another emerging trend in programming, as using different programming languages can be useful to bridge different technologies and frameworks. At the same time, combining multiple programming languages ultimately adds complexity to the software development process.

The main objective of this project is to apply modern synthesis techniques to multilingua programs. This entails: 1. Investigating programming patterns that are common in multilingual programs; 2. Developing new program synthesis techniques that are applicable within those patterns; 3. Evaluating the effectiveness, scalability, and accuracy of these techniques in realistic scenarios.

To this end, work in the project encompasses: 1. An empirical analysis of open-source multilingual software to mine the most common patters that can benefit from synthesis; 2. Extend existing type-based program synthesis techniques to leverage the kind of information that is commonly available the interface between languages in multilingual programs; 3. Experimentally evaluate the capabilities of the synthesis techniques on the benchmarks curated in step 1.

The expected output/results of the project include: a curated collection of benchmark; prototype tools implementing the new synthesis techniques; and replicable empirical evaluations. These results would impact the research fields of programming languages and software engineering in two main ways. First, they would lead to a rigorous understanding of the complexity of multilingual programs as they are used in practice, and of how synthesis techniques can help reduce that complexity. Second, they would practically contribute to helping programmers with novel tools that provide a higher degree of automation.

Additional information

Start date
01.02.2026
End date
31.05.2026
Duration
5 Months
Funding sources
SNSF, Swiss National Science Foundation
Status
Ended
Category
Swiss National Science Foundation / Scientific Exchanges