首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 156 毫秒
1.
采用软硬件结合的运行时消除指针别名歧义方法SHRTD(software/hardware run-time disambiguation)适用于不可逆代码,同时,它的代码空间受到限制,不存在严重的代码可重入性问题.文章详细分析了SHRTD方法的指令级并行加速比,给出了发生地址冲突后的并行加速比与平均并行加速比以及发生地址冲突的依概率并行加速比.文章引入的三类理论加速比对指令级并行编译技术的研究和评测有重要的实际意义.  相似文献   

2.
乔林  汤志忠  张赤红  苏伯珙 《软件学报》1999,10(10):1054-1060
采用软硬件结合的运行时消除指针别名歧义方法SHRTD(software/hardware run-time disambiguation)适用于不可逆代码,同时,它的代码空间受到限制,不存在严重的代码可重入性问题.文章详细分析了SHRTD方法的指令级并行加速比,给出了发生地址冲突后的并行加速比与平均并行加速比以及发生地址冲突的依概率并行加速比.文章引入的三类理论加速比对指令级并行编译技术的研究和评测有重要的实际意义  相似文献   

3.
严忠林 《计算机工程》2011,37(16):62-64
C指针的处理是C to Java代码自动转换系统中一个重要而困难的问题。已有的方法大多不能处理含有技巧的指针代码,转换生成的代码难以理解,往往无法正确执行。基于此,提出一种可用Java实现C指针所有功能的方案,该方案在类型转换后不改变原程序结构,并保持尽可能高的运行效率。示例分析表明,运用该方法可使各种类型的C指针运用都能自动转换为执行正确、结构清晰、修改方便、运行快捷的Java代码。  相似文献   

4.
C语言对内存操作不进行边界安全检测,这使C程序具有高执行效率,但也产生各种安全问题,例如数组越界、指针访问越界、C库函数的非法操作等。基于对象的运行时验证技术能实时监测程序的运行行为,自动找出程序中存在的漏洞。在原有基于对象技术的基础上,改进多维数组和结构体变量的地址范围记录方式,用2次地址查询操作检测指针访问,用平衡二叉树优化存储结构。实验结果表明,改进的方法优于传统的基于对象技术。  相似文献   

5.
张博刚  张威  陈月宁  廖飞雄 《计算机应用》2010,30(10):2749-2753
为提高GUI自动化测试的覆盖率、故障定位的速率和精度,以及检测由于时空变化导致的空间错误引起的故障,建立基于运行监测的GUI自动化测试模型。模型将GUI分为窗口框架层、界面元素层、功能结构层和运行记录层四层。窗口框架层描述GUI所有窗口,界面元素层描述用户输入,功能结构层提出功能覆盖准则,运行记录层通过插桩记录代码动态监测软件每一次执行时路径和各个窗口的运行状态,从而提高测试的覆盖率,并根据运行记录中窗口的总执行次数和正确的执行次数为可靠性计算提供依据。由于监测代码的运行情况,因此故障能够定位到代码级,提高故障定位的精度和速率。最后以记事本程序为例验证了模型的有效性。  相似文献   

6.
利用设计模型信息,提高测试自动化程度是测试领域的重要课题。UML顺序图是广泛使用的场景规约语言。本文研究了面向场案规约的运行时测试方法,并应用该方法实现了一个基于UML顺序图场景规约的测试工具SDT;它从Ration Rose的规约文件中提取顺序图信息,生成表示预期行为属性的事件有向无环图,对代码进行插装,并利用随机测试用例执行代码,最后将反向工程得到的运行时轨迹与有向无环图进行比较,对实现和设计的一致性进行自动化验证。  相似文献   

7.
一、Windows系统为何大量使用动态链接库 WINDOWS95和WINDOWS3.X系统中均使用了大量动态链接库。由于使用动态链接库只需开发者在程序中调用库函数前,事先定义函数在库中地址指针或直接利用功能函数获取地址指针,在编译生成可执行文件时,目标代码中只包含动态链接库中函数的地址指针或获取函数地址指针的功能函数代码,所有应用程序可以共享同一目标动态函数库,而不像静态链接库那样,所有应用程序目标代码中均包含有完全相同的静态链接库函数代码。 此外应用程序在使用动态链接库时,系统只将动  相似文献   

8.
运行时验证技术是对传统的程序正确性保证技术如模型检验和测试的有效补充。模型检验和测试都试图验证系统的所有可能执行路径的正确性,而运行时验证关注的是系统的当前执行路径。本文提出一种基于三值语义的软件运行时验证方法,一方面该方法提供了从代码插装、系统底层信息提取到监控器生成、验证系统运行轨迹是否满足性质规约的完整的解决方案;另一方面基于三值语义的监控器有发现一条无穷运行轨迹的最小好(坏)前缀的能力,从而使得监控器能尽可能早的发现性质违背。同时,我们开发了基于三值语义的软件运行时验证原型工具并针对案例进行了分析。  相似文献   

9.
针对现有基于静态分析的JavaScript代码推荐技术准确度低且响应速度较慢的问题,提出一种基于动态分析的JavaScript代码提示方法,并设计基于Eclipse插件的代码推荐工具。采用事先建模的方法保存模拟运行环境,并且对上下文对象建立特征索引。同时在用户代码抽象语法树的基础上进行代码分块,按程序分块顺序对用户代码进行模拟执行,利用对象之间的相似度在用户运行时修正运行变量,并对模拟执行时产生的异常进行处理,实现针对用户代码的动态分析JavaScript代码提示。实验结果表明,与现有使用静态分析方法的JavaScript代码推荐技术相比,该方法具有更高的可推荐性和更快的响应速度。  相似文献   

