Validation of Reverse Engineered Web Application Models

Web applications have become complex and crucial for many firms, especially when combined with areas such as CRM (Customer Relationship Management) and BPR (Business Process Reengineering). The scientific community has focused attention to Web application design, development, analysis, testing, by studying and proposing methodologies and tools. Static and dynamic techniques may be used to analyze existing Web applications. The use of traditional static source code analysis may be very difficult, for the presence of dynamically generated code, and for the multi-language nature of the Web. Dynamic analysis may be useful, but it has an intrinsic limitation, the low number of program executions used to extract information. Our reverse engineering analysis, used into our WAAT (Web Applications Analysis and Testing) project, applies mutational techniques in order to exploit server side execution engines to accomplish part of the dynamic analysis. This paper studies the effects of mutation source code analysis applied to Web software to build application models. Mutation-based generated models may contain more information then necessary, so we need a pruning mechanism.




References:
[1] C. Bellettini, A. Marchetto, and A. Trentini. WebUml: Reverse Engineering of Web Applications. 19th ACM Symposium on Applied
Computing (SAC 2004), Nicosia, Cyprus. March 2004.
[2] S. Ceri, P. Fraternali, and A. Bongio. Web Modeling Language (WebML): a modeling language for designing Web sites. WWW9,
Amsterdam, Netherlands. May, 2000.
[3] J. Conallen. Building Web Applications with UML. Addison-Wesley,
2000.
[4] G.A. Di Lucca, A. R. Fasolino, F. Pace, P. Tramontana, and U. De
Carlini. WARE: A Tool for the Reverse Engineering of Web
Applications. 6th European CSMR 2002, Budapest, Hungary. March
2002.
[5] M. A. Friedman and J. M. Voas. Software Assessment: Reliability,
Safety, Testability. John Wiley & Sons, 1995. [6] V.C. Garcia, D. Lucrédio, A.F. do Prado, A.Alvaro and E.S. de Almeida. Towards an effective approach for Reverse Engineering. 11th
IEEE Working Conference on Reverse Engineering (WCRE-04) 2004
[7] T.H. Haveliwala, A. Gionis, D. Klein, and P. Indyk. Evaluating
Strategies for Similarity Search on the Web Similarity search. WWW
2002
[8] T. Isakowitz, E. A. Stohr, and P. Balasubranian. RMM: A Methodology
for Structured Hypermedia Design. Communications of the ACM,
August 1995.
[9] D. Jackson and M.Rinard. Software Analysis: A Roadmap. ICSE
(Future of Software Engineering Track), ACM Press, 2000.
[10] C. Kallepalli and J. Tian. Measuring and Modeling Usage and
Reliability for Statistical Web Testing. IEEE Transactions on Software
Engineering, November 2001.
[11] H.A. M├╝ller, J.H. Jahnke, D.B. Smith, M.-A. Storey, S.R. Tilley, K.
Wong. Reverse Engineering: A Roadmap. A. Finkelstein (ed.) "The
Future of Software Engineering". New York. ACM Press. 2000
[12] H.A. M├╝ller and H. Kienle. Leveraging Program Analysis for Web Site
Reverse Engineering. 3rd International Workshop on Web Site
Evolution (WSE 2001), Florence, Italy. November 2001.
[13] J. Offutt, Y. Wu, and X. Du. Modeling and Testing of Dynamic Aspects
of Web Applications. Submitted for journal publication, January 2004.
[14] P. Peixoto, K. Fung, and D. Lowe. A Framework for the Simulation of
Web Applications. Fourth International Conference on Web Engineering
(ICWE 2004), M├╝nchen, Germany. July 2004.
[15] Rational Rose Web Modeler. http://www.rational.com.
[16] F. Ricca and P. Tonella. Building a Tool for the Analysis and Testing of
Web Applications: Problems and Solutions. Tools and Algorithms for
the Construction and Analysis of Systems (TACAS-200), Genova, Italy.
April 2001.
[17] F. Ricca and P. Tonella. Dynamic Model Extraction and Statistical
Analysis of Web Applications. 4th International Workshop on Web Site
Evolution (WSE 2002), Montreal, Canada. October 2002.
[18] D. Schwabe, R. Pontes, and I. Moura. OOHDM-Web: An Environment
for Implementation of Hypermedia Applications in the WWW. SigWEB
Newsletter, 8, June 1999.
[19] E. Stroulia and T.Systä. Dynamic Analysis For Reverse Engineering
and Program Understanding. Applied Computing Review, ACM 2002.
[20] T. Systä. Understanding the Behavior of Java Program. 7th Working
Conference on Reverse Engineering (WCRE 2000), Brisbane, Australia,
November 2000.