BCOVBench: A benchmark suite for binary analysis research

We are happy to announce the release of BCOVBench, the benchmark binaries discussed in our ESEC/FSE'20 paper. This benchmark suite consists of 95 real-world binaries in total. We compiled these binaries from 8 widely-used packages, using 4 different versions of clang and gcc, and 3 optimization levels.

Visualizing program graphs using bcov

A couple of weeks ago, we released bcov, a tool for efficient binary-level coverage analysis via static instrumentation. The tool supported only two operation modes, namely, patching and coverage reporting. Today, we add another operation mode that dumps various program graphs, like the CFG and dominator trees, for a given function in the binary. This article describes these graphs in more detail.

Function identification in stripped binaries revisited

In this article, I revisit the problem of function identification with two goals in mind. First, overviewing the state of the art in a systematic way. Second, discussion and quantification of the (often overlooked) role that call frame information can play as a source of function definitions.

An introduction to approximate computing

Approximate computing is a wide spectrum of techniques that relax accuracy of computations in order to improve performance, energy, and/or other metric of merit. In this article, I'll try to provide a structured introduction to this research area.