WebEvo: taming web application evolution via detecting semantic structure changes

WebEvo: taming web application evolution via detecting semantic structure changes
复制标题

DOI:
10.1145/3460319.3464800
复制
发表时间:
2021-07
期刊:
Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis
影响因子:
--
通讯作者:
Fei Shao;Ruiwen Xu;W. Haque;Jingwei Xu;Ying Zhang;Wei Yang;Yanfang Ye;Xusheng Xiao
Fei Shao;Ruiwen Xu;W. Haque;Jingwei Xu;Ying Zhang;Wei Yang;Yanfang Ye;Xusheng Xiao
中科院分区:
其他
文献类型:
--
作者:
Fei Shao;Ruiwen Xu;W. Haque;Jingwei Xu;Ying Zhang;Wei Yang;Yanfang Ye;Xusheng Xiao

文献摘要

相似文献

Web技术的发展和大数据时代的开始,导致了从网站提取数据的技术的发展,例如信息检索(IR)和机器人流程自动化(RPA)工具。随着网站的不断发展,为了防止这些工具由于网站的发展而无法正常工作,重要的是要监控网站的变化并将其报告给开发人员和测试人员。现有的监测工具主要使用DOM树技术来检测新网页的变化。然而,这些监视工具错误地报告基于内容的更改(即,每次检索网页时刷新的网页内容)作为将不利地影响IR和RPA工具的性能的改变。这会导致错误警告,因为IR和RPA工具通常会将这些更改视为预期更改并从中检索动态数据。此外,这些监视工具不能识别GUI小部件演变(例如,移动按钮),因此不能帮助IR和RPA工具适应演进的窗口小部件(例如,自动修复进化的窗口小部件的定位器)。为了解决现有的监控工具的局限性,我们提出了一种方法,WebEvo,利用历史页面来识别DOM元素的变化是基于内容的变化,这可以安全地忽略报告时,在新的网页的变化。此外,为了识别保留GUI小部件的语义和外观的重构更改,WebEvo采用计算机视觉(CV)技术,以逐个元素的方式识别GUI小部件从旧网页到新网页的映射。对来自9个流行类别的13个真实网站的实证评估表明,WebEvo在有效性和效率方面优于现有的基于DOM树的检测或全页视觉比较。
The development of Web technology and the beginning of the Big Data era have led to the development of technologies for extracting data from websites, such as information retrieval (IR) and robotic process automation (RPA) tools. As websites are constantly evolving, to prevent these tools from functioning improperly due to website evolution, it is important to monitor the changes in websites and report them to the developers and testers. Existing monitoring tools mainly use DOM-tree based techniques to detect changes in the new web pages. However, these monitoring tools incorrectly report content-based changes (i.e., web content refreshed every time a web page is retrieved) as the changes that will adversely affect the performance of the IR and RPA tools. This results in false warnings since the IR and RPA tools typically consider these changes as expected and retrieve dynamic data from them. Moreover, these monitoring tools cannot identify GUI widget evolution (e.g., moving a button), and thus cannot help the IR and RPA tools adapt to the evolved widgets (e.g., automatic repair of locators for the evolved widgets). To address the limitations of the existing monitoring tools, we propose an approach, WebEvo, that leverages historic pages to identify the DOM elements whose changes are content-based changes, which can be safely ignored when reporting changes in the new web pages. Furthermore, to identify refactoring changes that preserve semantics and appearances of GUI widgets, WebEvo adapts computer vision (CV) techniques to identify the mappings of the GUI widgets from the old web page to the new web page on an element-by-element basis. Empirical evaluations on 13 real-world websites from 9 popular categories demonstrate the superiority of WebEvo over the existing DOM-tree based detection or whole-page visual comparison in terms of both effectiveness and efficiency.