Towards a Tool for Rigorous, Automated Code Comprehension Using Symbolic Execution and Semantic Analysis

This paper presents an implementation and critical analysis of a technique for automated, rigorous scientific program comprehension and error detection. The procedure involves taking a user's existing code, adding semantic declarations for some primitive variables, symbolically executing the user's code, and recognizing semantic concepts from the symbolic expressions generated. This analysis provides high-level, semantic information and detects errors in a user's code. Symbolic execution of a 5k line of code (LOC) scientific code demonstrates implementation of a practical symbolic execution/semantic analysis tool. Despite the promise of this technique, one key challenge is examined, namely ensuring reliability during the symbolic execution/semantic analysis procedure