Automated Repair of Internationalization Presentation Failures in Web Pages Using Style Similarity Clustering and Search-Based Techniques

Internationalization enables companies to reach a global audience by adapting their websites to locale specific language and content. However, such translations can often introduce Internationalization Presentation Failures (IPFs) — distortions in the intended appearance of a website. It is challenging for developers to design websites that can inherently adapt to varying lengths of text from different languages. Debugging and repairing IPFs is complicated by the large number of HTML elements and CSS properties that define a web page's appearance. Tool support is also limited as existing techniques can only detect IPFs, with the repair remaining a labor intensive manual task. To address this problem, we propose a search-based technique for automatically repairing IPFs in web applications. Our empirical evaluation showed that our approach was able to successfully resolve 98% of the reported IPFs for 23 real-world web pages. In a user study, participants rated the visual quality of our fixes significantly higher than the unfixed versions.

[1]  Florian N. Egger,et al.  "Trust me, I'm an online vendor": towards a model of trust for e-commerce system design , 2000, CHI Extended Abstracts.

[2]  Alessandro Orso,et al.  X-PERT: Accurate identification of cross-browser issues in web applications , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[3]  Anjaneyulu Pasala,et al.  Detecting and Localizing Visual Inconsistencies in Web Applications , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[4]  William G. J. Halfond,et al.  An Empirical Study of Internationalization Failures in the Web , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[5]  William G. J. Halfond,et al.  Detection and Localization of HTML Presentation Failures Using Computer Vision-Based Techniques , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[6]  Frank Tip,et al.  Automated repair of HTML generation errors in PHP applications using string constraint solving , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[7]  Atif M. Memon,et al.  GUITAR: an innovative tool for automated testing of GUI-driven software , 2014, Automated Software Engineering.

[8]  Andres Sanoja,et al.  Block-o-Matic: A web page segmentation framework , 2014, 2014 International Conference on Multimedia Computing and Systems (ICMCS).

[9]  Michael D. Ernst,et al.  Automatically repairing broken workflows for evolving GUI applications , 2013, ISSTA.

[10]  J. Archana,et al.  Automation framework for localizability testing of internationalized software , 2013, 2013 International Conference on Human Computer Interactions (ICHCI).

[11]  William G. J. Halfond,et al.  WebSee: A Tool for Debugging HTML Presentation Failures , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[12]  Phil McMinn,et al.  Automated repair of layout cross browser issues using search-based techniques , 2017, ISSTA.

[13]  Claire Le Goues,et al.  Automatically finding patches using genetic programming , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[14]  Hoan Anh Nguyen,et al.  Recurring bug fixes in object-oriented programs , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[15]  Atif M. Memon,et al.  What test oracle should I use for effective GUI testing? , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[16]  Atif M. Memon,et al.  Studying the Characteristics of a "Good" GUI Test Suite , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[17]  William G. J. Halfond,et al.  Root cause analysis for HTML presentation failures using search-based techniques , 2014, SBST 2014.

[18]  Wolfgang Slany,et al.  Automated Bidirectional Languages Localization Testing for Android Apps with Rich GUI , 2016, Mob. Inf. Syst..

[19]  Tao Xie,et al.  Locating need-to-translate constant strings in web applications , 2010, FSE '10.

[20]  Phil McMinn,et al.  XFix: an automated tool for the repair of layout cross browser issues , 2017, ISSTA.

[21]  Rudolf Ramler,et al.  How to Test in Sixteen Languages? Automation Support for Localization Testing , 2017, 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[22]  Dirk Sudholt,et al.  Design and analysis of different alternating variable searches for search-based software testing , 2015, Theor. Comput. Sci..

[23]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[24]  Tao Xie,et al.  Automating presentation changes in dynamic web applications via collaborative hybrid analysis , 2012, SIGSOFT FSE.

[25]  Ana C. R. Paiva,et al.  A pattern-based approach for GUI modeling and testing , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[26]  Hans-Peter Kriegel,et al.  A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise , 1996, KDD.

[27]  William G. J. Halfond,et al.  Finding HTML presentation failures using image comparison techniques , 2014, ASE.

[28]  Andrea Everard,et al.  How Presentation Flaws Affect Perceived Site Quality, Trust, and Intention to Purchase from an Online Store , 2005, J. Manag. Inf. Syst..

[29]  Sarfraz Khurshid,et al.  Contract-Based Data Structure Repair Using Alloy , 2010, ECOOP.

[30]  William G. J. Halfond,et al.  Detecting and Localizing Internationalization Presentation Failures in Web Applications , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[31]  Phil McMinn,et al.  Automated Repair of Mobile Friendly Problems in Web Pages , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[32]  Fan Long,et al.  Staged program repair with condition synthesis , 2015, ESEC/SIGSOFT FSE.

[33]  Hung Viet Nguyen,et al.  Auto-locating and fix-propagating for HTML validation errors to PHP server-side code , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[34]  William G. J. Halfond,et al.  Using Visual Symptoms for Debugging Presentation Failures in Web Applications , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[35]  Wei-Ying Ma,et al.  VIPS: a Vision-based Page Segmentation Algorithm , 2003 .

[36]  Alessandro Orso,et al.  CrossCheck: Combining Crawling and Differencing to Better Detect Cross-browser Incompatibilities in Web Applications , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[37]  Alessandro Orso,et al.  WEBDIFF: Automated identification of cross-browser issues in web applications , 2010, 2010 IEEE International Conference on Software Maintenance.

[38]  Phil McMinn,et al.  Automated layout failure detection for responsive web pages without an explicit oracle , 2017, ISSTA.

[39]  Phil McMinn,et al.  Automatic Detection of Potential Layout Faults Following Changes to Responsive Web Pages (N) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[40]  Emina Torlak,et al.  Automated reasoning for web page layout , 2016, OOPSLA.

[41]  B. J. Fogg,et al.  What makes Web sites credible?: a report on a large quantitative study , 2001, CHI.