首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 406 毫秒
1.
为了检测特定配置条件下的软件漏洞,提出了一种配置模糊测试方法.它通过改变被测程序的配置检测一些只在特定运行时特定配置下才能表现出来的软件漏洞.应用程序运行在部署环境下时,配置模糊测试技术连续不断的模糊应用程序的配置信息,检查软件是否违反了“安全准则”,若违反,则表示存在一个安全漏洞,配置模糊测试技术执行测试时利用的是正在运行的一个应用程序的副本,因此不会影响应用程序的状态.描述了配置模糊测试方法的原型实现,并通过实验验证了该方法的高效性.  相似文献   

2.
程博  叶新伟  叶敏  周彦麓 《测控技术》2013,32(7):100-104
针对电动汽车动力源的锂离子电池组,在实现以AT89C52单片机、SJA1000接口芯片以及PDIS-UBD12接口芯片为核心器件的CAN总线实时通信系统硬件设计基础上,完成了系统的软件设计.利用C、VC++语言进行系统的软件编程,实现CAN总线各个节点间的通信、CAN-USB适配器的固件驱动程序编程、PC上位机的底层驱动程序和上层应用程序的设计.最后,针对电动汽车路面运行状态实验,测试CAN总线实时通信系统可靠性.  相似文献   

3.
由于Java Web应用业务场景复杂,且对输入数据的结构有效性要求较高,现有的测试方法和工具在测试Java Web时存在测试用例的有效率较低的问题.为了解决上述问题,本文提出了基于解析树的Java Web应用灰盒模糊测试方法.首先为Java Web应用程序的输入数据包进行语法建模创建解析树,区分分隔符和数据块,并为解析树中每一个叶子结点挂接一个种子池,隔离测试用例的单个数据块,通过数据包拼接生成符合Java Web应用业务格式的输入,从而提高测试用例的有效率;为了保留高质量的数据块,在测试期间根据测试程序的执行反馈信息,为每个数据块种子单独赋予权值;为了突破深度路径,会在相应种子池中基于条件概率学习提取数据块种子特征.本文实现了基于解析树的Java Web应用灰盒模糊测试系统PTreeFuzz,测试结果表明,该系统相较于现有工具取得了更好的测试准确率.  相似文献   

4.
PXIe可重构仪器具备多通道并行测试能力,可用于解决共享资源测试系统中的测试资源竞争和死锁等问题.为确保PXIe可重构仪器在国产操作系统下正常运行,在Deepin操作系统下开发PXIe设备驱动程序,实现上位机与仪器设备之间的通信.介绍Linux字符设备驱动程序,基于该驱动类型结构设计PXIe设备驱动的开发流程.在此基础上,通过共享内存映射提高应用程序与驱动程序的数据交互效率,并基于阻塞和中断机制进行直接存储器存取传输.通过Qt Creator设计的图形界面测试程序对驱动程序的运行情况进行检验,测试结果表明,该设备驱动程序运行稳定,数据传输准确可靠,可满足PXIe可重构仪器的通信需求.  相似文献   

5.
PXIe可重构仪器具备多通道并行测试能力,可用于解决共享资源测试系统中的测试资源竞争和死锁等问题.为确保PXIe可重构仪器在国产操作系统下正常运行,在Deepin操作系统下开发PXIe设备驱动程序,实现上位机与仪器设备之间的通信.介绍Linux字符设备驱动程序,基于该驱动类型结构设计PXIe设备驱动的开发流程.在此基础上,通过共享内存映射提高应用程序与驱动程序的数据交互效率,并基于阻塞和中断机制进行直接存储器存取传输.通过Qt Creator设计的图形界面测试程序对驱动程序的运行情况进行检验,测试结果表明,该设备驱动程序运行稳定,数据传输准确可靠,可满足PXIe可重构仪器的通信需求.  相似文献   

6.
提出了称为动作组件库的设计来支持分层的多agent应用集成框架。首先,提出采用由上层agent协调下层agent执行的企业应用集成方式的原因,说明了动作组件库的设计以及如何集成动作组件库的动作实例来支持下层agent完成特定目标。通过一个场景的实现说明动作组件库如何在应用集成中发挥作用。在分层的应用集成框架中,动作组件库的设计为上层agent提供统一的接口来协调下层agent的运行,从而使下层职能agent可以并发地执行业务过程,提高系统运行效率,减少局部流程变化对于整体流程的影响,最终使用户能够采用基于  相似文献   

