Verifying Implementation of UML Sequence Diagrams Using Java PathFinder
Dinh-Phuc Nguyen, Chung-Tuyen Luu, Anh-Hoang Truong, Norbert Radics · 2010
The introduction of combined fragments to UML 2.x sequence diagrams makes it much harder for programmers to check manually the correctness of an implementation, especially when the fragments are nested. We develop an extension for Symbolic Java Path Finder (SPF) to verify if a Java program correctly implements its sequence diagram specification. Our main contribution is an algorithm to follow SPF exploration both when it advances and when it backtracks to find execution paths that are not specified in the specifications. We also generate the test cases that make the implementation go wrong for reproducing and debugging the bugs.