Using Model Checking for Reducing the Cost of Test Generation

Author(s):  
Hyoung Seok Hong ◽  
Hasan Ural
2014 ◽  
Vol 16 (2) ◽  
pp. 17-21 ◽  
Author(s):  
Paul E. Black

Author(s):  
Kazuhiro Ogata

The paper describes how to formally specify three path finding algorithms in Maude, a rewriting logic-based programming/specification language, and how to model check if they enjoy desired properties with the Maude LTL model checker. The three algorithms are Dijkstra Shortest Path Finding Algorithm (DA), A* Algorithm and LPA* Algorithm. One desired property is that the algorithms always find the shortest path. To this end, we use a path finding algorithm (BFS) based on breadth-first search. BFS finds all paths from a start node to a goal node and the set of all shortest paths is extracted. We check if the path found by each algorithm is included in the set of all shortest paths for the property. A* is an extension of DA in that for each node [Formula: see text] an estimation [Formula: see text] of the distance to the goal node from [Formula: see text] is used and LPA* is an incremental version of A*. It is known that if [Formula: see text] is admissible, A* always finds the shortest path. We have found a possible relaxed sufficient condition. The relaxed condition is that there exists the shortest path such that for each node [Formula: see text] except for the start node on the path [Formula: see text] plus the cost to [Formula: see text] from the start node is less than the cost of any non-shortest path to the goal from the start. We informally justify the relaxed condition. For LPA*, if the relaxed condition holds in each updated version of a graph concerned including the initial graph, the shortest path is constructed. Based on the three case studies for DA, A* and LPA*, we summarize the formal specification and model checking techniques used as a generic approach to formal specification and model checking of path finding algorithms.


Author(s):  
Anand Yeolekar ◽  
Divyesh Unadkat ◽  
Vivek Agarwal ◽  
Shrawan Kumar ◽  
R. Venkatesh

2014 ◽  
Vol 2014 ◽  
pp. 1-13 ◽  
Author(s):  
Wanwei Liu ◽  
Rui Wang ◽  
Xianjin Fu ◽  
Ji Wang ◽  
Wei Dong ◽  
...  

The cost of LTL model checking is highly sensitive to the length of the formula under verification. We observe that, under some specific conditions, the input LTL formula can be reduced to an easier-to-handle one before model checking. In such reduction, these two formulae need not to be logically equivalent, but they share the same counterexample set w.r.t the model. In the case that the model is symbolically represented, the condition enabling such reduction can be detected with a lightweight effort (e.g., with SAT-solving). In this paper, we tentatively name such technique “counterexample-preserving reduction” (CePRe, for short), and the proposed technique is evaluated by conducting comparative experiments of BDD-based model checking, bounded model checking, and property directed reachability-(IC3) based model checking.


2010 ◽  
Vol 79 (6) ◽  
pp. 350-362 ◽  
Author(s):  
Florentin Ipate ◽  
Marian Gheorghe ◽  
Raluca Lefticaru

2010 ◽  
Vol 36 (4) ◽  
pp. 474-494 ◽  
Author(s):  
S Artzi ◽  
A Kiezun ◽  
J Dolby ◽  
F Tip ◽  
D Dig ◽  
...  

Author(s):  
Sebastiano Panichella ◽  
Annibale Panichella ◽  
Moritz Beller ◽  
Andy Zaidman ◽  
Harald C Gall

Automated test generation tools have been widely investigated with the goal of reducing the cost of testing activities. However, generated tests have been shown not to help developers in detecting and finding more bugs even though they reach higher structural coverage compared to manual testing. The main reason is that generated tests are difficult to understand and maintain. Our paper proposes an approach, coined TestScribe, which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability. We argue that this approach can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases. In evaluating our approach we found that (1) developers find twice as many bugs, and (2) test case summaries significantly improve the comprehensibility of test cases, which is considered particularly useful by developers.


Sign in / Sign up

Export Citation Format

Share Document