首页 > 最新文献

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
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.
对于现代软件开发人员来说,代码推荐已经成为IDE(集成开发环境)不可或缺的功能。Android开发人员尤其需要代码推荐支持,以确保较高的开发效率和质量,因为Android应用程序是基于Android应用程序框架开发的,因此更基于模式。已经开发了许多技术和工具,以不同的方式支持代码推荐。然而,这些技术和工具如何在Android开发中使用,以及它们是否能很好地支持Android开发,目前还不清楚。在本文中,我们对代码推荐技术和工具进行了定性回顾,重点是对Android开发的支持。我们首先对文献中报道的代码推荐技术和工具进行分类,然后针对Android开发的需求进行评估。评估结果使我们能够全面了解代码推荐对Android开发的好处,以及当前最先进的代码推荐技术在满足Android开发特定需求方面的不足。在此基础上,对代码推荐技术的改进和未来的研究方向进行了全面的讨论。
{"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
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.
故障定位的目的是利用已执行的测试用例中的测试信息来定位故障的位置。然而,获得测试信息(包括测试结果和覆盖率信息)是昂贵的,因为它需要大量的手工工作。如何在测试信息未知的情况下,有序地选择和执行少量的测试用例,同时达到良好的故障定位效果,仍然是我们面临的挑战。本文提出了一种基于程序元素可疑值排序变化的故障定位测试用例优先排序算法。测试用例可以最大限度地改进可疑级别的程序元素,可以为执行分配最高优先级。针对西门子项目和四个中型项目设计并进行了一套实证研究。结果表明,无论在单故障还是多故障程序中,我们的算法都可以帮助减少调试工作量,减少需要检查的语句百分比来定位故障。
{"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
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.
在软件测试中,一致性正确(CC)测试用例对基于覆盖率的错误定位有负面影响。对巧合正确测试用例的识别和操作进行了研究,提出了多种识别方法,其中基于聚类的方法得到了广泛的应用。本文提出了一种基于机器学习的模糊分类技术。我们首先提出了一种方法来识别单故障版本程序的真正CC测试用例。然后采用KNN算法对剩余通过的测试用例进行分类,并基于提出的三种CC测试用例操作策略提出了三种改进的模糊怀疑度度量。对6个程序的102个错误版本进行了实证研究,结果表明,该方法使CC测试用例的召回率和假阳性率平均为82%和5%。此外,提出的模糊CC测试用例操作策略可以提高故障定位的有效性。
{"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
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.
软件缺陷预测在软件测试中起着重要的作用。我们可以根据历史数据建立预测模型。然而,对于一个新项目,由于缺乏历史数据,我们无法建立一个很好的预测模型。因此,研究人员提出了跨项目缺陷预测(CPDP)方法,以便在不同项目之间共享历史数据。在实际应用中,跨项目数据集可能存在实例分布差异和特征冗余的问题。为了研究实例和特征哪个对CPDP更重要,我们以实例滤波和特征选择为例来说明它们在CPDP中的效率。我们在NASA和PROMISE数据集上进行了实验,结果表明特征选择在提高CPDP性能方面优于实例滤波。我们可以得出结论,对于CPDP来说,功能可能比实例更重要。
{"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
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.
代码气味用于描述可能对软件造成有害影响的代码结构,应该对其进行重构。以前的研究表明,某些代码气味对错误有显著的影响。然而,如何重构代码气味以减少bug仍然需要更多的关注。我们研究了在故障预测结果的帮助下对代码气味重构进行优先级排序的可能性。我们还研究了利用代码气味检测结果提高故障预测性能的可能性。我们使用Cohen的Kappa统计来报告代码气味检测结果和故障预测之间的一致性。我们使用故障预测结果作为指标来指导代码气味重构。我们的结果表明,重构Blob、Long Parameter List和Refused Parent Be Request可能有很好的机会检测和修复bug,并且一些代码气味对于提高故障预测的召回率特别有用。
{"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
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.
随着软件应用的迅速增加,对软件质量的要求也越来越高。在航空、航天、通信等关键领域,一个小小的软件故障就可能带来严重的后果。一旦一个或多个软件实体中的缺陷被触发,软件错误可能会传播到额外的实体,并导致软件的部分故障甚至系统范围的故障。因此,为了降低软件的故障率,保证软件的质量,软件故障的传播规律及其对软件系统的影响,需要在早期阶段进行检测和控制。因此,本文将复杂网络理论和方法引入到结构化软件的故障传播研究中。通过构建结构化软件的复杂网络模型,将软件故障抽象为网络中节点的状态,分析软件故障传播规律及影响因素,建立结构化软件故障传播模型。
{"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
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.
在程序调试中,崩溃再现是一项重要而耗时的任务,它花费了开发人员大量的时间来阅读和理解源代码。为了减少时间和资源成本,提出了测试自动生成技术。这些技术旨在自动生成测试用例,以重现崩溃项目的场景。不幸的是,由于缺乏对源代码的详细理解,生成的测试用例可能无法再现预期的崩溃。在本文中,我们提出了一种可重复的错误自动检测方法。这种方法通过训练基于历史可再现的崩溃数据的分类器来预测崩溃是否难以再现。如果崩溃难以重现,那么最好将崩溃分配给开发人员,而不是使用自动生成测试的技术。我们的工作可以帮助确定崩溃的优先级,并节省开发人员的成本。初步实验表明,我们的方法通过评估45次崩溃有效地检测可重复的崩溃。
{"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
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.
在许多计算密集型工作负载中,供电是一项重要的操作。本文从应用层考察了不同风格的性能,计算了供电操作。设计了一系列小型基准代码,以不同的方式计算供电操作。在Intel编译环境下,在Intel Xeon CPU上对其性能进行了评估。结果表明,浮点运算的次数和相关的运行时间对指数Y的值及其使用方式很敏感。当Y是一个即时整数,其值在编译时已知时,启动的成本远低于Y是一个整数变量,其值在运行时已知时的情况。当Y被定义为实变量时,无论是否等于整数,供电成本总是很高的。在此基础上,将性能优化应用于来自真实世界超音速燃烧模拟代码的核心子程序,该程序主要涉及动力操作。结果表明,在Intel至强E5-2692 CPU上,该子程序的性能提高了13.25倍。
{"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
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.
Android作为最流行的开源移动平台之一,确保Android应用程序的安全性和隐私性是非常重要的。Android提供了一种许可机制,要求开发者声明他们的应用程序需要的敏感资源,用户在安装(Android API级别22或更低)或运行(Android API级别23)这些应用程序时需要同意这个请求。尽管Android提供了非常好的官方文档来解释如何正确使用权限,但不幸的是,即使是最流行的权限,也有误用的报道。最近,Karim等人提出了一种基于关联规则挖掘的方法来更好地推断API所需的权限。在这项工作中,为了提高先前工作的有效性,我们提出了一种基于协同过滤技术的方法,协同过滤技术是构建推荐系统的常用技术之一。我们的方法是基于直觉设计的,即具有相似功能的应用程序-从它们使用的api推断-通常共享相似的权限。我们在来自F-Droid的936个Android应用程序上评估了所提出的方法,F-Droid是一个免费和开源的Android应用程序库。实验结果表明,与Karim等人的方法相比,我们提出的方法在top-k结果的查准率、查全率、F1-score和MAP方面都有了显著的提高。
{"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
期刊
2016 International Conference on Software Analysis, Testing and Evolution (SATE)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1