2016 International Conference on Software Analysis, Testing and Evolution (SATE)最新文献

筛选
英文 中文
How Is Code Recommendation Applied in Android Development: A Qualitative Review 如何在Android开发中应用代码推荐:定性审查
Junwei Wu, Liwei Shen, Wunan Guo, Wenyun Zhao
{"title":"How Is Code Recommendation Applied in Android Development: A Qualitative Review","authors":"Junwei Wu, Liwei Shen, Wunan Guo, Wenyun Zhao","doi":"10.1109/SATE.2016.12","DOIUrl":"https://doi.org/10.1109/SATE.2016.12","url":null,"abstract":"Code recommendation has been an indispensable feature of IDE (Integrated Development Environment) for modern software developers. Android developers especially require code recommendation support to ensure high development efficiency and quality, as Android applications are developed based on Android application framework and thus are more pattern-based. Many techniques and tools have been developed to support code recommendation in different ways. However, it is not clear how these techniques and tools can be used in Android development and whether Android development can be well supported by them. In this paper, we present a qualitative review on code recommendation techniques and tools with the focus of support for Android development. We first categorize code recommendation techniques and tools reported in literatures and then evaluate them towards the requirements of Android development. The evaluation results enable us to draw a comprehensive image of how code recommendation benefits Android development and also the deficiencies of state-of-the-art code recommendation techniques in meeting specific requirements of Android development. Based on the evaluation, a comprehensive discussion is presented to suggest possible improvement and future research directions of code recommendation techniques.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125121339","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 8
Test Case Prioritization Approach to Improving the Effectiveness of Fault Localization 提高故障定位有效性的测试用例优先化方法
Wenhao Fu, Huiqun Yu, Guisheng Fan, Xiang Ji
{"title":"Test Case Prioritization Approach to Improving the Effectiveness of Fault Localization","authors":"Wenhao Fu, Huiqun Yu, Guisheng Fan, Xiang Ji","doi":"10.1109/SATE.2016.17","DOIUrl":"https://doi.org/10.1109/SATE.2016.17","url":null,"abstract":"Fault localization aims to use testing information from executed test cases to help locate the fault position. However, obtaining testing information (including test results and coverage information) is expensive because it needs much manual effort. How to orderly choose and execute a small number of test cases, and in the meantime achieve a good effectiveness of fault localization in the case of unknowing testing information is still a challenge for us. In this paper, we propose a new test case prioritization algorithm for fault localization, which is based on the rank changes of suspicious values of program elements. Test case which can maximize the improvements of suspicious ranks of program elements may assign the highest priority for execution. A set of empirical studies have been designed and conducted on Siemens programs and four medium-sized programs. The results show that our algorithm can help reduce the debugging effort in terms of the percentage of statements needed to be inspected to locate faults in both single-fault and multi-fault programs.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126125523","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
Identify Coincidental Correct Test Cases Based on Fuzzy Classification 基于模糊分类识别巧合正确的测试用例
Zheng Li, Meiying Li, Yong Liu, Jingyao Geng
{"title":"Identify Coincidental Correct Test Cases Based on Fuzzy Classification","authors":"Zheng Li, Meiying Li, Yong Liu, Jingyao Geng","doi":"10.1109/SATE.2016.19","DOIUrl":"https://doi.org/10.1109/SATE.2016.19","url":null,"abstract":"In software testing, Coincidental Correct (CC) test case, which implement the faulty statement but with a correct output, has been investigated with a negative effects on coverage-based fault localization. Coincidental correct test case identification and manipulation had been studied and many identification methods are proposed, in which clustering based method is widely used. In this paper, a machine learning based fuzzy classification technique is proposed. We first present an approach to identify truly CC test cases for single fault version programs. Then KNN algorithm is adopted to classify the remaining passed test cases and three types of modified fuzzy suspiciousness metrics are presented based on three proposed CC test cases manipulation strategies. Empirical studies are conducted on 102 faulty versions of six programs, and the results indicate that the proposed approach makes the recall and false positive of CC test cases are 82% and 5% in average. In addition, the proposed fuzzy CC test cases manipulation strategies can improve the effectiveness of fault localization.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131664382","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 17
Which Is More Important for Cross-Project Defect Prediction: Instance or Feature? 对于跨项目缺陷预测,哪个更重要:实例还是特征?
Qiao Yu, Shujuan Jiang, Junyan Qian
{"title":"Which Is More Important for Cross-Project Defect Prediction: Instance or Feature?","authors":"Qiao Yu, Shujuan Jiang, Junyan Qian","doi":"10.1109/SATE.2016.22","DOIUrl":"https://doi.org/10.1109/SATE.2016.22","url":null,"abstract":"Software defect prediction plays an important role in software testing. We can build the prediction model based on historical data. However, for a new project, we cannot be able to build a good prediction model due to lack of historical data. Therefore, researchers have proposed the cross-project defect prediction (CPDP) methods to share the historical data among different projects. In practice, there may be the problems of instance distribution differences and feature redundancy in cross-project datasets. To investigate which is more important for CPDP, instance or feature, we take instance filter and feature selection as examples to show their efficiency for CPDP. Our experiments are conducted on NASA and PROMISE datasets, and the results indicate that feature selection performs better than instance filter in improving the performance of CPDP. We can conclude that feature could be more important than instance for CPDP.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131860983","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Do We Have a Chance to Fix Bugs When Refactoring Code Smells? 当重构有异味的代码时,我们有机会修复bug吗?
Wanwangying Ma, Lin Chen, Yuming Zhou, Baowen Xu
{"title":"Do We Have a Chance to Fix Bugs When Refactoring Code Smells?","authors":"Wanwangying Ma, Lin Chen, Yuming Zhou, Baowen Xu","doi":"10.1109/SATE.2016.11","DOIUrl":"https://doi.org/10.1109/SATE.2016.11","url":null,"abstract":"Code smells are used to describe code structures that may cause detrimental effects on software and should be refactored. Previous studies show that some code smells have significant effect on faults. However, how to refactor code smells to reduce bugs still needs more concern. We investigate the possibility of prioritizing code smell refactoring with the help of fault prediction results. We also investigate the possibility of improving the performance of fault prediction by using code smell detection results. We use Cohen's Kappa statistic to report agreements between results of code smell detections and fault predictions. We use fault prediction result as an indicator to guide code smell refactoring. Our results show that refactoring Blob, Long Parameter List, and Refused Parent Be Request may have a good chance to detect and fix bugs, and some code smells are particularly useful for improving the recall of fault prediction.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"171 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130027466","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Research on Relations between Software Network Structure and Fault Propagation 软件网络结构与故障传播关系研究
J. Ai, Linzhi Huang, Fei Wang, Jiaming Wang
{"title":"Research on Relations between Software Network Structure and Fault Propagation","authors":"J. Ai, Linzhi Huang, Fei Wang, Jiaming Wang","doi":"10.1109/SATE.2016.18","DOIUrl":"https://doi.org/10.1109/SATE.2016.18","url":null,"abstract":"The rapidly increasing application of software makes for the growing requirement of software quality. In key areas like aviation, aerospace and communication, a tiny software failure may brings serious consequences. Once the defects in the one or more software entities are triggered, the software faults may propagate to the extra entities and result in the partial failure of the software or even the system-wide failure. Therefore, to reduce software failure rate and assure software quality, the software fault propagation laws and influences on the software system demand more attention to be detected and controlled in the early phase. So in this paper, the complex network theories and methods are introduced into the fault propagation research of the structured software. By constructing the complex network model of structured software and abstracting the software faults into the status of nodes in the network, the software fault propagation laws and influence factors are analyzed, and the structured software fault propagation model is built.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134059974","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Automatic Reproducible Crash Detection 自动再现崩溃检测
Yongfeng Gu, J. Xuan, T. Qian
{"title":"Automatic Reproducible Crash Detection","authors":"Yongfeng Gu, J. Xuan, T. Qian","doi":"10.1109/SATE.2016.15","DOIUrl":"https://doi.org/10.1109/SATE.2016.15","url":null,"abstract":"Crash reproduction, which spends much time of developers in reading and understanding source code, is a crucial yet time-consuming task in program debugging. To reduce the time and resource cost, automatic techniques of test generation have been proposed. These techniques aim to automatically generate test cases to reproduce the scenario of a crashed project. Unfortunately, due to the lack of a detailed comprehension of the source code, a generated test case may fail in reproducing an expected crash. In this paper, we propose an automatic approach to reproducible bug detection. This approach predicts whether a crash is difficult to reproduce or not via training a classifier based on historical reproducible crash data. If a crash is difficult to reproduce, it is better to assign the crash to a developer, instead of using an automatic technique of test generation. Our work can help to prioritize crashes and to save the cost of developers. Preliminary experiments show that our approach effectively detects reproducible crashes via evaluating 45 crashes.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116436820","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Benchmarking the Powering Computations for Application Tuning 为应用程序调优测试强大的计算能力
Yonggang Che, Chuanfu Xu, Zhenghua Wang
{"title":"Benchmarking the Powering Computations for Application Tuning","authors":"Yonggang Che, Chuanfu Xu, Zhenghua Wang","doi":"10.1109/SATE.2016.7","DOIUrl":"https://doi.org/10.1109/SATE.2016.7","url":null,"abstract":"Powering is an important operation in many computation intensive workloads. This paper investigates the performance of different styles to calculate the powering operations from the application level. A series of small benchmark codes that calculate the powering operations in different ways are designed. Their performance is evaluated on Intel Xeon CPU under Intel compilation environments. The results show that the number of floating-point operations and the related runtime are sensitive to the value of the exponent Y and how it is used. When Y is an immediate integer number whose value is known at compile time, the cost of powering is much less than the situation when Y is an integer variable whose value is known at runtime. When Y is defined as a real variable, the cost of powering is always high, be it equals to an integer number or not. Based on the investigations, performance optimizations are applied to a kernel subroutine from a real-world supersonic combustion simulation code, which intensively involves powering operations. The result shows that the performance of that subroutine is improved for 13.25 times on the Intel Xeon E5-2692 CPU.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127186907","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
What Permissions Should This Android App Request? 这个Android应用程序应该请求什么权限?
Lingfeng Bao, D. Lo, Xin Xia, Shanping Li
{"title":"What Permissions Should This Android App Request?","authors":"Lingfeng Bao, D. Lo, Xin Xia, Shanping Li","doi":"10.1109/SATE.2016.13","DOIUrl":"https://doi.org/10.1109/SATE.2016.13","url":null,"abstract":"As Android is one of the most popular open source mobile platforms, ensuring security and privacy of Android applications is very important. Android provides a permission mechanism which requires developers to declare sensitive resources their applications need, and users need to agree with this request when they install (for Android API level 22 or lower) or run (for Android API level 23) these applications. Although Android provides very good official documents to explain how to properly use permissions, unfortunately misuses even for the most popular permissions have been reported. Recently, Karim et al. propose an association rule mining based approach to better infer permissions that an API needs. In this work, to improve the effectiveness of the prior work, we propose an approach which is based on collaborative filtering technique, one of popular techniques used to build recommendation systems. Our approach is designed based on the intuition that apps that have similar features - inferred from the APIs that they use - usually share similar permissions. We evaluate the proposed approaches on 936 Android apps from F-Droid, which is a repository of free and open source Android applications. The experimental results show that our proposed approaches achieve significant improvement in terms of the precision, recall, F1-score and MAP of the top-k results over Karim et al.'s approach.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127017724","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信