7.
模拟攻击测试方式的漏洞检测系统的设计与实现   总被引:3,自引:1,他引:2  
杨阔朝  蒋凡 《计算机应用》2005,25(7):1562-1564
扫描方式的漏洞检测工具往往因为无法得到目标系统的准确信息而无法准确判断目标系统的安全状况,而模拟攻击测试方法可以准确判断目标系统是否存在测试的漏洞。大部分新漏洞发布的同时也会发布相应的测试程序,但是测试程序参数的复杂多样造成了集成的困难,把参数分为DR(运行时决定的类型)、DL(运行时查表决定的类型)和DV(默认值参数)三种类型,利用XML在数据结构描述方面的灵活性解决了这个问题。介绍了一个利用XML描述测试程序接口参数的模拟攻击测试方式的漏洞检测系统。  相似文献   

8.
一种采用接口错误注入的构件安全性测试方法   总被引:3,自引:0,他引:3  
构件特别是第三方构件的安全性是影响构件技术发展的重要因素.当前甚少将构件安全性问题作为一个专门的课题来研究,也没有确实可行的方法和技术用来检测构件安全漏洞.构件的安全性问题仍然没有得到较好的解决.提出一种基于接口错误注入的构件安全性测试方法.方法首先给出构件脆弱性错误注入算子、断言规则库及其脆弱因子,然后基于错误注入算子和断言规则库给出一种构件安全测试算法.算法根据错误注入算子有针对性地产生测试用例并执行测试,动态监测机制能实时监测构件运行状态及异常信息.算法根据断言规则库、脆弱性因子及异常信息给出构件安全异常报告及构件安全等级.最后在一集成测试平台中实现了该方法,同时做了大量实验,并和FUZZ法进行了对比分析.实验结果表明所提出的测试方法可操作性强,且对构件脆弱性具有较好的检测效果.  相似文献   

9.
在分布存储并行计算消息传递系统中,许多广播通信中的消息传递路径是对程序员透明的,程序员不能改变消息传递路径,但应用程序运行时的情况很复杂。程序员根据计算环境及应用程序特征选择消息传递路径,有助于提高广播通信的效能。在通信过程中,消息标志是用来区分消息的,以便接受进程能正确接受消息。然后,消息标志易导致应用程序出错,而且消息标志增加编制程序的复杂性。文中首先给出了逻辑拓扑结构的形式定义及基本性质,提  相似文献   

10.
含处理器(CPU)电路的测试和故障诊断一直是测试领域的一个难点。在研究过程中,提出并设计了一种电气隔离测试方法。该方法通过对CPU电路基本属性分析,采用对CPU复位脚进行操作使其一直处于某种特定状态,并设计一套外围电路对其进行数据收发,从而实现将CPU从电路中“隔离”出来进行测试。实验结果表明,该方法具有其独特的优势。  相似文献   

11.
OilCL:一个面向油藏数值模拟并行计算的通信库   总被引:2,自引:0,他引:2  
OilCL是一个用于油藏数值模拟计算的可移植的通信库,虽然目前存在很多的通信库,如MPI,PVM等,但由于它们的通用性,而且其界面较低级而不适合油藏模拟数值计算,OilCL为油藏数值模拟计算程序员提供一个方便、自然的界面,它支持动态地建立和释放通信上下文/逻辑进程网格;支持基于源的消息选择;逻辑拓扑作为群通信子程序的参数并提供开发和运行模式,这些机制便于油藏数值模拟计算程序的设计,使程序可读性更强  相似文献   

12.
在网络上运行并行程序不像在并行机上那样可靠,因此对于关键应用需要在应用级保证消息传输的可靠性.人们对以异步方式进行通信的并行程序的调度问题提出了大量的启发式算法,但是它们所产生的调度结果不能用于以同步方式通信的并行程序.提出的PRGSC算法可以防止由同步通信所引起的死锁问题,而且可以降低同步通信所带来的时延的影响.形式化地证明了死锁检测算法的正确性,并通过仿真实验说明了PRGSC算法有很好的调度质量.  相似文献   

