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.

Undefined behavior in the wild

So I was hacking an open source C++ project. The project builds using gcc v5.4 and runs without problems. Then, I grabbed gcc v6.2 to see how much performance improvement can be gained. Surprisingly, the program segfaulted ...