Back to search

University of Illinois at Urbana-Champaign

Guiding code analysis and generation with probabilistic constraints

Abstract

dc:description

Different forms of constraints have been a useful kind of artifacts across multiple computer science domains, especially in code analysis and generation tasks. Existing constraint-based approaches (being guided by constraints) often work under the assumption that in the solution to the target problem, every constraint must be satisfied. However, we show that this assumption may limit the effectiveness of the existing constraint-based approaches. To overcome the aforementioned limitation, we explore ideas to extract and maintain probabilistic constraints in this dissertation. Probabilistic constraints are defined as constraints assigned with a probability distribution denoting the likelihood of each constraint to be satisfied. The probability distribution allows us to incorporate a broader range of constraints with different levels of confidence reflected by the probability, thus helping with the tasks of code analysis and generation. To effectively guide code analysis and generation with probabilistic constraints, we propose approaches in four specific tasks. In the first half of this dissertation, we investigate the code analysis tasks. In the first part (REINAM), we focus on how to maintain the probability distribution on the grammatical constraints to allow better generalization ability in the grammar-guided fuzzing problem. In the second part (Groot), we focus on how to design different types of constraints to more accurately locate the root cause when conducting root cause analysis in a complicated microservice system. In the second half, we investigate the code generation tasks. In the third part (NL2Viz), we focus on how to extract probabilistic constraints from ambiguous inputs such as natural language (NL) and data context in the task of NL-to-visualization (in short as NL2Visualization). In the fourth part (NRRanker), we focus on how to generate additional probabilistic constraints based on the given NL instruction to rank the initial candidate regular expressions in the task of NL-to-regularexpression (in short as NL2Regex). Based on the empirical evaluations of our proposed approaches in the four tasks, we find that the guidance of probabilistic constraints substantially improves the effectiveness of constraint-based approaches on the tasks of code analysis and generation.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2022

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Wu, Zhengkai
Contributors dc:contributor
  • Xie, Tao
  • Marinov, Darko
  • Zhang, Lingming
  • Singh, Rishabh

Subjects

dc:subject × 4

Rights

dc:rights
Statement dc:rights
  • Copyright 2022 Zhengkai Wu
Language dc:language
en, eng

Identifiers

dc:identifier.*
Handle dc:identifier
https://hdl.handle.net/2142/117815

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Wu, Zhengkai. Guiding code analysis and generation with probabilistic constraints. Dissertation thesis, University of Illinois at Urbana-Champaign, 2022. https://hdl.handle.net/2142/117815