Project
IBM Research Homepage 
 Research Home  >> Software Analysis


Design Automation



Software Analysis Using BEAM


Project Overview

Ever increasing demands on reliability call for tools for error detection in early stages of the design cycle. BEAM is such a tool, that detects errors by source-code analysis. Its main goal is low programmer cost per error reported. It achieves that by using techniques from lint-like tools and from formal verifiers. Like lint (and unlike verifiers) it requires no information above what is needed for compilation. Like formal verifiers (and unlike lint) it performs theorem proving in order to determine whether a potential error is feasible. The result is that an error is reported only if there are input that can cause it.

BEAM can accept information about specific programming projects allowing it to detect user specific error. Examples include violations of special protocols, illegal data base accesses, coding inefficiencies. On the average BEAM detects about one error per thousand lines of "tested" code.

Reference:

Error Detection by Data Flow Analysis Restricted to Executable Paths, RC21484 (96946) 24 May 1999. Find software errors by data flow analysis, but make sure that the error can actually occur.


 Privacy | Legal | Contact | IBM Home | Research Home | Project List | Research Sites | Page Contact