Demo Data from VLDB 2026 / reviewers in the wild / expert
Thanassis Avgerinos
dblp:76/7373
· DBLP profile ↗
10ranked-venue papers
2as first author
1since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 6 · 1 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-author · 1 since 2021Theory of computation · 2
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
8 papers |
Software testing · 58% Program analysis · 37% Programming languages and type systems · 5% | |
| Network and information security
7 papers |
Systems and software security · 100% |
Topics — the 19 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
fuzzing |
0.8 | 2 | 2022 | GraphFuzz: Library API Fuzzing with Lifetime-aware Dataflow Graphs · ICSE 2022 Optimizing Seed Selection for Fuzzing · USENIX Security Symposium 2014 |
Systems and software security
vulnerability discovery |
0.4 | 3 | 2014 | Optimizing Seed Selection for Fuzzing · USENIX Security Symposium 2014 Unleashing Mayhem on Binary Code · IEEE Symposium on Security and Privacy 2012 All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask) · IEEE Symposium on Security and Privacy 2010 |
Program analysis
symbolic execution |
0.3 | 2 | 2014 | Enhancing symbolic execution with veritesting · ICSE 2014 Unleashing Mayhem on Binary Code · IEEE Symposium on Security and Privacy 2012 |
Systems and software security
exploitation |
0.2 | 2 | 2011 | Q: Exploit Hardening Made Easy · USENIX Security Symposium 2011 AEG: Automatic Exploit Generation · NDSS 2011 |
Program analysis
binary analysis |
0.2 | 2 | 2011 | TIE: Principled Reverse Engineering of Types in Binary Programs · NDSS 2011 BAP: A Binary Analysis Platform · CAV 2011 |
Software testing
test generation |
0.2 | 2 | 2014 | Enhancing symbolic execution with veritesting · ICSE 2014 All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask) · IEEE Symposium on Security and Privacy 2010 |
Systems and software security › vulnerability discovery
fuzzing |
0.2 | 1 | 2014 | Optimizing Seed Selection for Fuzzing · USENIX Security Symposium 2014 |
Software testing
automated testing |
0.2 | 1 | 2014 | Enhancing symbolic execution with veritesting · ICSE 2014 |
Program analysis › symbolic execution
dynamic symbolic execution |
0.2 | 1 | 2014 | Enhancing symbolic execution with veritesting · ICSE 2014 |
Software testing › fuzzing › seed scheduling
seed selection |
0.2 | 1 | 2014 | Optimizing Seed Selection for Fuzzing · USENIX Security Symposium 2014 |
Systems and software security › exploitation
exploit generation |
0.1 | 1 | 2012 | Unleashing Mayhem on Binary Code · IEEE Symposium on Security and Privacy 2012 |
Systems and software security
memory safety |
0.1 | 1 | 2012 | Unleashing Mayhem on Binary Code · IEEE Symposium on Security and Privacy 2012 |
Systems and software security › exploitation
automated exploit generation |
0.1 | 1 | 2011 | AEG: Automatic Exploit Generation · NDSS 2011 |
Programming languages and type systems
type inference |
0.1 | 1 | 2011 | TIE: Principled Reverse Engineering of Types in Binary Programs · NDSS 2011 |
Systems and software security › information flow tracking
dynamic taint analysis |
0.1 | 1 | 2010 | All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask) · IEEE Symposium on Security and Privacy 2010 |
Systems and software security › program analysis
program analysis for security |
0.1 | 1 | 2010 | All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask) · IEEE Symposium on Security and Privacy 2010 |
Program analysis › static analysis
bug detection |
0.1 | 1 | 2014 | Enhancing symbolic execution with veritesting · ICSE 2014 |
Systems and software security
reverse engineering |
0.0 | 1 | 2011 | TIE: Principled Reverse Engineering of Types in Binary Programs · NDSS 2011 |
Program analysis
dynamic analysis |
0.0 | 1 | 2011 | AEG: Automatic Exploit Generation · NDSS 2011 |
Methods — techniques the papers use, named apart from their topics
graph-based mutation · 0.6automated specification generation · 0.6optimization · 0.4index-based memory modeling · 0.3hybrid symbolic execution · 0.3concolic execution · 0.3symbolic execution · 0.2binary analysis · 0.2static symbolic execution · 0.2SMT solving · 0.2type inference · 0.1automated exploit generation · 0.1forward symbolic execution · 0.1dynamic taint analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | GraphFuzz: Library API Fuzzing with Lifetime-aware Dataflow GraphsabstractWe present the design and implementation of GraphFuzz, a new structure-, coverage- and object lifetime-aware fuzzer capable of automatically testing low-level Library APIs. Unlike other fuzzers, GraphFuzz models sequences of executed functions as a dataflow graph, thus enabling it to perform graph-based mutations both at the data and at the execution trace level. GraphFuzz comes with an automated specification generator to minimize the developer integration effort. Harrison Green, Thanassis Avgerinos |
ICSE | 2 |
| 2014 | Enhancing symbolic execution with veritestingabstractWe present MergePoint, a new binary-only symbolic execution system for large-scale and fully unassisted testing of commodity off-the-shelf (COTS) software. MergePoint introduces veritesting, a new technique that employs static symbolic execution to amplify the effect of dynamic symbolic execution. Veritesting allows MergePoint to find twice as many bugs, explore orders of magnitude more paths, and achieve higher code coverage than previous dynamic symbolic execution systems. MergePoint is currently running daily on a 100 node cluster analyzing 33,248 Linux binaries; has generated more than 15 billion SMT queries, 200 million test cases, 2,347,420 crashes, and found 11,687 bugs in 4,379 distinct applications. Thanassis Avgerinos, Alexandre Rebert, Sang Kil Cha, David Brumley |
ICSE | 1 |
| 2014 | Optimizing Seed Selection for Fuzzing
Alexandre Rebert, Sang Kil Cha, Thanassis Avgerinos, Jonathan Foote, David Warren, Gustavo Grieco, David Brumley |
USENIX Security Symposium | 3 |
| 2012 | Unleashing Mayhem on Binary CodeabstractIn this paper we present Mayhem, a new system for automatically finding exploitable bugs in binary (i.e., executable) programs. Every bug reported by Mayhem is accompanied by a working shell-spawning exploit. The working exploits ensure soundness and that each bug report is security-critical and actionable. Mayhem works on raw binary code without debugging information. To make exploit generation possible at the binary-level, Mayhem addresses two major technical challenges: actively managing execution paths without exhausting memory, and reasoning about symbolic memory indices, where a load or a store address depends on user input. To this end, we propose two novel techniques: 1) hybrid symbolic execution for combining online and offline (concolic) execution to maximize the benefits of both techniques, and 2) index-based memory modeling, a technique that allows Mayhem to efficiently reason about symbolic memory at the binary level. We used Mayhem to find and demonstrate 29 exploitable vulnerabilities in both Linux and Windows programs, 2 of which were previously undocumented. Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert, David Brumley |
IEEE Symposium on Security and Privacy | 2 |
| 2011 | BAP: A Binary Analysis Platform
David Brumley, Ivan Jager, Thanassis Avgerinos, Edward J. Schwartz |
CAV | 3 |
| 2011 | AEG: Automatic Exploit Generation
Thanassis Avgerinos, Sang Kil Cha, Brent Lim Tze Hao, David Brumley |
NDSS | 1 |
| 2011 | TIE: Principled Reverse Engineering of Types in Binary Programs
JongHyup Lee, Thanassis Avgerinos, David Brumley |
NDSS | 2 |
| 2011 | Q: Exploit Hardening Made Easy
Edward J. Schwartz, Thanassis Avgerinos, David Brumley |
USENIX Security Symposium | 2 |
| 2010 | All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)abstractDynamic taint analysis and forward symbolic execution are quickly becoming staple techniques in security analyses. Example applications of dynamic taint analysis and forward symbolic execution include malware analysis, input filter generation, test case generation, and vulnerability discovery. Despite the widespread usage of these two techniques, there has been little effort to formally define the algorithms and summarize the critical issues that arise when these techniques are used in typical security contexts. The contributions of this paper are two-fold. First, we precisely describe the algorithms for dynamic taint analysis and forward symbolic execution as extensions to the run-time semantics of a general language. Second, we highlight important implementation choices, common pitfalls, and considerations when using these techniques in a security context. Edward J. Schwartz, Thanassis Avgerinos, David Brumley |
IEEE Symposium on Security and Privacy | 2 |
| 2009 | Automatic refactoring of Erlang programsabstractThis paper describes the design goals and current status of tidier, a software tool that tidies Erlang source code, making it cleaner, simpler, and often also more efficient. In contrast to other refactoring tools, tidier is completely automatic and is not tied to any particular editor or IDE. Instead, tidier comes with a suite of code transformations that can be selected by its user via command-line options and applied in bulk on a set of modules or entire applications using a simple command. Alternatively, users can use tidier's GUI to inspect one by one the transformations that will be performed on their code and manually select only those that they fancy. We have used tidier to clean up various applications of Erlang/OTP and have tested it on many open source Erlang code bases of significant size. We briefly report our experiences and show opportunities for tidier's current set of transformations on existing Erlang code out there. As a by-product, our paper also documents what we believe are good coding practices in Erlang. Last but not least, our paper describes in detail the automatic code cleanup methodology we advocate and a set of refactorings which are general enough to be applied, as is or with only small modifications, to the source code of programs written in Haskell or Clean and possibly even in non-functional languages. Konstantinos Sagonas, Thanassis Avgerinos |
PPDP | 2 |