Thesis topics
Development of formal data description based software synthesis algorithms and software for multiple programming languages
title
Development of formal data description based software synthesis algorithms and software for multiple programming languages
institution
doctoral_school
supervisor
discipline
description
Most practical software systems deal with data collection, storage, process and presentation, nowadays generally in distributed deployments. There are several languages to describe data content (XML, SQL, JSON), the user interfaces that allow manipulating them (HTML, XUL, GLADE), even the typical processing algorithms stay within a relatively small area.
The aim of this research is to create software synthesis methods that, acting like compiler components and using the formal data and operation description, can automatically generate process communication, user interface and executable data processing components, either during compilation or even runtime; all for multiple programming languages.
Steps of this research
- Study storage, communication and user interface description languages, give their formal definitions in a common platform.
- Survey existing software synthesis methods, identify their requirements and features, construct a generic language for process definition.
- Describe the requirements and genuine features of the planned software synthesis methodology.
- Create working software synthesis methods for multiple programming languages, analyze and publish the results.
- Design a network distributed runtime environment based on this new formal data and process description method, build and analyze a prototype implementation, publish the results.
Preliminary results can be found in the following publications:
[1] C. Kreitz. "Program Synthesis". In W. Bibel and P. H. Schmitt, (eds.), Automated Deduction - A Basis for Applications, pp. 105-134. Kluwer, 1998.
[2] Armando Solar-Lezama: Program Synthesis by Sketching, Texas A&M University, 2003.
[3] James Bornholt, Emina Torlak, Dan Grossman, and Luis Ceze: Optimizing Synthesis with Metasketches, POPL 2016.
The aim of this research is to create software synthesis methods that, acting like compiler components and using the formal data and operation description, can automatically generate process communication, user interface and executable data processing components, either during compilation or even runtime; all for multiple programming languages.
Steps of this research
- Study storage, communication and user interface description languages, give their formal definitions in a common platform.
- Survey existing software synthesis methods, identify their requirements and features, construct a generic language for process definition.
- Describe the requirements and genuine features of the planned software synthesis methodology.
- Create working software synthesis methods for multiple programming languages, analyze and publish the results.
- Design a network distributed runtime environment based on this new formal data and process description method, build and analyze a prototype implementation, publish the results.
Preliminary results can be found in the following publications:
[1] C. Kreitz. "Program Synthesis". In W. Bibel and P. H. Schmitt, (eds.), Automated Deduction - A Basis for Applications, pp. 105-134. Kluwer, 1998.
[2] Armando Solar-Lezama: Program Synthesis by Sketching, Texas A&M University, 2003.
[3] James Bornholt, Emina Torlak, Dan Grossman, and Luis Ceze: Optimizing Synthesis with Metasketches, POPL 2016.
student count limit
1
location
University of Pannonia, Veszprém, Egyetem str. 10., Faculty of Information Technology, Department of Computer Science and Systems Technology
deadline
2017-07-11

