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. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Dimitar Bounov

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

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

Security and privacy · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-authorTheory of computation · 1

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
2 papers
Empirical software engineering · 51% Program verification · 40% Programming languages and type systems · 9%
Network and information security
1 paper
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Empirical software engineering
gamification
0.312018
Inferring Loop Invariants through Gamification · CHI 2018
Program verification › invariant generation
loop invariant generation
0.312018
Inferring Loop Invariants through Gamification · CHI 2018
Systems and software security › exploitation
control-flow hijacking
0.212016
Protecting C++ Dynamic Dispatch Through VTable Interleaving · NDSS 2016
Systems and software security
memory safety
0.212016
Protecting C++ Dynamic Dispatch Through VTable Interleaving · NDSS 2016
Empirical software engineering
crowdsourcing
0.112018
Inferring Loop Invariants through Gamification · CHI 2018
Programming languages and type systems › method dispatch
dynamic dispatch
0.112016
Protecting C++ Dynamic Dispatch Through VTable Interleaving · NDSS 2016

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

gamification · 0.3crowdsourcing · 0.3
YearPublicationVenuePosition
2018 Inferring Loop Invariants through Gamification
abstract
In today's modern world, bugs in software systems incur significant costs. One promising approach to improve software quality is automated software verification. In this approach, an automated tool tries to prove the software correct once and for all. Although significant progress has been made in this direction, there are still many cases where automated tools fail. We focus specifically on one aspect of software verification that has been notoriously hard to automate: inferring loop invariants that are strong enough to enable verification. In this paper, we propose a solution to this problem through gamification and crowdsourcing. In particular, we present a puzzle game where players find loop invariants without being aware of it, and without requiring any expertise on software verification. We show through an experiment with Mechanical Turk users that players enjoy the game, and are able to solve verification tasks that automated state-of-the-art tools cannot.
Dimitar Bounov, Anthony DeRossi, Massimiliano Menarini, William G. Griswold, Sorin Lerner
CHI1
2016 Protecting C++ Dynamic Dispatch Through VTable Interleaving
Dimitar Bounov, Rami Gökhan Kici, Sorin Lerner
NDSS1
2015 C-to-Verilog translation validation
abstract
To offset the high engineering cost of digital circuit design, hardware engineers are looking increasingly toward high-level languages such as C and C++ to implement their designs. To do this, they employ High-Level Synthesis (HLS) tools that translate their high-level specifications down to a hardware description language such as Verilog. Unfortunately, HLS tools themselves employ sophisticated optimization passes that may have bugs that silently introduce errors in realized hardware. The cost of such errors is high, as hardware is costly or impossible to repair if software patching is not an option. In this work, we present a translation validation approach for verifying the correctness of the HLS translation process. Given an initial C program and the generated Verilog code, our approach establishes their equivalence without relying on any intermediate results or representations produced by the HLS tool. We implemented our approach in a tool called VTV that is able to validate a body of programs compiled by the Xilinx Vivado HLS compiler.
Alan Leung, Dimitar Bounov, Sorin Lerner
MEMOCODE2