Contract-based verification and test case generation for open systems

dc.contributor.authorDeng, Xianghua
dc.date.accessioned2007-07-09T15:49:48Z
dc.date.available2007-07-09T15:49:48Z
dc.date.graduationmonthAugusten
dc.date.issued2007-07-09T15:49:48Z
dc.date.published2007en
dc.description.abstractCurrent practices in software development heavily emphasize the development of reusable and modular software, which allow software components to be developed and maintained independently. While a component-oriented approach offers a number of benefits, it presents several quality assurance challenges including validating the correctness of individual components as well as their integration. Design-by-contract (DBC) offers a promising solution that emphasizes precisely defined and checkable interface specifications for software components. However, existing tools for the DBC paradigm often have some weaknesses: (1) they have difficulty in dealing with dynamically allocated data; (2) specification and checking efforts are disconnected from quality assurance tools; and (3) user feedback is quite poor. We present Kiasan, a framework that synergistically combines a number of automated reasoning techniques including symbolic execution, model checking, theorem proving, and constraint solving to support design-by-contract reasoning of object-oriented programs written in languages such as Java and C#. Compared to existing approaches to Java contract verification, Kiasan can check much stronger behavioral properties of object-oriented software including properties that make extensive use of heap-allocated data and provide stronger coverage guarantees. In addition, Kiasan naturally generates counter examples illustrating contract violations, visualization of code effects, and JUnit test cases that are driven by code and user-supplied specifications. Coverage/- cost trade-offs are controlled by user-specified bounds on the length of heap-reference chains and number of loop iterations. Kiasan’s unit test case generation facilities compare very favorably with similar tools. Finally, in contrast to other approaches based on symbolic execution, Kiasan has a rigorous foundation: we have shown that Kiasan is relatively sound and complete and the test case generation algorithm is sound.en
dc.description.advisorJohn M. Hatcliffen
dc.description.degreeDoctor of Philosophyen
dc.description.departmentDepartment of Computing and Information Sciencesen
dc.description.levelDoctoralen
dc.description.sponsorshipIBM Eclipse; Lockheed Martin ATL; US Army Research Office (ARO); US National Science Foundation; US Air Force Office of Scientific Research (AFOSR)en
dc.identifier.urihttp://hdl.handle.net/2097/345
dc.language.isoen_USen
dc.publisherKansas State Universityen
dc.subjectSoftware quality assuranceen
dc.subjectUnit testingen
dc.subject.umiComputer Science (0984)en
dc.titleContract-based verification and test case generation for open systemsen
dc.typeDissertationen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
XianghuaDeng2007.pdf
Size:
1.61 MB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.69 KB
Format:
Item-specific license agreed upon to submission
Description: