150 likes | 247 Views
Predicting Task Automata Needed for the FLAVERS Analysis of a Concurrent System. Kris Hauman Distributed Mentor Student, Summer 2002 Western Carolina University. FLAVERS Flow Analysis for Verification of Systems. FLAVERS is a Finite State Verification System
E N D
Predicting Task Automata Needed for the FLAVERS Analysis of a Concurrent System Kris HaumanDistributed Mentor Student, Summer 2002Western Carolina University
FLAVERS Flow Analysis for Verification of Systems • FLAVERS is a Finite State Verification System • FLAVERS first creates a concise, but imprecise model of the system • If results are inconclusive, the user usually has to make the model more accurate by adding constraints
Constraints Ada, Java, C++, Jovial Architecture of FLAVERS Property Property/Constraint Translator Event alphabet FSA Consistent TFG System Translator ReasoningEngine System Inconsistent+ counter example
T1 T2 2 T1 T2 7 e0 e1 6 1 e1 1 e0 6 e2 8 e2 8 5 5 3 4 4 e3 9 e3 9 FLAVERS model of the system
Common Types of Constraints • Variable Automaton (VA) • Task Automaton (TA) • Context Automaton (CA)
Example Boolean Variable Automaton unknown S==falseS=false S==trueS=true S=false S==true S=true S==falseS=false true false S=true S==true S==false viol == is a predicate = is assignment S==trueS=trueS==falseS=false
T1 T2 2 T1 T2 7 e0 e1 6 1 e1 1 e0 6 e2 8 e2 8 5 5 5 3 4 4 e3 9 e3 9 Example Task Automaton T1 task automaton Previous example T1 1 4
Motivation for Predicting TAs • It usually takes several iterations of choosing constraints and running the analysis, before getting conclusive results or finding an error • If FLAVERS could predict at least some of the needed TAs, it could save the user some time and effort
Potential Ways of Predicting TAs • alphabet-related tasks • property related • constraint related • communication-related tasks • tasks that communicate with alphabet-related tasks
Finding related tasks • alphabet-related tasks, Given an FSA (e.g., property, VA, CA) and a TFG, G, returns a set of tasks T such that T = {t | t G e [e FSA e t e ≠ tau]} • communication-related tasks Given a task t1 and a TFG, G, Returns a set of tasks T such that T = {t | t G n [n Nt1 n Nt n = com-node t1 ≠ t2]}
Experiments:How useful are the predicted TAs? • Compare analysis problems that include the minimum number of TAs needed for property verification to the problems that include the predicted TAs • Consider the analysis-runtime, the TAs used, and the verification results • These comparisons will help determine: • Are the predicted TAs enough to verify the property? • How many unneeded TAs are predicted? • Does the analysis time suffer from the extra TAs?
Experiments:The predicted TAs • TA added to an analysis problem, in addition to any needed VA or context constraints: • all property-related TA • some property-related TA • 3 or more events • property-related and com-related to those • constraint-related (VA or CA) • constraint-related and com-related to those • property, constraint, and com-related to both
Experiments:Measurements • For each prediction approach, for each example problem, • measure: • number of predicted TAs • number of predicted TAs required • number of required TAs not predicted • verification results • difference in analysis run-times • percent of run-time difference • number of VA and context-constraints required
Future Work • Other prediction approaches to consider • Effect of increasing the number of events that a task must have in common with the selected alphabet • Effect of considering the number of occurrences of events (instead of just the number of events) • Effect of considering priority events • Effect of considering the number of communications