Abstract

Software quality is traditionally achieved by applying testing techniques and/or formal verification to the system under development. Formal testing techniques have been defined to assure the software quality based on a set of test purposes the users want to observe on the system under testing (SUT). This paper proposes the use of Java PathFinder (JPF) to observe test purposes, defined as properties, over the whole program behavior. To make this approach available to test community, a user-friendly interface to define test purposes as properties is provided, together with a JPF extension to observe the test purposes. To define a property, the user only needs to select a property pattern, its scope, and the events of interest. Then, a finite-state automaton is generated and can be submitted to JPF to verify the defined property. As a result, JPF provides a report including a property verdict (pass/fail), and the program traces and percentage of the traversed automaton during the verification process. This coverage information can be used to analyze the performed verification and guide a complementary test suite generation.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call