More about HKUST
Algebro-geometric Approaches to Automated Program Synthesis
PhD Qualifying Examination Title: "Algebro-geometric Approaches to Automated Program Synthesis" by Mr. Hitarth SINGH Abstract: Automated program synthesis is the problem of generating a program from high-level specifications in a given domain-specific programming language (DSL). The construction ensures that the program is correct and meets the high-level specifications used to generate the program. Synthesis has applications from allowing people without programming experience to automate routine tasks to creating safety-critical programs. Many techniques have been developed and studied for program syntheses such as enumerative techniques, deductive techniques, machine learning-based techniques, genetic programming, and constraint-based techniques. Programming By Example (PBE), for instance, is the technique in which the user expresses their intent by providing input-output examples as the specifications. We will survey various techniques for program synthesis. Program synthesis has practical applications in diverse fields. Various synthesis tools have been developed that help the user to synthesize programs to perform routine tasks like data cleaning, data transformation, and converting raw semi-structured data into more structured data that is easier to analyze. Synthesis has also been applied to graphics; given a drawing with a repeated pattern, one can generate a program that, when executed, draws the same pattern but for an arbitrary size. We survey various exciting applications of synthesis. Template-based synthesis problem is one where the programmer provides the high-level structure of the program while leaving the low-level details as holes for the synthesis engine to fill. Polynomial program is the class of imperative programs where each expression is restricted to be a polynomial over the program variables. It forms a highly expressive class of programs used in cyber-physical systems, and as subroutines in complex programs. Polynomial programs can also represent many real-world programs through over-approximation of program behavior through abstract interpretation. We present our synthesis algorithm for polynomial programs based on tools from algebraic geometry such as Handelman’s Theorem and Putinar's Positivstellensatz. Broadly, our algorithm eliminates the quantifier alternation and reduces the synthesis problem to quadratic-constrained quadratic programming (QCQP). This reduction makes the otherwise intractable problem solvable using the SMT solvers like Z3 and MathSAT. The field of synthesis is quite broad and has exciting research opportunities. We conclude with future research directions in polynomial program synthesis. Date: Monday, 6 February 2023 Time: 11:00am - 1:00pm Venue: Room 5501 Lifts 25/26 Committee Members: Dr. Amir Goharshady (Supervisor) Prof. Pedro Sander (Chairperson) Dr. Sunil Arya Dr. Dimitris Papadopoulos **** ALL are Welcome ****