首页> 外文期刊>IEEE Transactions on Software Engineering >Techniques for Classifying Executions of Deployed Software to Support Software Engineering Tasks
【24h】

Techniques for Classifying Executions of Deployed Software to Support Software Engineering Tasks

机译:用于对已部署软件的执行进行分类以支持软件工程任务的技术

获取原文
获取原文并翻译 | 示例

摘要

There is an increasing interest in techniques that support analysis and measurement of fielded software systems. These techniques typically deploy numerous instrumented instances of a software system, collect execution data when the instances run in the field, and analyze the remotely collected data to better understand the system's in-the-field behavior. One common need for these techniques is the ability to distinguish execution outcomes (e.g., to collect only data corresponding to some behavior or to determine how often and under which condition a specific behavior occurs). Most current approaches, however, do not perform any kind of classification of remote executions and either focus on easily observable behaviors (e.g., crashes) or assume that outcomes' classifications are externally provided (e.g., by the users). To address the limitations of existing approaches, we have developed three techniques for automatically classifying execution data as belonging to one of several classes. In this paper, we introduce our techniques and apply them to the binary classification of passing and failing behaviors. Our three techniques impose different overheads on program instances and, thus, each is appropriate for different application scenarios. We performed several empirical studies to evaluate and refine our techniques and to investigate the trade-offs among them. Our results show that 1) the first technique can build very accurate models, but requires a complete set of execution data; 2) the second technique produces slightly less accurate models, but needs only a small fraction of the total execution data; and 3) the third technique allows for even further cost reductions by building the models incrementally, but requires some sequential ordering of the software instances' instrumentation.
机译:对支持对现场软件系统进行分析和测量的技术的兴趣日益浓厚。这些技术通常部署软件系统的许多检测实例,在实例在现场运行时收集执行数据,并分析远程收集的数据以更好地了解系统的现场行为。这些技术的一个共同需求是能够区分执行结果(例如,仅收集与某些行为相对应的数据或确定特定行为发生的频率和条件)。然而,大多数当前的方法不对远程执行执行任何类型的分类,或者专注于容易观察到的行为(例如,崩溃),或者假设结果的分类是外部提供的(例如,由用户提供)。为了解决现有方法的局限性,我们开发了三种技术,用于将执行数据自动分类为几种类之一。在本文中,我们介绍了我们的技术,并将其应用于通过和失败行为的二进制分类。我们的三种技术在程序实例上施加了不同的开销,因此,每种技术都适用于不同的应用程序场景。我们进行了一些实证研究,以评估和完善我们的技术,并研究其中的取舍。我们的结果表明:1)第一种技术可以建立非常准确的模型,但是需要完整的执行数据集; 2)第二种技术产生的模型精度稍差,但只需要总执行数据的一小部分; 3)第三种技术可以通过逐步构建模型来进一步降低成本,但是需要对软件实例的仪器进行一些顺序排序。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号