cz::muni::stanse::threadchecker::CodeAnalyzer Class Reference

Collaboration diagram for cz::muni::stanse::threadchecker::CodeAnalyzer:
[legend]

List of all members.

Static Public Member Functions

static void analyzeFunction (CFGNode node, Function caller, Element parameter, final CheckerProgressMonitor mon) throws CheckerException
static String parseStringVariable (Node node)

Static Package Functions

static void analyzeLockingFunction (CFGNode node, Function function, Element parameter)
static void analyzeUnlockingFunction (CFGNode node, Function function, Element parameter)
static void analyzeThreadFunction (CFGNode node, Function function, Element parameter, final CheckerProgressMonitor mon)


Detailed Description

Class with static methods designed to analyse Dom4J Element and perform appropriate actions like creating new thread, execute function analysis and "stitch" caller and calle (see analyzeFunction) or marking lock as free/locked etc.
Author:
Jan Kučera

Member Function Documentation

static void cz::muni::stanse::threadchecker::CodeAnalyzer::analyzeLockingFunction ( CFGNode  node,
Function  function,
Element  parameter 
) [inline, static, package]

Function extract lock's name and execute lockUp method from FunctionsState. Also correct backTrack info for this command.

Parameters:
node CFGNode is added to backTrack history of traversing
state Function where all realized changes are inserted
parameter Element where lockname is included.

static void cz::muni::stanse::threadchecker::CodeAnalyzer::analyzeUnlockingFunction ( CFGNode  node,
Function  function,
Element  parameter 
) [inline, static, package]

Function extract lock's name and execute lockDown method from FunctionsState. Also correct backTrack info for this command.

Parameters:
node CFGNode is added to backTrack history of traversing
state Function where all realized changes are inserted
parameter Element where lockname is included.

static void cz::muni::stanse::threadchecker::CodeAnalyzer::analyzeFunction ( CFGNode  node,
Function  caller,
Element  parameter,
final CheckerProgressMonitor  mon 
) throws CheckerException [inline, static]

Gets callee's name and looks up whether it's already analysed, if not, it executes analyseCFG and result is stitched with caller.

Parameters:
node CFGNode where function gets an Element
caller Function which CFGNode represents callee's execution
parameter Element where callee name is included.

static void cz::muni::stanse::threadchecker::CodeAnalyzer::analyzeThreadFunction ( CFGNode  node,
Function  function,
Element  parameter,
final CheckerProgressMonitor  mon 
) [inline, static, package]

Function parse Element parameter where it find name of the function. Then look up for whether thread already exits, if not, gets CFG and create new ThreadInfo.

Parameters:
node CFGNode
function Function
parameter Element

static String cz::muni::stanse::threadchecker::CodeAnalyzer::parseStringVariable ( Node  node  )  [inline, static]

Returns string representation of XML element, which represents some variable in source code.

Parameters:
node 
Returns:
String name of variable


The documentation for this class was generated from the following file:

Generated on Thu Jan 13 16:24:10 2011 for Stanse by  doxygen 1.5.6