13.
随着粒子模拟并行计算在相关领域应用的不断深入和并行节点计算能力的不断增强,粒子模拟并行程序中通信耗时对整体性能的影响越来越显著,甚至成为主要性能瓶颈.本文在分析影响并行程序通信性能多种因素的基础上,从进程划分方式选择、通信协议优化的角度,对1个典型粒子模拟并行程序——二维宏观拟颗粒并行模拟程序在千兆以太网环境下的通信性能的优化策略进行了测试研究,通过改进并行进程划分方式,采用用户级通信协议等方法,使测试程序通信性能获得明显提高,进而提出了粒子模拟并行程序通信性能优化的思路和建议.  相似文献   

14.
High performance scientific computing software is of critical international importance as it supports scientific explorations and engineering. Software development in this area is highly challenging owing to the use of parallel/distributed programming methods and complex communication and synchronization libraries. There is very little use of formal methods to debug software in this area, given that the scientific computing community and the formal methods community have not traditionally worked together. The Utah Gauss project combines expertise from scientific computing and formal methods in addressing this problem. We currently focus on MPI programs which are the kind that run on over 60% of world's supercomputers. These are programs written in C / C++ / FORTRAN employing message passing concurrency supported by the Message Passing Interface (MPI) library. Large-scale MPI programs also employ shared memory threads to manage concurrency within smaller task sub-groups, capitalizing on the recent availability of small-scale (e.g. single-chip) shared memory multiprocessors; such mixed programming styles can result in additional bugs. MPI libraries themselves can be buggy as they strive to implement complex requirements employing aggressive techniques such as multi-threading. We have built a model extractor that extracts from MPI C programs a formal model consisting of communicating processes represented in Microsoft's Zing modeling language. MPI library functions are also being modeled in Zing. This allows us to run formal analysis on the models to detect bugs in the MPI programs being analyzed. Our preliminary results and future plans are described; in addition, our contribution is to expose the special needs of this area and suggest specific avenues for problem- driven advances in software model-checking applied to scientific computing software development and verification.  相似文献   

15.
The Computer Aided Parallelisation Tools (CAPTools) [Ierotheou, C, Johnson SP, Cross M, Leggett PF, Computer aided parallelisation tools (CAPTools)—conceptual overview and performance on the parallelisation of structured mesh codes, Parallel Computing, 1996;22:163–195] is a set of interactive tools aimed to provide automatic parallelisation of serial FORTRAN Computational Mechanics (CM) programs. CAPTools analyses the user's serial code and then through stages of array partitioning, mask and communication calculation, generates parallel SPMD (Single Program Multiple Data) messages passing FORTRAN.The parallel code generated by CAPTools contains calls to a collection of routines that form the CAPTools communications Library (CAPLib). The library provides a portable layer and user friendly abstraction over the underlying parallel environment. CAPLib contains optimised message passing routines for data exchange between parallel processes and other utility routines for parallel execution control, initialisation and debugging. By compiling and linking with different implementations of the library, the user is able to run on many different parallel environments.Even with today's parallel systems the concept of a single version of a parallel application code is more of an aspiration than a reality. However for CM codes the data partitioning SPMD paradigm requires a relatively small set of message-passing communication calls. This set can be implemented as an intermediate ‘thin layer’ library of message-passing calls that enables the parallel code (especially that generated automatically by a parallelisation tool such as CAPTools) to be as generic as possible.CAPLib is just such a ‘thin layer’ message passing library that supports parallel CM codes, by mapping generic calls onto machine specific libraries (such as CRAY SHMEM) and portable general purpose libraries (such as PVM an MPI). This paper describe CAPLib together with its three perceived advantages over other routes:
  • •as a high level abstraction, it is both easy to understand (especially when generated automatically by tools) and to implement by hand, for the CM community (who are not generally parallel computing specialists);
  • •the one parallel version of the application code is truly generic and portable;
  • •the parallel application can readily utilise whatever message passing libraries on a given machine yield optimum performance.
  相似文献   

