2020年ASE的一篇文章

​ASE,全称 IEEE/ACM International Conference on Automated Software Engineering,是软件工程领域的顶级会议。

标题:通过视觉理解发现UI显示问题

研究问题:基于深度学习方法,进行UI图像bug的自动检测工作。UI图像bug主要有组件遮挡、文本重叠、图像缺失、空值、屏幕模糊5种。

研究思路:提出OwlEye,基于卷积神经网络(CNN)来识别有UI显示问题的截图,并利用梯度加权类激活映射( Gradient-weighted Class Activation Mapping,Grad-CAM)来定位截图中有UI显示问题的区域,以指导开发人员修复该bug。

Grad-CAM可以对任意结构的CNN进行可视化,不需要修改网络结构或者重新训练。 Grad-CAM使用流入CNN的最后一个卷积层的梯度信息为每个神经元分配重要值,以进行特定的关注决策。尽管技术相当笼统,因为它可以用来解释深层网络任何层中的激活

主要创新:

1.提出了能够自动检测并定位bug的模型OwlEye;

2.人工构建了一个带有UI显示问题的GUI屏幕截图的大规模带标签的数据集,并开发了一种基于启发式的数据增强方法。

数据增强:开发了一种基于启发式的数据增强方法,用于从无bug的UI图像生成带有显示问题的UI截图。数据增加是基于Rico数据集,其中包含了超过66K的唯一的屏幕截图,从93k的Android应用程序,以及他们的附带JSON文件。对于输入的截图及其相关的JSON文件,算法首先定位所有的TextView和ImageView,然后根据扩展的类别随机选择一个TextView或ImageView。根据TextView/ImageView的坐标和大小,然后算法进行复制,并按照特定的规则调整其位置或大小,以生成具有相应UI显示问题的截图。具体来说,从Rico数据集中随机选择的10,000个应用程序中随机下载一个截图,每个截图将用于一次数据增强。为了使训练数据跨类别平衡,使用了10%的截图来增强组件遮挡类别,而使用30%的截图来增强其他三个类别的数据。对于增加的10,000个带有UI显示问题的屏幕截图,首先使用ORB特征提取算法提取它们的特征,随机排序,计算一个特定的截图与之前每个截图之间的余弦相似度,当相似度值高于0.8时,将其删除,最终剩余增强后的7800张图片。

优势:它可以应用于包括Android、iOS在内的任何平台,并且它以屏幕截图作为输入,这在现实世界的实践中很容易获得。

研究方法:

数据集:1.实验数据集是从最大的众测平台之一收集的,在这个平台上,众测工作者被要求在完成测试任务后提交测试报告。

562个Android手机,包含新闻、娱乐、媒体等方面的测试,共有10330张不同的屏幕截图。

2.数据增强后的数据集,7800个有UI显示问题的屏幕截图被保留下来并添加到实验数据集中。

实验方法:

评估指标:精度,召回率,F1

实验结果:

消融实验:

总结:与最佳基线相比,OwlEye的召回率和准确率提高了17%和50%以上。作为同类的第一个工作,还对真实世界的移动应用中的UI显示问题进行了系统的研究,并为后续研究提供了一个大规模的应用UI显示问题数据集。

Owl Eyes: Spotting UI Display Issues via Visual Understanding相关推荐

  1. 如何在Visual Studio中切换自动换行?

    本文翻译自:How can I toggle word wrap in Visual Studio? Does Visual Studio .NET have a way to toggle word ...

  2. Blend for Visual Studio 2013

    软件开发中为了使设计师和程序员"并行"工作并直接参与到程序的开发中来. 1.在网络程序开发团队中,草图设计后,设计师们可以使用HTML.CSS.JavaScript直接生成UI,程 ...

  3. 文字如何实现完美UI?文本排版设计告诉你

    2019独角兽企业重金招聘Python工程师标准>>> 一部手机,电量充足,网络通畅,就足以让我们打发一天的时光,尽情沉浸在手机时代的缤纷世界里.这个信息资源无穷尽的手机网络世界,是 ...

  4. SAP Cloud for Customer Individual Customer的UI建模

    从Chrome开发者工具里找到individual customer UI模型的路径: /BYD_COD/ServiceOnDemand/PrivateAccount/COD_SEOD_ACCT_DA ...

  5. 怎么实现页面友好跳转_如何实现软,友好和一致的UI设计

    怎么实现页面友好跳转 重点 (Top highlight) Design trends are constantly changing, aren't they? Each month there i ...

  6. 使用 Microsoft.UI.Xaml 解决 UWP 控件和对老版本 Windows 10 的兼容性问题

    原文 使用 Microsoft.UI.Xaml 解决 UWP 控件和对老版本 Windows 10 的兼容性问题 虽然微软宣称 Windows 10 将是最后一个 Windows 版本,但由于年代跨越 ...

  7. VS 2010 测试功能学习(七) - RnP与Coded UI自动化测试

      题外话:昨天去上海浦东机场接闺女, 一切还是蛮顺利的,公交机场7线直接从上海火车南站一站直达浦东机场,票价20元,算上乘坐地铁5号和1号线的6元,从我家到机场总共要26元,相对于打 的士的220元 ...

  8. 【Paper】CNN-LSTM:Long-term Recurrent Convolutional Networks for Visual Recognition and Description

    论文期刊:CVPR 2015 (oral) 论文被引:3673 (04/24/20) 论文原文:点击此处 该论文是 CNN-LSTM 的开山鼻祖,主要用于生成图像描述.初稿发布于2014年,拿到了 C ...

  9. 论文-《Visual Question Answering A tutorial》重点翻译+扩展

    论文笔记 论文下载 摘要Abstract: Tremendous advances have been seen in the field of computer vision due to the ...

最新文章

  1. jsforeach异步的问题_js中forEach回调同异步题目
  2. 在 Markdown 中,如何在反引号对语句中使用反引号
  3. 一篇文章为你深度解析HTTPS 协议
  4. java 多线程 day06 threadLocal
  5. 如何让Android手机远离间谍软件?看这里
  6. 【Spring-tx】spring事务和mybatis的联系
  7. unity的NGUI
  8. es 修改mapping
  9. 2017博鳌新型城镇化发展大会,机智云斩获2017中国智慧城市生态圈杰出企业、智慧城市创新应用双料大奖
  10. SQL AlawaysOn 之二:添加组织和域用户
  11. 嵌入式服务器appweb交叉编译指南
  12. JavaSE-part2
  13. ET篇:斗地主的流程(资源工作流)
  14. 校园二手物品商城交易平台
  15. 车牌识别lpr tenssorrt推理(二)
  16. 职业生涯规划常用测试工具
  17. 使用cv2和PIL实现图片格式转换,以png转jpg为例
  18. 【JiyaChieng】(零)Jiya和Chieng的故事
  19. mkv格式视频怎么转成mp4?
  20. week10(图论2)

热门文章

  1. 【揭秘】过敏性炎症的元凶竟然是“它”
  2. 计算机int型数值范围
  3. liunx下xxd命令将text文件转成hex文件
  4. 7-7 愿天下有情人都是失散多年的兄妹(25 分
  5. uni-app 视频播放遇到的问题-video
  6. 百度编辑器(ueditor)魔改:4、滚动条管理(scrollTop,scrollTo)
  7. HDU-1026 Ignatius and the Princess I (BFS)
  8. python控制程序_python流程控制
  9. libc.so.6 导致Linux系统崩溃
  10. 可变形卷积:DCNv1and DCNv2