Lecture |
Date |
Time |
1 |
F 7/31 |
9:00 - 10:30 |
2 |
F 7/31 |
10:45 - 12:00 |
All students must attend.
Advanced Verification and Validation Tools for Java
Dr. Johann Schumann
As more and more Java software finds it way into areas where quality, reliability, and software safety plays an important role, the verification and validation (V&V) of such code is paramount. Unfortunately, traditional approaches to software testing are extremely expensive and labor intensive, when a low software error rate is expected. Therefore, approaches and tools, which help to find errors and bugs as early as possible, which help to find hard-to-test errors, and which support the automatic generation of test suites, are extremely helpful and important. In this seminar, we will focus on advanced tools for V&V of Java code, some of which have been developed at NASA. All these tools are open source, so the threshold for use by students is low.
In particular, we will cover the following topics:
* The role of V&V in modern Software Engineering
* Early detection of bugs and defects with Findbugs
* Model Checking of Java Programs to find concurrency bugs in multithreaded programs with Java PathFinder
* Using Model Checking to validate a graphical user interface (e.g., with Java Swing)
* Automatic generation of Java testcases with SPF (Symbolic Path Finder)
* Discussion of integration of V&V tools into a software process.
This course will present a short theoretical background and will discuss practical examples and technqiues. All tools presented are open-source; Java PathFinder and SPF have been developed at NASA Ames for the V&V of safety-critical code.