Exception Fault Localization in Android Applications

Hamed Mirzaei, A. Heydarnoori
{"title":"Exception Fault Localization in Android Applications","authors":"Hamed Mirzaei, A. Heydarnoori","doi":"10.1109/MOBILESOFT.2015.42","DOIUrl":null,"url":null,"abstract":"In software programs, most of the time, there is a chance of error, even though they are tested carefully. Finding error-related pieces of code is one of the most complicated tasks and it can make incorrect results if done manually. Semi-automated and fully-automated methods have been introduced to overcome this issue. The rapid growth of developing Smart Mobile Applications (SMAs) in recent years, competition among the development teams and many other factors have increased the chance of errors, and hence, the quality of these applications have reduced. There are two approaches to test SMAs in order to reach a high degree of quality: (i) using existing traditional methods and adapting them to SMA environments and (ii) introducing new special methods for SMAs. In this paper, we introduce a semi-automated hybrid method to localize exception errors in Android applications. The proposed approach includes the following three phases: extraction, execution and evaluation. In the extraction phase, all the information about the application under the test (AUT) such as the activity and object properties will be extracted. In the execution phase, we generate a set of test cases and execute them on the AUT. In the evaluation phase, we use test case traces, variable value patterns, and backward static slicing techniques to rank lines of application source code with respect to their relevance to that fault. To support localization of multiple errors in a single run of the approach, we introduce a classification measure on test case traces. Evaluations on nine open source Android applications of different sizes show that our method is effective in practice.","PeriodicalId":131706,"journal":{"name":"2015 2nd ACM International Conference on Mobile Software Engineering and Systems","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 2nd ACM International Conference on Mobile Software Engineering and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MOBILESOFT.2015.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

In software programs, most of the time, there is a chance of error, even though they are tested carefully. Finding error-related pieces of code is one of the most complicated tasks and it can make incorrect results if done manually. Semi-automated and fully-automated methods have been introduced to overcome this issue. The rapid growth of developing Smart Mobile Applications (SMAs) in recent years, competition among the development teams and many other factors have increased the chance of errors, and hence, the quality of these applications have reduced. There are two approaches to test SMAs in order to reach a high degree of quality: (i) using existing traditional methods and adapting them to SMA environments and (ii) introducing new special methods for SMAs. In this paper, we introduce a semi-automated hybrid method to localize exception errors in Android applications. The proposed approach includes the following three phases: extraction, execution and evaluation. In the extraction phase, all the information about the application under the test (AUT) such as the activity and object properties will be extracted. In the execution phase, we generate a set of test cases and execute them on the AUT. In the evaluation phase, we use test case traces, variable value patterns, and backward static slicing techniques to rank lines of application source code with respect to their relevance to that fault. To support localization of multiple errors in a single run of the approach, we introduce a classification measure on test case traces. Evaluations on nine open source Android applications of different sizes show that our method is effective in practice.
Android应用中的异常故障定位
在软件程序中,大多数时候,即使经过仔细的测试,也有可能出错。查找与错误相关的代码片段是最复杂的任务之一,如果手工完成,可能会产生不正确的结果。为了克服这个问题,已经引入了半自动和全自动的方法。近年来,智能移动应用程序(sma)开发的快速增长,开发团队之间的竞争以及许多其他因素增加了出错的机会,因此,这些应用程序的质量降低了。为了达到高质量,测试SMA有两种方法:(i)使用现有的传统方法并使其适应SMA环境;(ii)为SMA引入新的特殊方法。本文介绍了一种半自动化的混合方法来定位Android应用程序中的异常错误。建议的方法包括以下三个阶段:提取、执行和评估。在提取阶段,将提取关于测试(AUT)下应用程序的所有信息,例如活动和对象属性。在执行阶段,我们生成一组测试用例,并在AUT上执行它们。在评估阶段,我们使用测试用例跟踪、变量值模式和向后静态切片技术,根据与该错误的相关性对应用程序源代码行进行排序。为了支持在该方法的一次运行中对多个错误进行定位,我们在测试用例跟踪上引入了一种分类度量。对9个不同大小的开源Android应用程序的测试表明,我们的方法在实践中是有效的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信