This paper presents an approach and tool to automatically instrument dynamic web applications using source transformation technology, and to reverse engineer a UML 2.1 sequence diagram from the execution traces generated by the resulting instrumentation.  The result can be directly imported and visualized in a UML toolset such as Rational Software Architect.  Our approach dynamically filters traces to reduce redundant information that may complicate program understanding. While our current implementation works on PHP-based applications, the framework is easily extended to other scripting languages in plug-and-play fashion. In addition to supporting web application understanding, our tool is being used to recover traces from dynamic web applications in support of web application security analysis and testing.  We demonstrate our method on the analysis of the popular internet bulletin board system PhpBB 2.0.
['Manar H. Alalfi', 'James R. Cordy', 'Thomas R. Dean']
Automated Reverse Engineering of UML Sequence Diagrams for Dynamic Web Applications