16.
在当前存在的大量非结构化MPI程序中,许多基于点对点通信原语的代码段可以替换为相应的结构化集合通信原语,在MPI代码结构分析的基础上提出了一种MPI程序中点对点通信原语到集合通信原语转换的方法,首先分析非结构化MPI代码的内部结构,建立Diophantine不等式系统,然后用Omega库运算得到点对点通信代码段的通信模式集,再辅以数据交换分析确定对应的集合通信原语并替换,并给出了相应的实例分析。  相似文献   

17.
一种基于设计模式的三阶段并行程序设计方法   总被引:7,自引:1,他引:7  
并行程序的可编程性是并行计算的难点之一,使用传统的方法对非数值问题进行并行求解则更加困难。通过对设计模式概念的扩展,定义了算法模式与结构模式,以此为基础提出了一种基于设计模式的三阶段并行程序设计方法,并通过算法模式库与结构模式库实现对该方法的系统支持,该方法不仅可有于一般的数值问题求解,而且在处理复杂的非数值问题时与传统方法相比要简单得多,通过一个简单的数值问题和一个复杂非数值问题作为实例说明了使用这一方法进行问题并行求解与并行程序设计的过程。  相似文献   

18.
尹宏达  史岗  胡明昌 《计算机工程》2005,31(11):190-192
在系统域网环境中,网络硬件具备非常优良的性能,然而传统的通信库存在大量不必的要软件开销,大幅度地降低了通信性能。通过允许用户进程直接访问网络设备并减少收发过程中的内存拷贝,可以避免由操作系统带来的开销,从而实现用户级通信,降低延迟并提高带宽。经过对用户级通信库的性能分析,可以发现用户级通信库具有更好的性能。  相似文献   

19.
The use of a massively parallel machine is aimed at the development of applications programs to solve most significant scientific, engineering, industrial and commercial problems. High-performance computing technology has emerged as a powerful and indispensable aid to scientific and engineering research, product and process development, and all aspects of manufacturing. Such computational power can be achieved only by massively parallel computers. It also requires a new and more effective mode of interaction between the computational sciences and applications and those parts of computer science concerned with the development of algorithms and software. We are interested in using parallel processing to handle large numerical tasks such as linear algebra problems. Yet, programming such systems has proven itself to be very complicated, error-prone and architecture-specific. One successful method for alleviating this problem, a method that worked well in the case of the massively pipelined supercomputers, is to use subprogram libraries. These libraries are built to efficiently perform some basic operations, while hiding low-level system specifics from the programmer. Efficiently porting a library to a new hardware, be it a vector machine or a shared memory or message passing based multiprocessor, is a major undertaking. It is a slow process that requires an intimate knowledge of the hardware features and optimization issues. We propose a scheme for the creation of portable implementations of such libraries. We present an implementation of BLAS (basic linear algebra subprograms), which is used as a standard linear algebra library. Our parallel implementation uses the virtual machine for multiprocessors (VMMP) (1990), which is a software package that provides a coherent set of services for explicitly parallel application programs running on diverse MIMD multiprocessors, both shared memory and message passing. VMMP is intended to simplify parallell program writing and to promote portable and efficient programming. Furthermore, it ensures high portability of application programs by implementating the same services on all target multiprocessors. Software created using this scheme is automatically efficient on both categories of MIMD machines, and on any hardware VMMP has been ported to. An additional level of abstraction is achieved using the programming language C++, an object-oriented language. Eckel, Stroustrup, 1989, 1986). For the programmer who is using BLAS-3, it is hiding both the data structures used to define linear algebra objects, and the parallel nature of the operations performed on these objects. We coded BLAS on top of VMMP. This code was run without any modifications on two shared memory machines-the commercial Sequent Symmetry and the experimental Taunop. (The code should run on any machine the VMMP was ported onto, given the availability of a C++ compiler). Performance results for this implementation are given. The speed-up of the BLAS-3 routines, tested on 22 processors of the Sequent, was in the range of 8.68 to 15.89. Application programs (e.g. Cholesky factorization) using the library routines achieved similar efficiency.  相似文献   

20.
减少通信开销是并行编译优化的主要目标之一.该文针对具有cache一致性的非一致存储访问并行系统(CC-NUMA)的特点,提出通过结合计算变换和数据变换,在统一的代数框架下对并行程序进行通信优化的策略和方法.通过实验测试,验证了此策略和方法是行之有效的.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号