A major area of focus for app developers is the user interface (UI) with which users interact with the web and mobile apps. Companies invest a significant amount of effort to design and implement the UIs of their websites and mobile apps. This effort is important because studies have shown that UI aesthetics significantly impact users' overall evaluation of a website; particularly, impressions of trustworthiness and usability. Presentation failures --- discrepancies between the actual appearance of a UI and its intended appearance --- can undermine this effort and negatively impact end users' perception of the quality of the site and the services it delivers.

Presentation failures can occur easily in modern web and mobile apps because of the highly complex and dynamic nature of the code that defines their visual appearance. In fact, one of our industrial collaborators, reports that presentation failures generally represent almost 50-60% of the total failures found during testing. Presentation failures are difficult to debug as the process is both labor intensive and error prone. Testers can easily miss presentation failures, and once a failure is detected, it can be difficult to identify the corresponding faulty UI elements. Finally, fixing the fault without introducing new failures is complicated due to the fact that server side code can dynamically generate content that is included in the faulty UI as well as other UI. Developers have several techniques available to them to help debug presentation failures. However, these techniques have limitations that either reduce their effectiveness or make them inappropriate for general usage.

My group's work on ensuring the correctness of UIs encompasses three main areas of research. The first of these is automated techniques for detecting when presentation failures have occurred (see [mahajan15icst]). The second area is focused on techniques that use the detected information to identify the faulty UI elements in the app (see [mahajan14sbst]). Finally, the third area is the development of automated techniques that can repair the faulty UI code.


This work is supported, in part, by NSF grant 1528163 and an Infosys grant to the University of Southern California.

2017
[10]
XFix: An Automated Tool for Repair of Layout Cross Browser Issues. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn, William G.J. Halfond. In Proceeding of the International Symposium on Software Testing and Analysis (ISSTA) - Tool Demo. July 2017.
[9]
Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn, William G.J. Halfond. In Proceeding of the International Symposium on Software Testing and Analysis (ISSTA). July 2017. Distinguished Paper Award.
2016
[8]
Detecting and Localizing Visual Inconsistencies in Web Applications. Sonal Mahajan, Krupa Benhur Gadde, Anjaneyulu Pasala, William G. J. Halfond. In Proceedings of the 23rd Asia-Pacific Software Engineering Conference (APSEC) - Short Paper. December 2016.
[7]
An Empirical Study of Internationalization Failures in the Web. Abdulmajeed Alameer, William G.J. Halfond. In Proceedings of the International Conference on Software Maintenance and Evolution (ICSME). October 2016.
[6]
Using Visual Symptoms for Debugging Presentation Failures in Web Applications. Sonal Mahajan, Bailan Li, Pooyan Behnamghader, William G.J. Halfond. In Proceeding of the 9th IEEE International Conference on Software Testing, Verification, and Validation (ICST). April 2016.
[5]
Detecting and Localizing Internationalization Presentation Failures in Web Applications. Abdulmajeed Alameer, Sonal Mahajan, William G.J. Halfond. In Proceeding of the 9th IEEE International Conference on Software Testing, Verification, and Validation (ICST). April 2016. Best Paper Award.
2015
[4]
WebSee: A Tool for Debugging HTML Presentation Failures. Sonal Mahajan, William G.J. Halfond. In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST) - Tool Track. April 2015.
[3]
Detection and Localization of HTML Presentation Failures Using Computer Vision-Based Techniques. Sonal Mahajan, William G. J. Halfond. In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST). April 2015.
2014
[2]
Finding HTML Presentation Failures Using Image Comparison Techniques. Sonal Mahajan, William G. J. Halfond. In Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE) -- New Ideas track. September 2014.
[1]
Root Cause Analysis for HTML Presentation Failures Using Search-based Techniques. Sonal Mahajan, Bailan Li, William G. J. Halfond. In Proceedings of the 7th International Workshop on Search-Based Software Testing (SBST). June 2014.