

Template based Program synthesis with Declarative Programming for RESTful APIs
Abstract
This research delves into the intersection of declarative programming and template-based program synthesis, with a specific focus on their application in the context of RESTful APIs. RESTful APIs are integral to modern web development, demanding efficient and error-free design. Declarative programming offers an innovative approach to simplify the intricacies of API development, while template-based synthesis provides a structured methodology for API design. The research commences by exploring the foundational concepts of declarative programming, emphasizing the use of high-level abstractions and constraints to specify API requirements. Declarative programming principles are leveraged to streamline RESTful API design, reducing the complexity of manual coding and enhancing the maintainability of the resulting APIs. A set of templates, informed by RESTful API design patterns and best practices, is introduced. These templates serve as a vital component in the synthesis process, enabling developers to express their API design intentions declaratively. Templates encapsulate common use cases and architectural paradigms, offering a structured approach to API design. Furthermore, the research also demonstrates how the program synthesis behaves on two different space generation techniques, using grammar and using petri-net on this particular domain. In conclusion, this project advances a compelling approach to RESTful API development by marrying declarative programming and template-based program synthesis.
References
A. K. Goharshady, S. Hitarth, F. Mohammadi and H. Motwani, "Template-based Program Synthesis using Stellensätze," no. Vol. 1, 2018.
S. Gulwani, "FlashFill: Automatic Program Synthesis for Excel. Communications of the ACM," 2016.
A. Solar-Lezama, " Program Synthesis by Sketching," 2006.
O. Polozov, S. Gulwani and S. A. and Seshia, "Program synthesis for characterizing repetitive string transformations," 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 281-294, 2015.
S. Gulwani, R. Singh and A. Udupa, "RobustFill: Neural Program Learning under Noisy I/O," 35th International Conference on Machine Learning, pp. 2043-2052, 2018.
Y. Mou, P. Jain and W. W. Cohen, "DeepCoder: Learning to Write Programs," 36th International Conference on Machine Learning, pp. 4905-4914, 2019.
O. Polozov, S. Gulwani and R. Singh, "Exemplar: A dual modeling approach to bridging theory and practice for automated program repair," 2015 International Symposium on Software Testing and Analysis, pp. 84-94, 2015.
R. Singh, A. Svyatkovskiy and S. Gulwani, "Prophesy: Probabilistic Sketch-Based Program Synthesis," Conference on Programming Language Design and Implementation, pp. 777-792, 2020.
Z. Guo, C. David , D. Tjong, J. Yang, C. Schlesinger and N. Polikarpova, "Type-directed program synthesis for RESTful APIs," PLDI 2022: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, pp. 122-136, 2022.
Refbacks
- There are currently no refbacks.