CoFlo 0.0.5 Teaser #2: Enhanced Analysis Reports

I’ve uploaded another teaser showcasing some of the work going into the CoFlo 0.0.5 release.  The subject this time is the enhancement of the HTML reports CoFlo generates.  See the live demo of the ongoing work here.

Note:  The live demo works to varying degrees when run under various browsers.  At the moment, both Firefox (16.0.2) and IE9 (32-bit, 9.0.8112.16421) seem to have no issues, while Chrome (23.0.1271.64 m) works to some extent, but for some reason puts some of the CFGs extremely far down on the page.

The goal of this part of the 0.0.5 work is Continue reading

CoFlo 0.0.4 Released

CoFlo 0.0.4 has been released.  This release contains significant feature enhancements and bug fixes:

  • if() statements now display the conditional expression in CFG output.
  • Fixed segfault with constraints when no violations were found.
  • Many misc improvements to reachability analysis and reporting.
  • Added another multi-file constraints test case, this one slightly more real-world.
  • Added connectedness test.
  • Now adding impossible edges to unconnected blocks during CFG creation.
  • Fixed tests/’s main.cpp check.
  • Fixed broken dependencies which were resulting in the coflo executable not being rebuilt.
  • Passing Autoconf/Automake-determined CPPFLAGS to DParser build now.

See the Downloads page for links to the source distribution, and the online User’s Manual for instructions on how to install CoFlo and get started using it.

As always, thank you for your interest in CoFlo,

Gary R. Van Sickle


CoFlo 0.0.3 Released

CoFlo 0.0.3 has been released.  This release brings:

  • Marked improvements in ease of installation, particularly in relation to the Boost and DParser libraries.
  • An expanded set of supported platforms.  CoFlo 0.0.3 has been tested on the following platforms:
    • Cygwin
    • Both x86 and x86_64 variants of the following Linux distributions:
      • Fedora 15
      • Fedora 16
      • Mandriva 2011
      • openSUSE 11.3
      • openSUSE 11.4
      • openSUSE 12.1
      • Ubuntu 11.10

Head on over to the Downloads page for the source code.

Thank you for your interest in CoFlo,

Gary R. Van Sickle

CoFlo’s First Bug Report

Just a quick heads-up to anyone trying out CoFlo 0.0.1: A user has reported having a compilation issue with Boost.Filesystem that manifests itself in the following manner:

ToolCompiler.cpp: In member function ‘int ToolCompiler::GenerateCFG(const 
std::string&, const std::string&)’:
ToolCompiler.cpp:86:58: error: 
‘struct boost::filesystem::path’ has no member named ‘generic_string’

I’ve been able to reproduce this, but as of this writing don’t have a fix.  I have verified that CoFlo 0.0.1 successfully builds on the following platform/Boost combinations:

  • Ubuntu 32-bit / Boost 1.46.1
  • Ubuntu 64-bit / Boost 1.46.1
  • Fedora 15 32-bit / Boost 1.46.0
  • Cygwin / Boost 1.47.0

If you run into this, I apologize for the inconvenience.  Expect a fix in the next day or so.

Gary R. Van Sickle

CoFlo 0.0.1 Released

The day has finally arrived: CoFlo 0.0.1 has been released to the general public.

CoFlo is a Free and Open Source source code analysis tool which generates and analyzes control flow graphs from C and C++ source.  CoFlo is distributed under the terms of the GNU General Public License Version 3.

CoFlo’s ultimate target audience is all developers in need of a deeper inspection, analysis, understanding, and visualization of their C and C++ source code.  As of this first alpha release however, CoFlo’s target audience is early adopters who fit that description: Version 0.0.1 of CoFlo, while usable and arguably even useful, is very much in the early stages of development.  Expect CoFlo’s abilities to improve dramatically over the next several releases.

Check out the Gallery, the post below, and the User’s Manual for a small taste of what CoFlo can already do.  If that piques your interest, head on over to the Downloads area, grab the source code, and start putting CoFlo to use!

Thank you for visiting the CoFlo web site,

Gary R. Van Sickle