第四届北京大学程序设计语言讨论班

  时间:2019年12月25日10:00-11:30

 地点:北京大学理科二号楼2135号

    如果您不是北京大学的学生/教授/校友/校友,请在研讨会开始前24小时将您的姓名和身份证发送给陈亚静(chenyajing0711@pku.edu.cn),以便进入北京大学。


Talk 1: Using Active Learning to Synthesize Models of Applications That Access Databases

Speaker: Jiasi Shen

Abstract:

We present Konure, a new system that uses active learning to infer models of applications that access relational databases. Konure comprises a domain-specific language (each model is a program in this language) and associated inference algorithm that infers models of applications whose behavior can be expressed in this language. The inference algorithm generates inputs and database configurations, runs the application, then observes the resulting database traffic and outputs to progressively refine its current model hypothesis. Because the technique works with only externally observable inputs, outputs, and database configurations, it can infer the behavior of applications written in arbitrary languages using arbitrary coding styles (as long as the behavior of the application is expressible in the domain-specific language). Konure also implements a regenerator that produces a translated Python implementation of the application that systematically includes relevant security and error checks.

Bio:

Jiasi Shen is a PhD student at MIT advised by professor Martin Rinard. She received her bachelor's degree in Computer Science from Peking University. Her research interests are in programming languages and software engineering.


Talk 2: Learning to Synthesize


Speaker: Yingfei Xiong

Abstract:

The core of bug fixing is to synthesize a correct program to replace the buggy program. Due to the well-known problem of weak specification, the synthesized program should not only pass the tests but should have a high probability of being correct. In this talk, I will introduce our recent work on the learning to synthesize framework to address this problem. Based on a training set of programs and their contexts, this framework combines four tools including rewriting rules, machine learning, constraint solving, and search algorithms to find the most likely programs under a context. We have instantiated the framework for program repair and code generation, both showing significant improvements over the state-of-the-art.

Bio:

Yingfei Xiong is an associate professor at Peking University. He got his Ph.D. degree from the University of Tokyo in 2009 and worked as a postdoctoral fellow at University of Waterloo between 2009 and 2011. His research interests lie in software engineering and programming language in general, and bug fixing in particular. He has proposed a set of theories, methodologies, and techniques for bug fixing. For example, the repair approach, ACS, is the first one that achieved >70% precision on a general benchmark; in terms of evolutionary bugs, the delta-based bidirectional transformation framework is now considered as one of the standard types of bidirectional transformation frameworks. His work has been adopted by the industry, such as a Linux kernel configuration project, the Huawei company, and the YanCloud DaaS system.


上一条:第五届北京大学程序设计语言讨论班
下一条:第三届北京大学程序设计语言讨论班