Withdraw
Loading…
Guiding code analysis and generation with probabilistic constraints
Wu, Zhengkai
Loading…
Permalink
https://hdl.handle.net/2142/117815
Description
- Title
- Guiding code analysis and generation with probabilistic constraints
- Author(s)
- Wu, Zhengkai
- Issue Date
- 2022-12-01
- Director of Research (if dissertation) or Advisor (if thesis)
- Xie, Tao
- Doctoral Committee Chair(s)
- Xie, Tao
- Committee Member(s)
- Marinov, Darko
- Zhang, Lingming
- Singh, Rishabh
- Department of Study
- Computer Science
- Discipline
- Computer Science
- Degree Granting Institution
- University of Illinois at Urbana-Champaign
- Degree Name
- Ph.D.
- Degree Level
- Dissertation
- Keyword(s)
- Constraint
- Program Synthesis
- Fuzz Testing
- Root Cause Analysis
- Abstract
- 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.
- Graduation Semester
- 2022-12
- Type of Resource
- Thesis
- Copyright and License Information
- Copyright 2022 Zhengkai Wu
Owning Collections
Graduate Dissertations and Theses at Illinois PRIMARY
Graduate Theses and Dissertations at IllinoisManage Files
Loading…
Edit Collection Membership
Loading…
Edit Metadata
Loading…
Edit Properties
Loading…
Embargoes
Loading…