Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
UNOStatic Analysis With a Simple Twist. Richard Mancusi CSCI – 297
Essential Principles • Uninitialized Variables • Null Pointers • Out-of-Bounds Array Indices There is a two-fold focus to this tool: • Keep things simple and remove the noise associated with other static tools. • Allow for a simple means to extend the analysis
Mechanics • Builds upon ctree, a public-domain compiler front-end with a few modifications • Parse tree transformation into control flow graph, with interpretations for goto and return statements • Statement attributes describing all object usage for use by the dataflow analysis module • Global analysis mechanism implemented • Extensibility using C-like syntax, …simple.
The Better Tool (here): • The comments generated by this tool targets the possible issues with minimal verbiage. • User has be sharper focus.
Example: Extensibility via Properties • This property is used to identify any side effect or function call that occurs within a select statement.
References • Gerard J. Holzmann, Uno: Static Source Code Checking for User-Defined Properties, 2002. • http://spinroot.com/uno