Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Pavol Bielik

dblp:32/11105 · DBLP profile ↗
← Back
14ranked-venue papers
6as first author
2since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Artificial intelligence and machine learning · 7 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 3 first-author · 1 since 2021Theory of computation · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
11 papers
Program synthesis and code generation · 59% Concurrent programming · 20% Program analysis · 15%
Artificial intelligence
6 papers
Trustworthy machine learning · 69% Time series and sequential data · 16% Planning, search and constraint satisfaction · 12%
Network and information security
1 paper
Security and privacy of machine learning · 100%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

Topics — the 24 heaviest of 27, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Machine learning › Trustworthy machine learning › robustness
adversarial robustness
0.922021
Automated Discovery of Adaptive Attacks on Adversarial Defenses · NeurIPS 2021
Adversarial Robustness for Code · ICML 2020
Machine learning › Trustworthy machine learning › robustness › adversarial attack
adaptive attack
0.512021
Automated Discovery of Adaptive Attacks on Adversarial Defenses · NeurIPS 2021
Machine learning › Trustworthy machine learning › robustness
certified robustness
0.512021
Robustness certification with generative models · PLDI 2021
Program synthesis and code generation
code completion
0.522016
Learning programs from noisy data · POPL 2016
Probabilistic model for code with decision trees · OOPSLA 2016
Concurrent programming
concurrency bugs
0.522016
SDNRacer: concurrency analysis for software-defined networks · PLDI 2016
Scalable race detection for Android applications · OOPSLA 2015
Concurrent programming › concurrency bug detection
data race detection
0.522016
SDNRacer: concurrency analysis for software-defined networks · PLDI 2016
Scalable race detection for Android applications · OOPSLA 2015
Machine learning › Time series and sequential data › time series modeling
probabilistic time series forecasting
0.412020
Adversarial Attacks on Probabilistic Autoregressive Forecasting Models · ICML 2020
Security and privacy of machine learning
adversarial attack
0.412020
Adversarial Attacks on Probabilistic Autoregressive Forecasting Models · ICML 2020
Program synthesis and code generation
example generation
0.412020
Guiding Program Synthesis by Learning to Generate Examples · ICLR 2020
Program synthesis and code generation
programming by example
0.322018
Learning programs from noisy data · POPL 2016
Robust relational layout synthesis from examples for Android · Proc. ACM Program. Lang. 2018
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
tree search
0.312018
Learning to Solve SMT Formulas · NeurIPS 2018
Automated reasoning and model checking
satisfiability modulo theories
0.312018
Learning to Solve SMT Formulas · NeurIPS 2018
Program synthesis and code generation › neural program synthesis
LLM-based program synthesis
0.312017
Program Synthesis for Character Level Language Modeling · ICLR (Poster) 2017
Program analysis
static analysis
0.312017
Learning a Static Analyzer from Data · CAV (1) 2017
Network management and operations
network verification
0.212016
SDNRacer: concurrency analysis for software-defined networks · PLDI 2016
Program synthesis and code generation › code completion
statistical code completion
0.212016
Learning programs from noisy data · POPL 2016
Program analysis
dynamic analysis
0.212015
Scalable race detection for Android applications · OOPSLA 2015
Program analysis › dynamic analysis
happens-before analysis
0.212015
Scalable race detection for Android applications · OOPSLA 2015
Program verification
neural network verification
0.112021
Robustness certification with generative models · PLDI 2021
Program synthesis and code generation
neural code model
0.112020
Adversarial Robustness for Code · ICML 2020
Natural language and speech › Language models and text generation › language modeling
character-level language modeling
0.112017
Program Synthesis for Character Level Language Modeling · ICLR (Poster) 2017
Programming languages and type systems › syntax
grammar
0.112016
PHOG: Probabilistic Model for Code · ICML 2016
Debugging and program repair
program repair
0.112016
Probabilistic model for code with decision trees · OOPSLA 2016
Distributed systems
distributed coordination
0.112016
SDNRacer: concurrency analysis for software-defined networks · PLDI 2016

Methods — techniques the papers use, named apart from their topics

