SLAyer

SLAyer is an automatic, separation-logic-based memory safety checker. It checks that its input C code doesn't deference dangling pointers, do double frees, nor leak memory.

Download details

File Name SLAyer.zip
Version 1.0
Date Published 13 January 2011
Download Size 21.65 MB

Note By installing, copying, or otherwise using this software, you agree to be bound by the terms of its license. Read the license.

Installation Instructions

There are two pre-requisites for using the tool:

1. The Visual Studio 2010 C compiler (cl.exe) is used to compile the C
programs.

2. The Static Driver Verifier Research Platform (SDVRP) is used to translate
cl.exe's output object to an internal abstract syntax tree. Download SDVRP
from http://research.microsoft.com/slam/, and install into the default
C:\WinDDK\SDVRP. (You don't need to install WDK too.)

Once you've done this, unzip the SLAyer.zip archive into C:\SLAyer on your
machine.

Using the tool

The release comes with a set of test programs. To run on a test, say
cleanup_isochresourcedata_remove_head_list.c that mallocs and then frees a
PLIST_ENTRY list, execute this in a cmd shell:

C:\> cd C:\SLAyer
C:\> setup.cmd
C:\> cd test\kmdf\1394\cleanup_isochresourcedata_remove_head_list
C:\> slayer cleanup_isochresourcedata_remove_head_list.c

On exit, SLAyer prints a "RESULT: SAFE" message, and leaves several output
files (the program's internal representation in dot format, a counter-example
in defect.tt format, etc).

Share
Share this page on Facebook
Share this page on Twitter
Share this page on LinkedIn
E-mail this page
RSS feeds