mlsanityData to 7 Oct 2026

Example-based Synthesis of Static Analysis Rules

arXiv 2204.08643 ↗First posted 19 Apr 2022cs.SE cs.AI cs.LOcited by 0

Not on the map. Why?

Abstract (arXiv)

Static Analysis tools have rules for several code quality issues and these rules are created by experts manually. In this paper, we address the problem of automatic synthesis of code quality rules from examples. We formulate the rule synthesis problem as synthesizing first order logic formulas over graph representations of code. We present a new synthesis algorithm RhoSynth that is based on Integer Linear Programming-based graph alignment for identifying code elements of interest to the rule. We bootstrap RhoSynth by leveraging code changes made by developers as the source of positive and negative examples. We also address rule refinement in which the rules are incrementally improved with additional user-provided examples. We validate RhoSynth by synthesizing more than 30 Java code quality rules. These rules have been deployed as part of a code review system in a company and their precision exceeds 75% based on developer feedback collected during live code-reviews. Through comparisons with recent baselines, we show that current state-of-the-art program synthesis approaches are unable to synthesize most of these rules.

Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 16 of its 71 references that are in the map. First posted on arXiv 19 Apr 2022.

Builds on

16 of 71 references.

References · 16

  1. 2017Learning to Represent Programs with Graphscited by 219
  2. 2017RobustFill: Neural Program Learning under Noisy I/Ocited by 124
  3. 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
  4. 2021Self-Supervised Bug Detection and Repaircited by 59
  5. 2019Getafix: Learning to Fix Bugs Automaticallycited by 40
  6. 2018Neural-Guided Deductive Search for Real-Time Program Synthesis from Examplescited by 39
  7. 2019Neural Program Repair by Jointly Learning to Localize and Repaircited by 39
  8. 2019Synthesizing Datalog Programs Using Numerical Relaxationcited by 23
  9. 2016Learning Syntactic Program Transformations from Examplescited by 17
  10. 2018Dissection of a Bug Dataset: Anatomy of 395 Patches from Defects4Jcited by 14
  11. 2017Semantic Code Repair using Neuro-Symbolic Transformation Networkscited by 13
  12. 2018Learning Quick Fixes from Code Repositoriescited by 8
4 more
  1. 2021SOAR: A Synthesis Approach for Data Science API Refactoringcited by 8
  2. 2017Interactive Program Synthesiscited by 6
  3. 2021Data-Driven Synthesis of Provably Sound Side Channel Analysescited by 4
  4. 2021Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical Analysiscited by 4

Built on by

Not cited yet.