1 / 1

Finite State Verification Systems:

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:

gomer
Download Presentation

Finite State Verification Systems:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: 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. 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. Senior Project – Computer Science- 2009Producing Better Output from Finite State Verification SystemsSteve KassofAdvisor – Prof. Cass 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. 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. 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. Special Thanks to the LASER lab at UMass for allowing us to use JSim, Little JIL, and the other tools they provided.

More Related