program synthesis · 1.2probabilistic certification · 1.0convex relaxation · 1.0bayesian conditioning · 0.9adversarial training · 0.9adversarial attack · 0.9reinforcement learning · 0.7probabilistic modeling · 0.6happens-before model · 0.5dynamic analysis · 0.5compositional search space · 0.5automated attack search · 0.5monte-carlo estimation · 0.4monte carlo estimation · 0.4learning to generate examples · 0.4constraint solving · 0.3machine learning · 0.3language modeling · 0.3
YearPublicationVenuePosition
2021 Automated Discovery of Adaptive Attacks on Adversarial Defenses
abstract
Reliable evaluation of adversarial defenses is a challenging task, currently limited to an expert who manually crafts attacks that exploit the defense’s inner workings, or to approaches based on ensemble of fixed attacks, none of which may be effective for the specific defense at hand. Our key observation is that adaptive attacks are composed from a set of reusable building blocks that can be formalized in a search space and used to automatically discover attacks for unknown defenses. We evaluated our approach on 24 adversarial defenses and show that it outperforms AutoAttack, the current state-of-the-art tool for reliable evaluation of adversarial defenses: our tool discovered significantly stronger attacks by producing 3.0%-50.8% additional adversarial examples for 10 models, while obtaining attacks with slightly stronger or similar strength for the remaining models.
Chengyuan Yao, Pavol Bielik, Petar Tsankov, Martin T. Vechev
NeurIPS2
2021 Robustness certification with generative models
abstract
Generative neural networks are powerful models capable of learning a wide range of rich semantic image transformations such as altering person's age, head orientation, adding mustache, changing the hair color and many more. At a high level, a generative model effectively produces new and previously unseen images with the desired properties, which can then be used to improve the accuracy of existing models. In this work, we advance the state-of-the-art in verification by bridging the gap between (i) the well studied but limited norm-based and geometric transformations, and (ii) the rich set of semantic transformations used in practice. This problem is especially hard since the images are generated from a highly non-convex image manifold, preventing the use of most existing verifiers, which often rely on convex relaxations. We present a new verifier, called GenProve, which is capable of certifying the rich set of semantic transformations of generative models. GenProve can provide both sound deterministic and probabilistic guarantees, by capturing infinite non-convex sets of activation vectors and distributions over them, while scaling to realistic networks.
Matthew Mirman, Alexander Hägele, Pavol Bielik, Timon Gehr, Martin T. Vechev
PLDI3
2020 Guiding Program Synthesis by Learning to Generate Examples
Larissa Laich, Pavol Bielik, Martin T. Vechev
ICLR2
2020 Adversarial Robustness for Code
abstract
Machine learning and deep learning in particular has been recently used to successfully address many tasks in the domain of code such as finding and fixing bugs, code completion, decompilation, type inference and many others. However, the issue of adversarial robustness of models for code has gone largely unnoticed. In this work, we explore this issue by: (i) instantiating adversarial attacks for code (a domain with discrete and highly structured inputs), (ii) showing that, similar to other domains, neural models for code are vulnerable to adversarial attacks, and (iii) combining existing and novel techniques to improve robustness while preserving high accuracy.
Pavol Bielik, Martin T. Vechev
ICML1
2020 Adversarial Attacks on Probabilistic Autoregressive Forecasting Models
abstract
We develop an effective generation of adversarial attacks on neural models that output a sequence of probability distributions rather than a sequence of single values. This setting includes the recently proposed deep probabilistic autoregressive forecasting models that estimate the probability distribution of a time series given its past and achieve state-of-the-art results in a diverse set of application domains. The key technical challenge we address is how to effectively differentiate through the Monte-Carlo estimation of statistics of the output sequence joint distribution. Additionally, we extend prior work on probabilistic forecasting to the Bayesian setting which allows conditioning on future observations, instead of only on past observations. We demonstrate that our approach can successfully generate attacks with small input perturbations in two challenging tasks where robust decision making is crucial – stock market trading and prediction of electricity consumption.
Raphaël Dang-Nhu, Gagandeep Singh 0001, Pavol Bielik, Martin T. Vechev
ICML3
2018 Learning to Solve SMT Formulas
abstract
We present a new approach for learning to solve SMT formulas. We phrase the challenge of solving SMT formulas as a tree search problem where at each step a transformation is applied to the input formula until the formula is solved. Our approach works in two phases: first, given a dataset of unsolved formulas we learn a policy that for each formula selects a suitable transformation to apply at each step in order to solve the formula, and second, we synthesize a strategy in the form of a loop-free program with branches. This strategy is an interpretable representation of the policy decisions and is used to guide the SMT solver to decide formulas more efficiently, without requiring any modification to the solver itself and without needing to evaluate the learned policy at inference time. We show that our approach is effective in practice - it solves 17% more formulas over a range of benchmarks and achieves up to 100x runtime improvement over a state-of-the-art SMT solver.
Mislav Balunovic, Pavol Bielik, Martin T. Vechev
NeurIPS2
2018 Robust relational layout synthesis from examples for Android
abstract
We present a novel approach for synthesizing robust relational layouts from examples. Given an application design consisting of a set of views and their location on the screen, we synthesize a relational layout that when rendered, places the components at that same location. We present an end-to-end system, called InferUI, that addresses the above challenge in the context of Android. The system is based on the following technical contributions: (i) a formalization of the latest and most efficient ConstraintLayout class, capturing a rich set of relational constraints, (ii) a set of robustness properties designed to prevent common layout generalization errors, (iii) a synthesis algorithm that produces relational layouts that generalize across multiple screen sizes and resolutions, and (iv) a probabilistic model of constraints that guides the synthesizer towards layouts preferred by developers. Our evaluation shows that InferUI is practically effective: it successfully synthesizes real world complex layouts obtained from top 500 GitHub and top 500 Google Play Store applications, succeeds in 100% of the cases when synthesizing layouts for a single device, and correctly generalizes 92% of the views across multiple devices, all without requiring additional specifications.
Pavol Bielik, Marc Fischer 0002, Martin T. Vechev
Proc. ACM Program. Lang.1
2017 Learning a Static Analyzer from Data
Pavol Bielik, Veselin Raychev, Martin T. Vechev
CAV (1)1
2017 Program Synthesis for Character Level Language Modeling
Pavol Bielik, Veselin Raychev, Martin T. Vechev
ICLR (Poster)1
2016 PHOG: Probabilistic Model for Code
abstract
We introduce a new generative model for code called probabilistic higher order grammar (PHOG). PHOG generalizes probabilistic context free grammars (PCFGs) by allowing conditioning of a production rule beyond the parent non-terminal, thus capturing rich contexts relevant to programs. Even though PHOG is more powerful than a PCFG, it can be learned from data just as efficiently. We trained a PHOG model on a large JavaScript code corpus and show that it is more precise than existing models, while similarly fast. As a result, PHOG can immediately benefit existing programming tools based on probabilistic models of code.
Pavol Bielik, Veselin Raychev, Martin T. Vechev
ICML1
2016 Probabilistic model for code with decision trees
abstract
In this paper we introduce a new approach for learning precise and general probabilistic models of code based on decision tree learning. Our approach directly benefits an emerging class of statistical programming tools which leverage probabilistic models of code learned over large codebases (e.g., GitHub) to make predictions about new programs (e.g., code completion, repair, etc).
Veselin Raychev, Pavol Bielik, Martin T. Vechev
OOPSLA2
2016 SDNRacer: concurrency analysis for software-defined networks
abstract
Concurrency violations are an important source of bugs in Software-Defined Networks (SDN), often leading to policy or invariant violations. Unfortunately, concurrency violations are also notoriously difficult to avoid, detect and debug. This paper presents a novel approach and a tool, SDNRacer, for detecting concurrency violations of SDNs. Our approach is enabled by three key ingredients: (i) a precise happens- before model for SDNs that captures when events can happen concurrently; (ii) a set of sound, domain-specific filters that reduce reported violations by orders of magnitude, and; (iii) a sound and complete dynamic analyzer, based on the above, that can ensure the network is free of harmful errors such as data races and per-packet incoherence. We evaluated SDNRacer on several real-world OpenFlow controllers, running both reactive and proactive applications in large networks. We show that SDNRacer is practically effective: it quickly pinpoints harmful concurrency violations without overwhelming the user with false positives.
Ahmed El-Hassany, Jeremie Miserez, Pavol Bielik, Laurent Vanbever, Martin T. Vechev
PLDI3
2016 Learning programs from noisy data
abstract
We present a new approach for learning programs from noisy datasets. Our approach is based on two new concepts: a regularized program generator which produces a candidate program based on a small sample of the entire dataset while avoiding overfitting, and a dataset sampler which carefully samples the dataset by leveraging the candidate program's score on that dataset. The two components are connected in a continuous feedback-directed loop. We show how to apply this approach to two settings: one where the dataset has a bound on the noise, and another without a noise bound. The second setting leads to a new way of performing approximate empirical risk minimization on hypotheses classes formed by a discrete search space. We then present two new kinds of program synthesizers which target the two noise settings. First, we introduce a novel regularized bitstream synthesizer that successfully generates programs even in the presence of incorrect examples. We show that the synthesizer can detect errors in the examples while combating overfitting -- a major problem in existing synthesis techniques. We also show how the approach can be used in a setting where the dataset grows dynamically via new examples (e.g., provided by a human). Second, we present a novel technique for constructing statistical code completion systems. These are systems trained on massive datasets of open source programs, also known as ``Big Code''. The key idea is to introduce a domain specific language (DSL) over trees and to learn functions in that DSL directly from the dataset. These learned functions then condition the predictions made by the system. This is a flexible and powerful technique which generalizes several existing works as we no longer need to decide a priori on what the prediction should be conditioned (another benefit is that the learned functions are a natural mechanism for explaining the prediction). As a result, our code completion system surpasses the prediction capabilities of existing, hard-wired systems.
Veselin Raychev, Pavol Bielik, Martin T. Vechev, Andreas Krause 0001
POPL2
2015 Scalable race detection for Android applications
abstract
We present a complete end-to-end dynamic analysis system for finding data races in mobile Android applications. The capabilities of our system significantly exceed the state of the art: our system can analyze real-world application interactions in minutes rather than hours, finds errors inherently beyond the reach of existing approaches, while still (critically) reporting very few false positives. Our system is based on three key concepts: (i) a thorough happens-before model of Android-specific concurrency, (ii) a scalable analysis algorithm for efficiently building and querying the happens-before graph, and (iii) an effective set of domain-specific filters that reduce the number of reported data races by several orders of magnitude. We evaluated the usability and performance of our system on 354 real-world Android applications (e.g., Facebook). Our system analyzes a minute of end-user interaction with the application in about 24 seconds, while current approaches take hours to complete. Inspecting the results for 8 large open-source applications revealed 15 harmful bugs of diverse kinds. Some of the bugs we reported were confirmed and fixed by developers.
Pavol Bielik, Veselin Raychev, Martin T. Vechev
OOPSLA1