2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE) (2014)
Feb. 3, 2014 to Feb. 6, 2014
Ebrahim Khalil Abbasi , PReCISE, University of Namur, Belgium
Mathieu Acher , University of Rennes 1, Irisa, Inria France
Patrick Heymans , PReCISE, University of Namur, Belgium
Anthony Cleve , PReCISE, University of Namur, Belgium
A Web configurator offers a highly interactive environment to assist users in customising sales products through the selection of configuration options. Our previous empirical study revealed that a significant number of configurators are suboptimal in reliability, efficiency, and maintainability, opening avenues for re-engineering support and methodologies. This paper presents a tool-supported reverse-engineering process to semi-automatically extract configuration-specific data from a legacy Web configurator. The extracted and structured data is stored in formal models (e.g., variability models) and can be used in a forward-engineering process to generate a customized interface with an underlying reliable reasoning engine. Two major components are presented: (1) a Web Wrapper that extracts structured configuration-specific data from unstructured or semistructured Web pages of a configurator, and (2) a Web Crawler that explores the “configuration space” (i.e., all objects representing configuration-specific data) and simulates users' configuration actions. We describe variability data extraction patterns, used on top of the Wrapper and the Crawler to extract configuration data. Experimental results on five existing Web configurators show that the specification of a few variability patterns enable the identification of hundreds of options.
Data mining, Web pages, Crawlers, Reverse engineering, Feature extraction, Data models, Space exploration
E. K. Abbasi, M. Acher, P. Heymans and A. Cleve, "Reverse engineering web configurators," 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), Antwerp, Belgium, 2014, pp. 264-273.