Database interactions are among the most essential functional features in web applications. Thus, for the maintenance and understanding of web applications, it is vital that the web engineer could identify all code segments which implement the database interactions features. Unfortunately, the highly dynamic nature of web applications makes it challenging to automatically extract all the possible database interactions from source code. In this paper, we propose an automated approach to extract database interactions from source code by using symbolic execution and inference rules. In our approach, all paths which might lead to a database interaction are symbolically executed following symbolic evaluation rules. In each execution, we derive a symbolic expression for each parameter defining the interaction type. We also develop inference rules to deduce the interaction types from the set of symbolic expressions derived. The approach has been applied extensively to extract database interactions in open-source web applications.
['Minh Ngoc Ngo', 'Hee Beng Kuan Tan', 'Doanh Trinh']
Automated Extraction of Database Interactions in Web Applications