首页 > 最新文献

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

英文 中文
Dynamically Detecting DOM-Related Atomicity Violations in JavaScript with Asynchronous Call 通过异步调用动态检测JavaScript中dom相关的原子性违规
Dezhi Wang, Lei Xu, Baowen Xu, Weifeng Zhang
In Web applications, atomicity violations caused by AJAX (Asynchronous JavaScript and XML) generate non-determinism and inconsistency. This paper introduces a dynamical detecting approach for atomicity violations in AJAX. Implemented based on Jalangi, an existing instrumentation framework, our technique monitors the execution of a Web application and tracks the Function Callback Flow to find atomic regions by taint analysis. Next, we build a dynamic event model, so as to precisely record the related DOM elements in call and callback steps with low overhead. Then we develop an event-based algorithm to acquire the results, which are classified into different severity levels (benign or harmful). Finally, we conduct an empirical experiment on a subset of Alexa top-ranked websites. Our tool detects 175 DOM related atomicity violations in which 48.6% of violations are identified as harmful after manual inspection.
在Web应用程序中,AJAX(异步JavaScript和XML)导致的原子性违反会产生不确定性和不一致性。介绍了AJAX中原子性违规的动态检测方法。我们的技术基于现有的检测框架Jalangi实现,它监视Web应用程序的执行并跟踪函数回调流,从而通过污点分析找到原子区域。接下来,我们构建一个动态事件模型,以便在调用和回调步骤中精确地记录相关的DOM元素,同时降低开销。然后,我们开发了一种基于事件的算法来获取结果,并将结果分为不同的严重程度(良性或有害)。最后,我们对Alexa排名靠前的网站子集进行了实证实验。我们的工具检测到175个DOM相关的原子性违规,其中48.6%的违规在人工检查后被识别为有害的。
{"title":"Dynamically Detecting DOM-Related Atomicity Violations in JavaScript with Asynchronous Call","authors":"Dezhi Wang, Lei Xu, Baowen Xu, Weifeng Zhang","doi":"10.1109/SATE.2016.14","DOIUrl":"https://doi.org/10.1109/SATE.2016.14","url":null,"abstract":"In Web applications, atomicity violations caused by AJAX (Asynchronous JavaScript and XML) generate non-determinism and inconsistency. This paper introduces a dynamical detecting approach for atomicity violations in AJAX. Implemented based on Jalangi, an existing instrumentation framework, our technique monitors the execution of a Web application and tracks the Function Callback Flow to find atomic regions by taint analysis. Next, we build a dynamic event model, so as to precisely record the related DOM elements in call and callback steps with low overhead. Then we develop an event-based algorithm to acquire the results, which are classified into different severity levels (benign or harmful). Finally, we conduct an empirical experiment on a subset of Alexa top-ranked websites. Our tool detects 175 DOM related atomicity violations in which 48.6% of violations are identified as harmful after manual inspection.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"7 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":"121257597","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}
引用次数: 0
Diagnosis of Service Failures by Probabilistic Inference with Runtime Activity Dependences 基于运行时活动依赖的概率推理服务故障诊断
Rong Chen, Yaqing Liu, X. Ge, Hui Li
Pinpointing sources of runtime faults, especially persistent unforeseen ones, is crucial for minimizing failure impact in the surge of service-based processes in e-commerce times. This paper presents a novel probabilistic reasoning method for diagnosing what caused the failures in service-based processes, while assuming that there is no knowledge of fault types and no formal specification of activities at design time, but activity dependence traces are available in running against test cases. Our probabilistic diagnosis is statistically significant in coping with uncertain failures arising from process executions with unknown input and output values for some activities. Experiments are carried out on various scale orchestrated web services with injected faults, and the results show that our probabilistic diagnosis statistically performs better than earlier dependency-based methods.
在电子商务时代,精确定位运行时错误的来源,特别是持久的不可预见的错误,对于最小化基于服务的流程激增中的故障影响至关重要。本文提出了一种新的概率推理方法,用于诊断基于服务的流程中导致故障的原因,同时假设在设计时不知道故障类型和活动的正式规范,但在针对测试用例运行时可以使用活动依赖跟踪。我们的概率诊断在处理某些活动的输入和输出值未知的流程执行引起的不确定故障时具有统计意义。实验结果表明,我们的概率诊断方法在统计上优于早期基于依赖的方法。
{"title":"Diagnosis of Service Failures by Probabilistic Inference with Runtime Activity Dependences","authors":"Rong Chen, Yaqing Liu, X. Ge, Hui Li","doi":"10.1109/SATE.2016.16","DOIUrl":"https://doi.org/10.1109/SATE.2016.16","url":null,"abstract":"Pinpointing sources of runtime faults, especially persistent unforeseen ones, is crucial for minimizing failure impact in the surge of service-based processes in e-commerce times. This paper presents a novel probabilistic reasoning method for diagnosing what caused the failures in service-based processes, while assuming that there is no knowledge of fault types and no formal specification of activities at design time, but activity dependence traces are available in running against test cases. Our probabilistic diagnosis is statistically significant in coping with uncertain failures arising from process executions with unknown input and output values for some activities. Experiments are carried out on various scale orchestrated web services with injected faults, and the results show that our probabilistic diagnosis statistically performs better than earlier dependency-based methods.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"26 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":"130146294","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}
引用次数: 0
Cost-Sensitive Local Collaborative Representation for Software Defect Prediction 用于软件缺陷预测的成本敏感型局部协作表示法
Fei Wu, Xiaoyuan Jing, Xiwei Dong, Jicheng Cao, Baowen Xu, Shi Ying
Recently, representative sparse representation based classifiers, namely dictionary learning and collaborative representation based classifier (CRC), has been introduced into software defect prediction (SDP) and demonstrated to be effective for SDP. The dictionary learning based SDP method needs relatively large computational cost, while collaborative representation based method can significantly reduce the computational cost and achieve comparable prediction effects as the former. In this paper, we aim to preserve the desirable efficiency of collaborative representation based SDP method and further improve its prediction effect. We propose a cost-sensitive local collaborative representation (CLCR) approach for SDP. CLCR firstly efficiently finds the neighboring modules of a given test (query) module using CRC. Then CLCR represents the test module as a linear combination of its neighbors and uses the representation error for prediction. To solve the class-imbalance problem, CLCR further incorporates the cost-sensitive factor into the representation coefficients in the prediction phase. Experiments on five projects of the NASA dataset demonstrate the effectiveness of the proposed approach as compared with several related SDP methods.
最近,基于稀疏表示的分类器,即基于字典学习的分类器和基于协作表示的分类器(CRC)被引入软件缺陷预测(SDP),并被证明对 SDP 非常有效。基于字典学习的 SDP 方法需要相对较大的计算成本,而基于协作表示的方法可以显著降低计算成本,并达到与前者相当的预测效果。本文旨在保留基于协作表示的 SDP 方法的理想效率,并进一步提高其预测效果。我们为 SDP 提出了一种成本敏感的局部协同表示(CLCR)方法。CLCR 首先使用 CRC 有效地找到给定测试(查询)模块的邻近模块。然后,CLCR 将测试模块表示为其邻居的线性组合,并利用表示误差进行预测。为了解决类不平衡问题,CLCR 在预测阶段进一步将成本敏感因素纳入表示系数。在 NASA 数据集的五个项目上进行的实验表明,与几种相关的 SDP 方法相比,所提出的方法非常有效。
{"title":"Cost-Sensitive Local Collaborative Representation for Software Defect Prediction","authors":"Fei Wu, Xiaoyuan Jing, Xiwei Dong, Jicheng Cao, Baowen Xu, Shi Ying","doi":"10.1109/SATE.2016.24","DOIUrl":"https://doi.org/10.1109/SATE.2016.24","url":null,"abstract":"Recently, representative sparse representation based classifiers, namely dictionary learning and collaborative representation based classifier (CRC), has been introduced into software defect prediction (SDP) and demonstrated to be effective for SDP. The dictionary learning based SDP method needs relatively large computational cost, while collaborative representation based method can significantly reduce the computational cost and achieve comparable prediction effects as the former. In this paper, we aim to preserve the desirable efficiency of collaborative representation based SDP method and further improve its prediction effect. We propose a cost-sensitive local collaborative representation (CLCR) approach for SDP. CLCR firstly efficiently finds the neighboring modules of a given test (query) module using CRC. Then CLCR represents the test module as a linear combination of its neighbors and uses the representation error for prediction. To solve the class-imbalance problem, CLCR further incorporates the cost-sensitive factor into the representation coefficients in the prediction phase. Experiments on five projects of the NASA dataset demonstrate the effectiveness of the proposed approach as compared with several related SDP methods.","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":"131041601","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}
引用次数: 6
Debugging Multithreaded Programs as if They Were Sequential 调试多线程程序,就好像它们是顺序的一样
Xiaodong Zhang, Z. Yang, Q. Zheng, Yu Hao, Pei Liu, Lechen Yu, Ming Fan, Ting Liu
Debugging multithreaded software is challenging because the basic assumption that underlies sequential software debugging, i.e. the program behavior is deterministic under fixed inputs, is no longer valid due to the nondeterminism brought by thread scheduling. In this paper, we propose a proactive debugging method to restore this basic assumption so that programmers can debug multithreaded programs as if they were sequential. Our approach is based on the synergistic integration of a set of new symbolic analysis and dynamic analysis techniques. In particular, symbolic analysis is used to investigate the program behavior under multiple thread interleavings and then drive the dynamic execution to new branches. Dynamic analysis is used to execute these new branches and in turn guide the symbolic analysis further. The net effect of applying this feedback loop is a systematic and complete coverage of the program behavior under a fixed test input. We have implemented the proposed method in a software tool called Proactive-Debugger. Our experiments show that Proactive-Debugger outperforms both ESBMC and Maple, two state-of-the-art testing tools for detecting and reproducing bugs in multithreaded programs.
调试多线程软件是具有挑战性的,因为串行软件调试的基本假设,即在固定输入下程序行为是确定性的,由于线程调度带来的不确定性而不再有效。在本文中,我们提出了一种主动调试方法来恢复这个基本假设,以便程序员可以调试多线程程序,就好像它们是连续的一样。我们的方法是基于一套新的符号分析和动态分析技术的协同整合。特别是,使用符号分析来研究多线程交错下的程序行为,然后将动态执行驱动到新的分支。动态分析用于执行这些新的分支,并反过来进一步指导符号分析。应用此反馈回路的净效果是在固定的测试输入下系统地、完整地覆盖程序行为。我们已经在一个名为Proactive-Debugger的软件工具中实现了所提出的方法。我们的实验表明,主动调试器优于ESBMC和Maple,这两种最先进的测试工具用于检测和重现多线程程序中的错误。
{"title":"Debugging Multithreaded Programs as if They Were Sequential","authors":"Xiaodong Zhang, Z. Yang, Q. Zheng, Yu Hao, Pei Liu, Lechen Yu, Ming Fan, Ting Liu","doi":"10.1109/SATE.2016.20","DOIUrl":"https://doi.org/10.1109/SATE.2016.20","url":null,"abstract":"Debugging multithreaded software is challenging because the basic assumption that underlies sequential software debugging, i.e. the program behavior is deterministic under fixed inputs, is no longer valid due to the nondeterminism brought by thread scheduling. In this paper, we propose a proactive debugging method to restore this basic assumption so that programmers can debug multithreaded programs as if they were sequential. Our approach is based on the synergistic integration of a set of new symbolic analysis and dynamic analysis techniques. In particular, symbolic analysis is used to investigate the program behavior under multiple thread interleavings and then drive the dynamic execution to new branches. Dynamic analysis is used to execute these new branches and in turn guide the symbolic analysis further. The net effect of applying this feedback loop is a systematic and complete coverage of the program behavior under a fixed test input. We have implemented the proposed method in a software tool called Proactive-Debugger. Our experiments show that Proactive-Debugger outperforms both ESBMC and Maple, two state-of-the-art testing tools for detecting and reproducing bugs in multithreaded programs.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"143 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":"129032881","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
Detecting Code Smells in Python Programs
Zhifei Chen, Lin Chen, Wanwangying Ma, Baowen Xu
As a traditional dynamic language, Python is increasingly used in various software engineering tasks. However, due to its flexibility and dynamism, Python is a particularly challenging language to write code in and maintain. Consequently, Python programs contain code smells which indicate potential comprehension and maintenance problems. With the aim of supporting refactoring strategies to enhance maintainability, this paper describes how to detect code smells in Python programs. We introduce 11 Python smells and describe the detection strategy. We also implement a smell detection tool named Pysmell and use it to identify code smells in five real world Python systems. The results show that Pysmell can detect 285 code smell instances in total with the average precision of 97.7%. It reveals that Large Class and Large Method are most prevalent. Our experiment also implies Python programs may be suffering code smells further.
作为一种传统的动态语言,Python越来越多地用于各种软件工程任务。然而,由于其灵活性和动态性,Python是一种特别具有挑战性的语言来编写和维护代码。因此,Python程序包含指示潜在理解和维护问题的代码气味。为了支持重构策略以增强可维护性,本文描述了如何检测Python程序中的代码气味。我们介绍了11种Python气味并描述了检测策略。我们还实现了一个名为Pysmell的气味检测工具,并使用它来识别五个真实Python系统中的代码气味。结果表明,Pysmell总共可以检测到285个代码气味实例,平均准确率为97.7%。它揭示了大类和大方法是最普遍的。我们的实验还表明,Python程序可能会进一步受到代码异味的影响。
{"title":"Detecting Code Smells in Python Programs","authors":"Zhifei Chen, Lin Chen, Wanwangying Ma, Baowen Xu","doi":"10.1109/SATE.2016.10","DOIUrl":"https://doi.org/10.1109/SATE.2016.10","url":null,"abstract":"As a traditional dynamic language, Python is increasingly used in various software engineering tasks. However, due to its flexibility and dynamism, Python is a particularly challenging language to write code in and maintain. Consequently, Python programs contain code smells which indicate potential comprehension and maintenance problems. With the aim of supporting refactoring strategies to enhance maintainability, this paper describes how to detect code smells in Python programs. We introduce 11 Python smells and describe the detection strategy. We also implement a smell detection tool named Pysmell and use it to identify code smells in five real world Python systems. The results show that Pysmell can detect 285 code smell instances in total with the average precision of 97.7%. It reveals that Large Class and Large Method are most prevalent. Our experiment also implies Python programs may be suffering code smells further.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"2 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":"131133166","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}
引用次数: 22
Distance-Based Test-Suite Reduction for Efficient Testing-Based Fault Localization 基于距离的测试集缩减,用于有效的基于测试的故障定位
Xingya Wang, Shujuan Jiang, Pengfei Gao, Xiaolin Ju, Rongcun Wang, Yanmei Zhang
Testing-based Fault Localization (TBFL) can guide and automate the process of program debugging by providing developers with a ranked list of suspicious statements. However, collecting the testing information of the whole original test-suite is always too expensive or even infeasible for developers to conduct efficient TBFL. Traditional Test-Suite Reduction (TSR) approaches can be utilized to reduce the size of test-suite. But they still rely on the time-consuming process of the whole testing information collection. In this paper, we propose a distance-based test-suite reduction (DTSR) approach. It is guided by the distances between the test cases rather than the whole testing information when conducting the test-suite reduction. Compared with the existing TSRs, DTSR only needs to collect the testing information of a part of test cases. Our investigation on a series of benchmarks shows that DTSR can effectively reduce the size of the given test-suite and the time cost of TBFL. Nerveless, the fault localization effective-ness of our approach is close to that of the whole test-suite.
基于测试的故障定位(TBFL)可以通过向开发人员提供可疑语句的排序列表来指导和自动化程序调试过程。然而,收集整个原始测试套件的测试信息对于开发人员进行有效的TBFL来说总是过于昂贵甚至不可行的。传统的测试套件缩减(TSR)方法可以用来减少测试套件的大小。但是它们仍然依赖于整个测试信息收集的耗时过程。在本文中,我们提出了一种基于距离的测试套件缩减(DTSR)方法。在执行测试套件缩减时,它是由测试用例之间的距离而不是整个测试信息来指导的。与现有的tsr相比,DTSR只需要收集一部分测试用例的测试信息。我们对一系列基准测试的调查表明,DTSR可以有效地减少给定测试套件的大小和TBFL的时间成本。尽管如此,我们的方法的故障定位有效性接近于整个测试套件。
{"title":"Distance-Based Test-Suite Reduction for Efficient Testing-Based Fault Localization","authors":"Xingya Wang, Shujuan Jiang, Pengfei Gao, Xiaolin Ju, Rongcun Wang, Yanmei Zhang","doi":"10.1109/SATE.2016.21","DOIUrl":"https://doi.org/10.1109/SATE.2016.21","url":null,"abstract":"Testing-based Fault Localization (TBFL) can guide and automate the process of program debugging by providing developers with a ranked list of suspicious statements. However, collecting the testing information of the whole original test-suite is always too expensive or even infeasible for developers to conduct efficient TBFL. Traditional Test-Suite Reduction (TSR) approaches can be utilized to reduce the size of test-suite. But they still rely on the time-consuming process of the whole testing information collection. In this paper, we propose a distance-based test-suite reduction (DTSR) approach. It is guided by the distances between the test cases rather than the whole testing information when conducting the test-suite reduction. Compared with the existing TSRs, DTSR only needs to collect the testing information of a part of test cases. Our investigation on a series of benchmarks shows that DTSR can effectively reduce the size of the given test-suite and the time cost of TBFL. Nerveless, the fault localization effective-ness of our approach is close to that of the whole test-suite.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"30 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":"132144789","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
Analysis of the Runtime Linux Operating System as a Complex Weighted Network 运行时Linux操作系统作为复杂加权网络的分析
Haoqin Wang, Guanping Xiao
The structures and behaviors of modern software systems are more and more complicated, thus the modeling of the runtime software systems is difficult. In this paper, we model the runtime Linux operating system (LOS) as a weighted network to investigate the execution process of LOS. The topologies of the weighted LOS network are analyzed and it is found that the weight distribution follows a power-law distribution. For better understanding the execution process of LOS, we explore the manifestations of LOS components. The result shows that the component of process management plays the key role in the execution process of LOS. Moreover, an assessment of the reliability of LOS is proposed by considering the execution status of LOS as a discrete time Markov chain. The reliabilities of 10 LOS versions ranging from versions 3.15 to 4.4 are compared and the result shows that the reliability declines. Our work may shed a light on the testing and monitoring processes of software systems.
现代软件系统的结构和行为越来越复杂,给运行时软件系统的建模带来了困难。本文将运行时Linux操作系统(LOS)建模为一个加权网络来研究LOS的执行过程。分析了加权LOS网络的拓扑结构,发现其权重服从幂律分布。为了更好地理解LOS的执行过程,我们探讨了LOS组成部分的表现形式。结果表明,流程管理组件在LOS的执行过程中起着关键作用。此外,本文还提出了一种基于离散时间马尔可夫链的LOS执行状态可靠性评估方法。比较了3.15 ~ 4.4版本的10个LOS版本的可靠性,结果表明可靠性有所下降。我们的工作可能会对软件系统的测试和监控过程有所启发。
{"title":"Analysis of the Runtime Linux Operating System as a Complex Weighted Network","authors":"Haoqin Wang, Guanping Xiao","doi":"10.1109/SATE.2016.8","DOIUrl":"https://doi.org/10.1109/SATE.2016.8","url":null,"abstract":"The structures and behaviors of modern software systems are more and more complicated, thus the modeling of the runtime software systems is difficult. In this paper, we model the runtime Linux operating system (LOS) as a weighted network to investigate the execution process of LOS. The topologies of the weighted LOS network are analyzed and it is found that the weight distribution follows a power-law distribution. For better understanding the execution process of LOS, we explore the manifestations of LOS components. The result shows that the component of process management plays the key role in the execution process of LOS. Moreover, an assessment of the reliability of LOS is proposed by considering the execution status of LOS as a discrete time Markov chain. The reliabilities of 10 LOS versions ranging from versions 3.15 to 4.4 are compared and the result shows that the reliability declines. Our work may shed a light on the testing and monitoring processes of software systems.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"90 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":"121928036","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}
引用次数: 3
Applying Assemble Clustering Algorithm and Fault Prediction to Test Case Prioritization 装配聚类算法与故障预测在测试用例排序中的应用
Lei Xiao, Huai-kou Miao, Weiwei Zhuang, Shaojun Chen
Cluster application is proposed as an efficient approach to improve test case prioritization, Test case in a same cluster are considered to have similar behaviors. In the process of cluster test case, the selection of test case feature and the clusters number have great influence on the clustering results. but to date almost clustering algorithm to improve test case prioritization are selected random clusters number and clustering result are based on one or a few of the code features, the paper propose a new prioritization techniques that not only consider the best clusters number but also produce the best clustering result based on test case multidimensional feature. After clustering, considering the inter-cluster prioritization and intra-cluster prioritization,in order to improve the effectiveness of our approach, the fault prediction value of code corresponding to the test case is used as one of a prioritization weight. Finally,we implemented an empirical studies using an industrial software to illustrate the effectiveness of the test case prioritization techniques.
集群应用被认为是提高测试用例优先级的有效方法,同一集群中的测试用例被认为具有相似的行为。在聚类测试用例的过程中,测试用例特征的选择和聚类数量对聚类结果有很大的影响。但目前提高测试用例优先级的聚类算法大多是随机选取聚类数,聚类结果基于代码的一个或几个特征,本文提出了一种既考虑最佳聚类数又基于测试用例多维特征产生最佳聚类结果的聚类算法。聚类后,考虑聚类间优先级和聚类内优先级,为了提高算法的有效性,将测试用例对应代码的故障预测值作为优先级权重之一。最后,我们使用一个工业软件实现了一个实证研究,以说明测试用例优先化技术的有效性。
{"title":"Applying Assemble Clustering Algorithm and Fault Prediction to Test Case Prioritization","authors":"Lei Xiao, Huai-kou Miao, Weiwei Zhuang, Shaojun Chen","doi":"10.1109/SATE.2016.25","DOIUrl":"https://doi.org/10.1109/SATE.2016.25","url":null,"abstract":"Cluster application is proposed as an efficient approach to improve test case prioritization, Test case in a same cluster are considered to have similar behaviors. In the process of cluster test case, the selection of test case feature and the clusters number have great influence on the clustering results. but to date almost clustering algorithm to improve test case prioritization are selected random clusters number and clustering result are based on one or a few of the code features, the paper propose a new prioritization techniques that not only consider the best clusters number but also produce the best clustering result based on test case multidimensional feature. After clustering, considering the inter-cluster prioritization and intra-cluster prioritization,in order to improve the effectiveness of our approach, the fault prediction value of code corresponding to the test case is used as one of a prioritization weight. Finally,we implemented an empirical studies using an industrial software to illustrate the effectiveness of the test case prioritization techniques.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"121 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":"129086644","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
An Exploratory Analysis on Software Developers' Bug-Introducing Tendency over Time 软件开发人员引入bug趋势的探索性分析
Yihao Li, Dong Li, Fuqun Huang, Shou-Yu Lee, J. Ai
Understanding how software developers' erroneous tendency changes across time has significant implications for building fault-proneness prediction models and guiding software evolution testing. This paper initiates the investigation on software developers' bug-introducing tendency through an exploratory analysis. Five metrics are proposed to capture software developers' bug-introducing tendency and its correlated factors. A total of 76 software developers, working in four widely used software programs from GitHub, have been analyzed. The initial findings are presented.
了解软件开发人员的错误倾向是如何随时间变化的,对于构建错误倾向预测模型和指导软件进化测试具有重要意义。本文通过探索性分析,对软件开发人员引入bug的倾向进行了调查。提出了五个度量来捕捉软件开发人员引入bug的倾向及其相关因素。共有76名软件开发人员在GitHub的四个广泛使用的软件程序中工作。提出了初步研究结果。
{"title":"An Exploratory Analysis on Software Developers' Bug-Introducing Tendency over Time","authors":"Yihao Li, Dong Li, Fuqun Huang, Shou-Yu Lee, J. Ai","doi":"10.1109/SATE.2016.9","DOIUrl":"https://doi.org/10.1109/SATE.2016.9","url":null,"abstract":"Understanding how software developers' erroneous tendency changes across time has significant implications for building fault-proneness prediction models and guiding software evolution testing. This paper initiates the investigation on software developers' bug-introducing tendency through an exploratory analysis. Five metrics are proposed to capture software developers' bug-introducing tendency and its correlated factors. A total of 76 software developers, working in four widely used software programs from GitHub, have been analyzed. The initial findings are presented.","PeriodicalId":344531,"journal":{"name":"2016 International Conference on Software Analysis, Testing and Evolution (SATE)","volume":"189 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":"116335580","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}
引用次数: 7
Lightweight Fault Localization Combining with Fault-Context 结合故障上下文的轻量级故障定位
Yong Wang, Zhiqiu Huang, Yong Li, Bingwu Fang
Lightweight fault localization technique is a popular class of automated approach to assist programmers in debugging, which often outputs an ordered list of program entities sorted based on their likelihood to be the root cause of a set of failures. However, the technique only focus on calculating the association between program entity and failures, and did not consider program entity's fault context may influence the result. A lightweight fault localization based on fault-context was proposed, which combine suspiciousness of program entity and suspiciousness of program entity's fault-context. We conducted an experiment in which our approach was applied to seven benchmark programs. The experimental results show that our approach combining DStar and fault-context can improve absolute ranking with effective rate of 34.8% for 132 faulty versions from the seven benchmark programs. It is worth mentioning that our approach can obtain average improvement of 65.18% for those improved program if those is effective to SFL, and root causes of failures of 7 buggy programs were improved ranking at the top in the fault ranking report.
轻量级故障定位技术是一种流行的自动化方法,用于帮助程序员进行调试,它通常输出一个有序的程序实体列表,该列表基于它们成为一组故障的根本原因的可能性进行排序。然而,该技术只注重计算程序实体与故障之间的关联,而没有考虑程序实体的故障上下文可能对结果的影响。提出了一种基于故障上下文的轻量级故障定位方法,该方法将程序实体的怀疑性与程序实体的故障上下文的怀疑性相结合。我们进行了一个实验,将我们的方法应用于七个基准程序。实验结果表明,将DStar与故障上下文相结合的方法对7个基准程序中的132个错误版本进行绝对排序,有效率为34.8%。值得一提的是,我们的方法在对SFL有效的情况下,改进后的程序平均改进率为65.18%,在故障排名报告中,有7个bug程序的故障根源得到了改善,排名靠前。
{"title":"Lightweight Fault Localization Combining with Fault-Context","authors":"Yong Wang, Zhiqiu Huang, Yong Li, Bingwu Fang","doi":"10.1109/SATE.2016.23","DOIUrl":"https://doi.org/10.1109/SATE.2016.23","url":null,"abstract":"Lightweight fault localization technique is a popular class of automated approach to assist programmers in debugging, which often outputs an ordered list of program entities sorted based on their likelihood to be the root cause of a set of failures. However, the technique only focus on calculating the association between program entity and failures, and did not consider program entity's fault context may influence the result. A lightweight fault localization based on fault-context was proposed, which combine suspiciousness of program entity and suspiciousness of program entity's fault-context. We conducted an experiment in which our approach was applied to seven benchmark programs. The experimental results show that our approach combining DStar and fault-context can improve absolute ranking with effective rate of 34.8% for 132 faulty versions from the seven benchmark programs. It is worth mentioning that our approach can obtain average improvement of 65.18% for those improved program if those is effective to SFL, and root causes of failures of 7 buggy programs were improved ranking at the top in the fault ranking report.","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":"131016929","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
期刊
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