首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。  相似文献   

2.
面向Java的实用别名分析技术   总被引:1,自引:0,他引:1       下载免费PDF全文
别名分析对程序分析起着十分重要的作用,不进行别名分析或分析 算法选择不当,可能会影响分析结果的可信度,甚至会导致分析析完全不正确,因此给出了一种适用于Java程序的别名分析技术,并给出了分析算法的形式化描述。  相似文献   

3.
陈柏强  郭涛  阮辉  严俊 《计算机应用》2009,29(5):1376-1379
介绍了静态分析的相关背景知识,对Java程序中数组越界和空指针错误的常见表现形式进行了归类,并通过实验评估了现有的Java静态分析工具功能,指出了其在跨过程分析中的不足,并对如何改进进行了讨论。  相似文献   

4.
将XML、Java、JSP及程序生成器等技术与其方法结合起来,通过域分析的思路、方法和过程,讨论了使用XML和Java创建程序生成器的方法和过程,并比较了不同方法的优劣,指出了将XML应用到程序创建和维护上的优势。  相似文献   

5.
    
Portable mobile code is often executed by a host virtual machine using just‐in‐time compilation. In this context, the compilation time in the host virtual machine is critical. This compilation time can be reduced if optimizations are performed ahead‐of‐time before distribution of the mobile code. Unfortunately, the portable nature of mobile code limits ahead‐of‐time optimizations to those that are machine‐independent. This work examines the effect of machine‐independent optimizations on the performance of mobile code applications. All experiments use the SafeTSA Format, a mobile code format that is based on Static Single Assignment Form (SSA Form). The experiments, which are performed on both the PowerPC and IA32 architectures, indicate that the effects of performing classical machine‐independent optimizations are—in fact—quite machine‐dependent. Nevertheless, the results demonstrate that applying such optimizations in a mobile code system can be beneficial. Copyright © 2009 John Wiley & Sons, Ltd.  相似文献   

6.
针对性分析是很多数据程序的重点基础,它是从基本程序中抽取出来的变量信息,对数据流的Java程序指针分析技术进行了分析,希望通过研究可以给相关的技术人员提供参考。  相似文献   

7.
    
This paper describes intra‐method control‐flow and data‐flow testing criteria for the Java bytecode language. Six testing criteria are considered for the generation of testing requirements: four control‐flow and two data‐flow based. The main reason to work at a lower level is that, even when there is no source code, structural testing requirements can still be derived and used to assess the quality of a given test set. It can be used, for instance, to perform structural testing on third‐party Java components. In addition, the bytecode can be seen as an intermediate language, so the analysis performed at this level can be mapped back to the original high‐level language that generated the bytecode. To support the application of the testing criteria, we have implemented a tool named JaBUTi (Java Bytecode Understanding and Testing). JaBUTi is used to illustrate the application of the ideas developed in this paper. Copyright © 2006 John Wiley & Sons, Ltd.  相似文献   

8.
当前程序切片的相关理论已经较为成熟,但针对Java程序的静态切片工具却非常少见。为便于展开切片应用研究,设计并实现了一个基于系统依赖图的Eclipse切片插件——Slithice。该插件支持不同粒度的底层分析和系统依赖图构建,从而可以使切片算法能够在精度和性能之间进行权衡,适应各种规模程序的分析需要。  相似文献   

9.
This paper deals with a global optimization scheme for structural systems that require finite element analysis to evaluate the constraints or the objective function. The paper proposes a strategy for finding the global optimum using an interval method in conjunction with a multipoint function approximation. The highly nonlinear and nonconvex objective and constraint functions are first represented in the design space using linear and adaptive local approximations and these approximations are blended globally with the use of proper weighting functions. The interval method is then employed to trace the global optimum in the approximated function space. The procedure is tested with several examples with known global solutions and it is successfully applied to optimize the fiber-orientation angles of laminated composite plates for minimum deflections. Received December 22, 2000  相似文献   

10.
过程式语言部分求值循环展开的有效处理方法   总被引:3,自引:0,他引:3       下载免费PDF全文
文中基于数据流分析技术,通过引进循环中变量之间的相互依赖关系,提出一种过程式语言部分求值的处理方法。利用该方法能有效地解决过程式语言部分求值中循环展开这一难题。  相似文献   

11.
由于JAVA应用程序与小程序运行环境、运行方法不同,因此他们之间的转换具有一定的意义,如何实现他们之间的相互转换就是本文宗旨所在。  相似文献   

