377 citations · 818 across the 21 of their papers we have counts for
9 papers · 1 filter
Learning Highly Recursive Input Grammars
Neil Kulkarni, Caroline Lemieux, Koushik Sen
This paper presents Arvada, an algorithm for learning context-free grammars from a set of positive examples and a Boolean-valued oracle. Arvada learns a context-free grammar by bui…
Growing a Test Corpus with Bonsai Fuzzing
Vasudev Vikram, Rohan Padhye, Koushik Sen
This paper presents a coverage-guided grammar-based fuzzing technique for automatically generating a corpus of concise test inputs for programs such as compilers. We walk-through a…
When Deep Learning Met Code Search
Jose Cambronero, Hongyu Li, Seohyun Kim +2
There have been multiple recent proposals on using deep neural networks for code search using natural language. Common across these proposals is the idea of co…
Aroma: Code Recommendation via Structural Code Search
Sifei Luan, Di Yang, Celeste Barnaby +2
Programmers often write code that has similarity to existing code written somewhere. A tool that could help programmers to search such similar code would be immensely useful. Such…
Semantic Fuzzing with Zest
Rohan Padhye, Caroline Lemieux, Koushik Sen +2
Programs expecting structured inputs often consist of both a syntactic analysis stage, which parses raw input, and a semantic analysis stage, which conducts checks on the parsed in…
Context2Name: A Deep Learning-Based Approach to Infer Natural Variable Names from Usage Contexts
Rohan Bavishi, Michael Pradel, Koushik Sen
Most of the JavaScript code deployed in the wild has been minified, a process in which identifier names are replaced with short, arbitrary and meaningless names. Minified code occu…
DeepBugs: A Learning Approach to Name-based Bug Detection
Michael Pradel, Koushik Sen
Natural language elements in source code, e.g., the names of variables and functions, convey useful information. However, most existing bug detection tools ignore this information…
Selecting Fault Revealing Mutants
Thierry Titcheu Chekam, Mike Papadakis, Tegawendé Bissyandé +2
Mutant selection refers to the problem of choosing, among a large number of mutants, the (few) ones that should be used by the testers. In view of this, we investigate the problem…
FairFuzz: Targeting Rare Branches to Rapidly Increase Greybox Fuzz Testing Coverage
Caroline Lemieux, Koushik Sen
In recent years, fuzz testing has proven itself to be one of the most effective techniques for finding correctness bugs and security vulnerabilities in practice. One particular fuz…