10.
别名分析对于数据流分析、程序优化和分析工具的实现非常重要.文章提出了一种需求驱动,流非敏感的分析算法来解决指针别名问题.通过构造程序表达式图(PEG)把指针别名问题转化成判断两个指针节点是否是联通的问题,它不同于传统的别名分析方法,它不需要构造别名集合和对其求交集,所以提高了分析指针别名的效率.  相似文献   

11.
Many code analysis techniques for optimization, debugging, and parallelization must perform runtime disambiguation of address sets. Hardware signatures support such operations efficiently and with low complexity. SoftSig exposes hardware signatures to software through instructions that control which addresses to collect and which to disambiguate against. The Memoise algorithm demonstrates SoftSig's versatility by detecting and eliminating redundant function calls.  相似文献   

12.
A study is presented in which it is determined whether software product metrics gathered statically from designs or source code may be helpful in predicting the number of run-time faults that will be encountered during execution. Metrics examined include intermodule metrics such as fan-in and fan-out, as well as intramodule metrics such as cyclomatic complexity and size. Our study indicates that it may be possible, with certain classes of software products, to predict the run-time behaviour using well-known static intermodule metrics.  相似文献   

13.
The static specification of operations executed in parallel using No Operations (NOPs) is another culprit to make code size to be increased in VLIW architecture. Some alternatives in the instruction encoding and memory subsystem are proposed to minimize the impact of NOP on the code size. One is the compressed cache using the packed encoding scheme and the other is the decompressed cache using the unpacked encoding scheme. The compressed cache shows high memory utilization but increases the pipeline branch penalty because it requires very complex fetch hardware. On the contrary, the fetch overhead can be decreased in the decompressed cache because the unpacked encoding scheme allows an instruction to be issued to the pipeline without any recovery process. However, it has a shortcoming that the memory utilization is deteriorated due to the memory allocation irrespective of the number of useful operations. In this research, a new instruction encoding scheme called a semi-packed encoding scheme and the section cache, which enables effective store and retrieval of semi-packed instructions, are proposed. This can decrease the hardware complexity to fetch an instruction and the wasted memory space due to NOPs via the partially fixed length of an instruction. The experimental results reveal that the memory utilization in the section cache is 3.4 times higher than in the decompressed cache. The memory subsystem using the section cache can provide about 15% performance improvement with the moderate size of chip area.  相似文献   

14.
应用程序中循环部分往往是计算密集型应用的主要工作负载,随着基于FPGA的可重构计算系统的出现,循环的静态分析技术已不能满足可重构计算系统根据程序当前行为模式进行特定优化的要求.针对现有的程序动态分析技术无法直接获取循环动态信息的问题,提出一种循环信息分析算法,根据支配关系在控制流图中识别循环,通过edge profiling的结果分析计算得到循环调用次数、循环平均迭代次数及循环运行时间等关键信息,并在LLVM (Low Level Virtual Machine)平台上实现该算法.实验结果表明,该算法能够自动识别所有循环结构,并对循环部分进行精确分析,分析结果能够为可重构计算系统待加速计算密集型循环的选择提供较全面、精确的信息支持,对程序员进行可重构系统中软硬件划分技术的研究具有重要作用.  相似文献   

15.
基于遗传算法的可重构系统软硬件划分   总被引:3,自引:0,他引:3  
在考虑动态部分重构及重构延时等特征的基础上,采用遗传算法及其与爬山算法的融合实现可重构系统软硬件任务的划分,并采用动态优先级调度算法进行划分结果的评价。实验表明,在可重构系统的资源约束等条件下,算法能够有效地实现应用任务图到可重构系统的时空映射。  相似文献   

16.
通用的高级程序设计语言的编译器,比如C的编译器,不会为VLIW处理器的特殊功能部件自动生成代码。通常通过汇编语言来使用这些特殊功能部件,但是这个方案有着它的不足。笔者提出了一种新的方法来解决这些问题。定义了一种可视化并行建模语言VRTL-P,使用它来描述不同操作间逻辑上的可并行性。笔者还实现了一个VRTL-P的在线分析器,它可以根据VLIW处理器的具体实现来判断一组操作是否可以拼装到一条VLIW的指令中。还进一步研究了从VRTL-P生成目标代码和仿真执行VRTL-P的方法。通过使用这些技术,可以为VLIW处理器的特殊功能部件生成高质量的代码,并且可以提高软件的生产率。  相似文献   

17.
针对网络传感器节点有限硬件资源约束的特性,分析了现有操作系统设计的不足,以Arena操作系统为基础,设计了一种新的操作系统软件架构。这个架构允许操作系统功能模块和应用程序模块在系统运行时动态加载和替换,保障系统代码的安全升级,实现低能耗、高可信的操作系统功能,并支持网络传感器系统的可重构和自适应能力。  相似文献   

18.
支持程序自动并行化的本质是判定相互之间不存在相关的代码块,因此如何精确地获取包括控制流图和数据流图在内的程序运行时行为成为程序自动并行化的基础.将虚拟机技术运用于并行程序优化领域,设计了基于虚拟机的程序自动并行化框架Vapor,提出了基于二进制翻译技术的超块指令置位替换策略(super block-based in-p...  相似文献   

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

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