12.
由于JAVA应用程序与小程序运行环境、运行方法不同,因此他们之间的转换具有一定的意义,如何实现他们之间的相互转换就是本文宗旨所在。  相似文献   

13.
随着不同嵌入式操作系统的应用,许多开发商开始致力于开发以前并不看好的小型智能设备的应用程序,为此提供了相应的解决方案。  相似文献   

14.
Java过程蓝图   总被引:5,自引:4,他引:1  
1 引言计算机应用正进入网络时代,Java是一种广泛使用的网络编程语言,被称之为网络上的“世界语”。Java作为一种程序设计语言不仅具有简单、面向对象、分布式、解释执行、鲁棒、安全、平台无关、可移植、高性能、多线程以及动态性等特点,更重要的是它支持以网络为中心的新型计算模式——Java计算模式,从而使Ja-  相似文献   

15.
一种基于切片技术度量Java耦合性的框架   总被引:7,自引:0,他引:7  
在研究面向对象的度量问题时,人们通过简单的统计方法和基于信息源的方法来度量其中的一些特征,例如基本度量、CK度量和AoKi度量等。文中采用一种基于程序切片的方法来度量Java的耦合性问题,通过对J ava源程序中存在的耦合关系的度量,得到了一种比传统方法更精确的耦合度量方法。  相似文献   

16.
Data flow analysis has been used by compilers in diverse contexts, from optimization to register allocation. Traditional analysis of sequential programs has centered on scalar variables. More recently, several researchers have investigated analysis of array sections for optimizations on modern architectures. This information has been used to distribute data, optimize data movement and vectorize or parallelize programs. As multiprocessors become more common-place. we believe there will be considerable interest in explicitly parallel programming languages. In this paper, we extend traditional analysis to array section analysis for parallel languages which include additional control and synchronization structures.

We show how to compute array section data flow information, i.e., Communication Sets, for a class of parallel programs. To illustrate its use, we show how this information can be applied in compile-time program partitioning. Information about array accesses can also be used to improve estimates of program execution time used to direct runtime thread scheduling.  相似文献   

17.
多线程的效率   总被引:3,自引:0,他引:3  
用Java语言定义了一个线程类,并用System类中的静态方法eurrentTimeMillis()计算时间,从而比较了用不同个数的线程求数组元素和的时间.通过实验证明在LimLx、Windows 2000 Advanced Server和Windows XPProfessional系统中,在加数个数一定的条件下,并不是线程数越多,效率越高.而是要用合适的线程数.同时通过分析了在Windows XP Professional中,不同配置的计算机线程个教与加数的关系相似.  相似文献   

18.
当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分析还存在开销过高的问题.通过对目前主流的污点分析工具FlowDroid进行深入分析,发现其污点分析计算中大量无关联污点传播是导致开销过高的重要原因,统计实验表明无关联传播占比高达85.2%.针对这一问题,尝试利用近年来一种有效的程序分析优化手段——稀疏优化——的方法,对静态污点分析中无关联的传播进行消除,达到时间和空间的开销优化.创新地将经典的数据流分析框架扩展成稀疏的形式,在此基础上提供了基于稀疏优化的污点分析方法.最后实现了工具FlowDroidSP,实验表明:FlowDroidSP在非剪枝模式下相比原FlowDroid具有平均4.8倍的时间加速和61.5%的内存降低.在剪枝模式下,具有平均18.1倍的时间加速和76.1%的内存降低.  相似文献   

19.
Java语言和Java处理器在实时嵌入式系统开发中的应用受到广泛关注。传统Java虚拟机的方法调用机制采用动态装载迟解析的执行方式,使得最坏情况执行时间(WCET)难以预测。针对该问题,提出一种提前解析-微程序执行的改进方法。将传统方法调用中的符号引用转化为直接调用,以微程序的方式运行在硬件处理器上,使执行限制在可预知的时钟周期内。实验结果证明,改进方法调用机制在执行时间上满足线性关系,具备良好的WCET可预测性。  相似文献   

20.
JUTA: 一个Java自动化单元测试工具   总被引:2,自引:0,他引:2       下载免费PDF全文
描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法产生的所有测试用例都是可执行的,并且一般来说具有较小的测试用例数.如果用户能够合理地给出描述程序错误的断言,框架JUTA能够自动地检查源码中部分特定类型的错误.实验结果表明工具对Java单元代码的动态测试和静态测试均能在可接受的时间内给出有效的结果.  相似文献   

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

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