Finite State Verification Systems:

1
Senior Project – Computer Science- 2009 Producing Better Output from Finite State Verification Systems Steve Kassof Advisor – Prof. Cass Goal: To produce execution paths from FSVs that will help the user effectively debug their program. Finite State Verification Systems: FSVs are tools that will help a user find errors in programs by finding different ways the program can run that will violate the inherent properties of the system. The Problem: Output from FSVs are not designed to be user friendly and vary greatly depending on which tool is used. Solution: Given traces from an FSV, we can compile a small representative subset of the paths to give the user a clear idea of the way the program runs. From all the paths given, we can pick the five paths least alike. Because the paths that violate a system property must have passed through an error, the areas that all the paths share gives the user a clear idea where to look for an error. Ideal Output: The above diagram is a graphical representation of the best possible output. The parts of the program that all the violating paths share should lead the user directly to the error. Elevator: We built a program that governed the movement of a simple two floor elevator. This program had a known error in it so we could find traces that were incorrect and compile the subset of violating paths to give to the user. Traces: After getting traces from the program, we found the five paths that shared the fewest number of nodes. This five path subset is what the user of the program would receive after running our algorithm. Future Work: An evaluation of the speed of the algorithm to pick the five paths is needed. A User Study would be the ultimate goal, but it requires the subjects to be proficient in languages that Union students wouldn’t know. Special Thanks to the LASER lab at UMass for allowing us to use JSim, Little JIL, and the other tools they provided. Open Doors Close Doors Close Doors Move Car

description

Open Doors. Close Doors. Close Doors. Move Car. Goal: To produce execution paths from FSVs that will help the user effectively debug their program. Finite State Verification Systems: - PowerPoint PPT Presentation

Transcript of Finite State Verification Systems:

Page 1: Finite State Verification Systems:

Senior Project – Computer Science- 2009

Producing Better Output from Finite State Verification Systems

Steve KassofAdvisor – Prof. Cass

Goal: To produce execution paths from FSVs that will help the user effectively debug their program.

Finite State Verification Systems:FSVs are tools that will help a user find errors in programs by finding different ways the program can run that will violate the inherent properties of the system.

The Problem: Output from FSVs are not designed to be user friendly and vary greatly depending on which tool is used.

Solution: Given traces from an FSV, we can compile a small representative subset of the paths to give the user a clear idea of the way the program runs. From all the paths given, we can pick the five paths least alike. Because the paths that violate a system property must have passed through an error, the areas that all the paths share gives the user a clear idea where to look for an error.

Ideal Output: The above diagram is a graphical representation of the best possible output. The parts of the program that all the violating paths share should lead the user directly to the error.

Elevator: We built a program that governed the movement of a simple two floor elevator. This program had a known error in it so we could find traces that were incorrect and compile the subset of violating paths to give to the user.

Traces: After getting traces from the program, we found the five paths that shared the fewest number of nodes. This five path subset is what the user of the program would receive after running our algorithm.

Future Work: An evaluation of the speed of the algorithm to pick the five paths is needed. A User Study would be the ultimate goal, but it requires the subjects to be proficient in languages that Union students wouldn’t know.Special Thanks to the LASER lab at UMass for allowing us to use JSim, Little JIL, and the other tools they provided.

Open Doors

Close Doors

Close Doors

Move Car