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.

Vitaly Chipounov

dblp:02/3308 · DBLP profile ↗
← Back
6ranked-venue papers
3as first author
0since 2021 · last 2018
—ORCID · none

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

Systems, architecture and hardware · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 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
4 papers
Program analysis · 43% Operating systems · 22% Software testing · 16%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 13 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › i/o › i/o subsystem
device drivers
0.222010
Testing Closed-Source Binary Device Drivers with DDT · USENIX ATC 2010
Reverse engineering of binary device drivers with RevNIC · EuroSys 2010
Software testing
automated testing
0.112012
The S2E Platform: Design, Implementation, and Applications · ACM Trans. Comput. Syst. 2012
Program analysis › symbolic execution
selective symbolic execution
0.112012
The S2E Platform: Design, Implementation, and Applications · ACM Trans. Comput. Syst. 2012
Program analysis
symbolic execution
0.112012
The S2E Platform: Design, Implementation, and Applications · ACM Trans. Comput. Syst. 2012
Program analysis
binary analysis
0.112011
S2E: a platform for in-vivo multi-path analysis of software systems · ASPLOS 2011
Program analysis
dynamic analysis
0.112011
S2E: a platform for in-vivo multi-path analysis of software systems · ASPLOS 2011
Operating systems
virtualization
0.112011
S2E: a platform for in-vivo multi-path analysis of software systems · ASPLOS 2011
Compilers and program optimization
code generation
0.112010
Reverse engineering of binary device drivers with RevNIC · EuroSys 2010
Program synthesis and code generation › domain-specific code generation
device driver synthesis
0.112010
Reverse engineering of binary device drivers with RevNIC · EuroSys 2010
Software maintenance and evolution
reverse engineering
0.012012
The S2E Platform: Design, Implementation, and Applications · ACM Trans. Comput. Syst. 2012
Systems and software security › vulnerability discovery
bug finding
0.012011
S2E: a platform for in-vivo multi-path analysis of software systems · ASPLOS 2011
Systems and software security
vulnerability discovery
0.012011
S2E: a platform for in-vivo multi-path analysis of software systems · ASPLOS 2011
Software maintenance and evolution › software reengineering › software modernization › software migration
software porting
0.012010
Reverse engineering of binary device drivers with RevNIC · EuroSys 2010

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

symbolic execution · 0.4selective instrumentation · 0.2modular path analysis · 0.1static analysis · 0.1code synthesis · 0.1binary reverse engineering · 0.1
YearPublicationVenuePosition
2018 Discover deeper bugs with dynamic symbolic execution and coverage-based fuzz testing
abstract
Coverage‐based fuzz testing and dynamic symbolic execution are both popular program testing techniques. However, on their own, both techniques suffer from scalability problems when considering the complexity of modern software. Hybrid testing methods attempt to mitigate these problems by leveraging dynamic symbolic execution to assist fuzz testing. Unfortunately, the efficiency of such methods is still limited by specific program structures and the schedule of seed files. In this study, the authors introduce a novel lazy symbolic pointer concretisation method and a symbolic loop bucket optimisation to mitigate path explosion caused by dynamic symbolic execution in hybrid testing. They also propose a distance‐based seed selection method to rearrange the seed queue of the fuzzer engine in order to achieve higher coverage. They implemented a prototype and evaluate its ability to find vulnerabilities in software and cover new execution paths. They show on different benchmarks that it can find more crashes than other off‐the‐shelf vulnerability detection tools. They also show that the proposed method can discover 43% more unique paths than vanilla fuzz testing.
Chao Feng 0002, Adrian Herrera, Vitaly Chipounov, George Candea, Chaojing Tang
IET Softw.4
2013 Lightweight Snapshots and System-level Backtracking
Edouard Bugnion, Vitaly Chipounov, George Candea
HotOS2
2012 The S2E Platform: Design, Implementation, and Applications
abstract
This article presents S 2 E, a platform for analyzing the properties and behavior of software systems, along with its use in developing tools for comprehensive performance profiling, reverse engineering of proprietary software, and automated testing of kernel-mode and user-mode binaries. Conceptually, S 2 E is an automated path explorer with modular path analyzers: the explorer uses a symbolic execution engine to drive the target system down all execution paths of interest, while analyzers measure and/or check properties of each such path. S 2 E users can either combine existing analyzers to build custom analysis tools, or they can directly use S 2 E’s APIs. S 2 E’s strength is the ability to scale to large systems, such as a full Windows stack, using two new ideas: selective symbolic execution , a way to automatically minimize the amount of code that has to be executed symbolically given a target analysis, and execution consistency models , a way to make principled performance/accuracy trade-offs during analysis. These techniques give S 2 E three key abilities: to simultaneously analyze entire families of execution paths instead of just one execution at a time; to perform the analyses in-vivo within a real software stack---user programs, libraries, kernel, drivers, etc.---instead of using abstract models of these layers; and to operate directly on binaries, thus being able to analyze even proprietary software.
Vitaly Chipounov, Volodymyr Kuznetsov, George Candea
ACM Trans. Comput. Syst.1
2011 S2E: a platform for in-vivo multi-path analysis of software systems
abstract
This paper presents S2E, a platform for analyzing the properties and behavior of software systems. We demonstrate S2E's use in developing practical tools for comprehensive performance profiling, reverse engineering of proprietary software, and bug finding for both kernel-mode and user-mode binaries. Building these tools on top of S2E took less than 770 LOC and 40 person-hours each.
Vitaly Chipounov, Volodymyr Kuznetsov, George Candea
ASPLOS1
2010 Reverse engineering of binary device drivers with RevNIC
abstract
This paper presents a technique that helps automate the reverse engineering of device drivers. It takes a closed-source binary driver, automatically reverse engineers the driver's logic, and synthesizes new device driver code that implements the exact same hardware protocol as the original driver. This code can be targeted at the same or a different OS. No vendor documentation or source code is required. Drivers are often proprietary and available for only one or two operating systems, thus restricting the range of device support on all other OSes. Restricted device support leads to low market viability of new OSes and hampers OS researchers in their efforts to make their ideas available to the 'real world.' Reverse engineering can help automate the porting of drivers, as well as produce replacement drivers with fewer bugs and fewer security vulnerabilities. Our technique is embodied in RevNIC, a tool for reverse engineering network drivers. We use RevNIC to reverse engineer four proprietary Windows drivers and port them to four different OSes, both for PCs and embedded systems. The synthesized network drivers deliver performance nearly identical to that of the original drivers.
Vitaly Chipounov, George Candea
EuroSys1
2010 Testing Closed-Source Binary Device Drivers with DDT
Volodymyr Kuznetsov, Vitaly Chipounov, George Candea
USENIX ATC2