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.
[15] | Effective Automated Repair of Internationalization Presentation Failures in Web Applications Using Style Similarity Clustering and Search-Based Techniques. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn and William G.J. Halfond. In Software Testing, Verification and Reliability. John Wiley & Sons, Ltd. Volume 31 2020. |
[14] | Efficiently Repairing Internationalization Presentation Failures by Solving Layout Constraints. Abdulmajeed Alameer, Paul T. Chiou and William G.J. Halfond. In Proceedings of the IEEE International Conference on Software Testing, Verification, and Validation (ICST). April 2019. |
[13] | An Empirical Study of UI Implementations in Android Applications. Mian Wan, Negarsadat Abolhassani, Ali S. Alotaibi and William G.J. Halfond. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution. Sep. 2019. |
[12] | Automated Repair of Mobile Friendly Problems in Web Pages. Sonal Mahajan, Negarsadat Abolhassani, Phil McMinn and William G.J. Halfond. In Proceedings of the International Conference on Software Engineering (ICSE). May 2018. |
[11] | Automated Repair of Internationalization Failures Using Style Similarity Clustering and Search-Based Techniques. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn and William G.J. Halfond. In Proceedings of the International Conference on Software Testing, Validation and Verification (ICST). April 2018. Distinguished Paper Award. |
[10] | Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn and William G.J. Halfond. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA). July 2017. Distinguished Paper Award. |
[9] | XFix: An Automated Tool for Repair of Layout Cross Browser Issues. Sonal Mahajan, Abdulmajeed Alameer, Phil McMinn and William G.J. Halfond. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA) - Tool Demo. July 2017. |
[8] | Detecting and Localizing Visual Inconsistencies in Web Applications. Sonal Mahajan, Krupa Benhur Gadde, Anjaneyulu Pasala and 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 and 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 and William G.J. Halfond. In Proceedings 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 and William G.J. Halfond. In Proceedings of the 9th IEEE International Conference on Software Testing, Verification, and Validation (ICST). April 2016. Best Paper Award. |
[4] | Detection and Localization of HTML Presentation Failures Using Computer Vision-Based Techniques. Sonal Mahajan and William G. J. Halfond. In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST). April 2015. |
[3] | WebSee: A Tool for Debugging HTML Presentation Failures. Sonal Mahajan and William G.J. Halfond. In Proceedings of the 8th IEEE International Conference on Software Testing, Verification and Validation (ICST) - Tool Track. April 2015. |
[2] | Finding HTML Presentation Failures Using Image Comparison Techniques. Sonal Mahajan and 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 and William G. J. Halfond. In Proceedings of the 7th International Workshop on Search-Based Software Testing (SBST). June 2014. |