共查询到18条相似文献,搜索用时 93 毫秒
1.
2.
3.
4.
5.
6.
模糊测试是一种行之有效的软件缺陷检测方法. 其基本思想是生成大量随机输入,从而广泛探索程序行为,并以此发现程序崩溃和崩溃背后的软件缺陷. 显然,纯随机的输入无法高效探索程序行为,大量程序缺陷也难以导致崩溃. 为了进一步提升模糊测试的有效性,模糊测试往往引入静态插桩技术,用于加快探索程序状态空间速度,提升发现缺陷的能力.因此,引入静态插桩已经成为当下模糊测试的经典实践. 聚焦于模糊测试场景下的插桩需求,除了介绍静态插桩技术的基本原理外,从安全特性强化和导向信息收集两个视角出发,系统性地分析了当下静态插桩的典型方法. 同时,针对插桩的额外开销问题,全面地测量了不同插桩方案下的程序的执行速度,并与基线的未插桩程序进行比对. 最后基于上述分析和测量,初步展望了静态插桩的优化方向.
相似文献7.
插桩技术作为一种有效理解程序动态行为的手段,已经被广泛应用于程序分析、测试和验证中。然而,由于缺少通用的插桩工具,各种具体的应用往往需要从头开发特定的插桩程序,存在着大量的重复性工作。此外,由于在原始程序中插入了大量额外代码,致使调试过程变得更加复杂和困难。针对这些问题,提出了一个基于Eclipse的通用Java代码插桩工具,即通过规则定义匹配程序的执行点,从而定制针对各种分析、测试和验证插桩需求的支持。通过对插桩代码片段的显式/隐式切换实现其可见性管理,从而确保程序的理解和调试过程不受插桩代码影响。通过使用该工具,可以更好地将插桩技术应用于Java程序开发中。 相似文献
8.
插桩技术用于跟踪获取软件系统的运行时信息,是软件性能管理工具中不可或缺的一个部分。目前,存在的各类插桩工具所产生的插桩点在目标程序运行的过程中往往是不可改变的。在实际的程序异常、错误检测中,用户关心的程序代码的位置在不同阶段往往不同,因此目标程序运行的不同阶段所需要获取信息的插桩点位置是不同的,如果插桩点过多会导致插桩工具浪费系统资源,产生系统资源消耗过大的问题;插桩点过少则会导致无法准确定位目标软件发生异常位置。针对以上问题,使用基于线性回归和K-Means的分析模型,分析目标软件的性能数据,在其运行过程中动态地改变插桩点,尽可能的减少资源的消耗;另外,采用朴素贝叶斯分类模型对插桩类进行筛选,减少植入插桩点的类,可降低插桩带来的资源消耗。实验表明:与传统的工具相比,使用此插桩框架进行监控,被测网页的平均响应时间减少6.88%,同时对目标程序的干扰更小。 相似文献
9.
10.
11.
良好的化工企业自动化仪表设计可以优化自动化仪表的使用性能,提高其适应性。简要介绍了化工企业自动化仪表及其设计原则和仪表分类,阐述了化工企业自动化仪表的基本设计理念。 相似文献
12.
While existing work concentrates on developing QoS models of business workflows and Web services, few tools have been developed
to support the monitoring and performance analysis of scientific workflows in Grids. This paper describes novel Grid services
for dynamic instrumentation of Grid-based applications, performance monitoring and analysis of Grid scientific workflows.
We describe a Grid dynamic instrumentation service that provides a widely accessible interface for other services and users
to conduct the dynamic instrumentation of Grid applications during the runtime. We introduce a Grid performance analysis service
for Grid scientific workflows. The analysis service utilizes various types of data including workflow graphs, monitoring data
of resources, execution status of activities, and performance measurements obtained from the dynamic instrumentation of invoked
applications, and provides a rich set of functionalities and features to support the online monitoring and performance analysis
of scientific workflows. Workflows and their relevant information including performance metrics are stored and utilized for
comparing the performance of constructs of different workflows and for supporting multi-workflow analysis.
The work described in this paper is supported in part by the Austrian Science Fund as part of the Aurora Project under contract
SFBF1104 and by the European Union through the IST-2002-511385 project K-WfGrid. 相似文献
13.
14.
本文介绍了并行程序动态性能监测的一般概念和方法。在分析PVM内部跟踪机制及其在动态跟踪方面缺陷的基础上,对其进行了相应的改进和扩充,并在一个基于PVM的并行程序可视化性能分析系统VENUS中得到了实现。 相似文献
15.
Gregory L. Lee Martin Schulz Dong H. Ahn Andrew Bernat Bronis R. de Supinski Steven Y. Ko Barry Rountree 《International journal of parallel programming》2007,35(3):207-232
Dynamic binary instrumentation for performance analysis on large scale architectures such as the IBM Blue Gene/L system (BG/L)
poses unique challenges. Their unprecedented scale and often limited OS support require new mechanisms to organize binary
instrumentation, to interact with the target application, and to collect the resulting data.
We describe the design and current status of a new implementation of the Dynamic Probe Class Library (DPCL) API for large
scale systems. DPCL provides an easy to use layer for dynamic instrumentation on parallel MPI applications based on the DynInst
dynamic instrumentation library for sequential platforms. Our work includes modifying DynInst to control instrumentation from
remote I/O nodes and porting DPCL’s communication for performance data collection to use MRNet, a tree-based overlay network
that (TBON) supports scalable multicast and data reduction. We describe extensions to the DPCL API that support instrumentation
of task subsets and aggregation of collected performance data. 相似文献
16.
软件测试是保证软件质量的重要手段,软件测试工具可以使测试过程变得自动化,覆盖分析为测试提供了可信度测量。该文研究了Java多线程动态测试中的覆盖率分析和线程分析一些度量标准,实现覆盖分析自动化和线程分析自动化的关键技术是程序插装。文章给出了实现此测试所需要的插装。 相似文献
17.
18.
随着软件系统功能的日益强大,软件编写的代码量呈指数趋势增长,程序错误控制和程序性能优化变得越来越困难。为了在代码量增加的情况下,有效控制程序质量,改进程序性能,程序员大多采用动态二进制分析工具进行程序分析。动态二进制代码插入框架有效地简化了动态二进制工具的构建,因此准确掌握每种动态二进制代码插入框架的特征,成为准确构建不同工具的前提。本文通过对常用的五种二进制代码插入框架进行深入研究分析,总结归纳了每种框架的特点和特定情况下的适用性,为在工具构建过程中进行框架的准确有效选择提供了参考。 相似文献