Two Papers of the Programming Language Research Laboratory were Accepted by OOPSLA'23

OOPSLA'23, a well-known conference in the field of software engineering, recently announced the list of accepted papers and two papers Improving Oracle-Guided Inductive Synthesis by Efficient Question Selection and Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects by the Programming Language Lab were accepted. The details of the papers are listed below.

Title: Improving Oracle-Guided Inductive Synthesis by Efficient Question Selection

Authors: Ruyi Ji, Chaozhe Kong, Yingfei Xiong*, Zhenjiang Hu

Abstract:

Oracle-guided inductive synthesis (OGIS) is a widely-used framework to apply program synthesis techniques in practice. The question selection problem aims at reducing the number of iterations in OGIS by selecting a proper input for each OGIS iteration. Theoretically, a question selector can generally improve the performance of OGIS solvers on both interactive and non-interactive tasks if it is not only effective for reducing iterations but also efficient. However, all existing effective question selectors fail in satisfying the requirement of efficiency. To ensure effectiveness, they convert the question selection problem into an optimization one, which is difficult to solve within a short time.


In this paper, we propose a novel question selector, named LearnSy. LearnSy is both efficient and effective and thus achieves general improvement for OGIS solvers for the first time. Since we notice that the optimization tasks in previous studies are difficult because of the complex behavior of operators, we estimate these behaviors in LearnSy as simple random events. Subsequently, we provide theoretical results for the precision of this estimation and design an efficient algorithm for its calculation.

According to our evaluation, when dealing with interactive tasks, LearnSy can offer competitive performance compared to existing selectors while being more efficient and more general. Moreover, when working on non-interactive tasks, LearnSy can generally reduce the time cost of existing CEGIS solvers by up to 43.0%.


Title: Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects

Authors: Xing Zhang, Guanchen Guo, Xiao He, Zhenjiang Hu

Abstract:

Many bidirectional programming languages, which are mainly functional and relational, have been designed to support writing programs that run in both forward and backward directions. Nevertheless, there is little study on the bidirectionalization of object-oriented languages that are more popular in practice. Our paper “Bidirectional Object-Oriented Programming: Towards Programmatic and Direct Manipulation of Objects” presents the first bidirectional object-oriented language that supports programmatic and direct manipulation of objects. Specifically, we carefully extend a core object-oriented language, which has a standard forward evaluation semantics, with backward updating semantics for class inheritance hierarchies and references. We formally prove that the bidirectional evaluation semantics satisfies the round-tripping properties if the output is altered consistently. To validate the utility of our approach, we have developed a tool called BiOOP for generating HTML documents through bidirectional GUI design. We evaluate the expressiveness and effectiveness of BiOOP for HTML webpage development by reproducing ten classic object-oriented applications from a Java Swing tutorial and one large project from GitHub. The experimental results show the response time of direct manipulation programming on object-oriented programs that produce HTML webpages is acceptable for developers.


Previous Article:Associate Professor Xiong Yingfei Won the First Prize in Science from the Chinese Institute of Electronics
Next Article:Two Papers of the Programming Language Research Laboratory were Accepted by ICSE'23