SeeC program visualization and debugging for novice C programmers

SeeC's design draws upon the literature on both programming language tools and Computer Science education. It combines advanced debugging techniques, such as trace-based debugging and runtime error detection, with program visualization features which have been shown to effectively assist novice programmers with program comprehension and debugging tasks. As far as we are aware, SeeC contains the first implementation of a dynamic evaluation tree visualization, and the first execution tracing system targeting LLVM's Intermediate Representation. SeeC can be used as a traditional error detector, a generic program visualization system, a trace-based debugger, a tutorial environment, or as a tool to facilitate collaboration on multi-student projects.

Get SeeC for Windows / OS X Get SeeC on Ubuntu


SeeC is open source software, distributed under The MIT License (MIT). See LICENSE.TXT for details.

SeeC uses code from the SAFECode project, specifically:
include/seec/Transforms/BreakConstantGEPs/BreakConstantGEPs.h
lib/Transforms/BreakConstantGEPs/BreakConstantGEPs.cpp
The SAFECode license is available in the LICENSE.txt in either of those directories.

SeeC uses and contains copies of the following libraries:

SeeC uses the following libraries and tools:


24th WAITTA Incite Awards National iAWARDS Finalist

24th WAITTA Incite Awards Finalist