Posted on 17-02-2008
Filed Under (documentation) by Linux Poweruser Programmer

Elkhound, Elsa and Cqual++: Open-Source Static Analysis for ++
Google engEDU
42 min – Apr 14, 2006

Google TechTalks
April 11, 2006

Scott McPeak


This talk will cover three pieces of infrastructure for writing static analyses for ++. All are available as open source. Elkhound is a Generalized LR (GLR) parser . Its input is a grammar augmented with reduction actions written in ++. The GLR algorithm works with any context-free grammar, even ambiguous grammars. The user provides additional actions to resolve ambiguities that may arise during parsing. Elsa is a ++ parser written using Elkhound. It solves many of the classic parsing challenges of and ++ by using an ambiguous grammar, delaying much of the disambiguation until the type checking phase.

Not only does this lead to a cleaner design, the use of a parsing grammar lends itself naturally to language extensions, grammar fragments that pertain to specific language dialects (for example, GCC extensions). The use of extensions is ideal in a research setting. Finally, Cqual++ is a static analysis tool built on top of Elsa. It is a port of the older Cqual tool. It takes advantage of the Elsa extension mechanisms to process Cqual++ annotations, traverse the parsed AST, and then generate qualifier constraints that are solved by a general-purpose back end. It has been used to find a number of bugs in the kernel.
video
http://video.google.com/videoplay?docid=-8037498917324385899


Sphere: Related Content

Tags: , , , , , , , , , ,

Related posts

(0) Comments    Read More   
Post a Comment
Name:
Email:
Website:
Comments: