共查询到20条相似文献,搜索用时 15 毫秒
1.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。 相似文献
2.
别名分析对程序分析起着十分重要的作用,不进行别名分析或分析 算法选择不当,可能会影响分析结果的可信度,甚至会导致分析析完全不正确,因此给出了一种适用于Java程序的别名分析技术,并给出了分析算法的形式化描述。 相似文献
3.
4.
冯少荣 《计算机工程与设计》2004,25(8):1419-1422
将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.
那顺 《电脑编程技巧与维护》2014,(14):6-7
针对性分析是很多数据程序的重点基础,它是从基本程序中抽取出来的变量信息,对数据流的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.
文中基于数据流分析技术,通过引进循环中变量之间的相互依赖关系,提出一种过程式语言部分求值的处理方法。利用该方法能有效地解决过程式语言部分求值中循环展开这一难题。 相似文献
11.
杨怀义 《数字社区&智能家居》2006,(4):175-176
由于JAVA应用程序与小程序运行环境、运行方法不同,因此他们之间的转换具有一定的意义,如何实现他们之间的相互转换就是本文宗旨所在。 相似文献
12.
13.
随着不同嵌入式操作系统的应用,许多开发商开始致力于开发以前并不看好的小型智能设备的应用程序,为此提供了相应的解决方案。 相似文献
14.
15.
16.
《International Journal of Parallel, Emergent and Distributed Systems》2012,27(1-3):21-56
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.
18.
当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分析还存在开销过高的问题.通过对目前主流的污点分析工具FlowDroid进行深入分析,发现其污点分析计算中大量无关联污点传播是导致开销过高的重要原因,统计实验表明无关联传播占比高达85.2%.针对这一问题,尝试利用近年来一种有效的程序分析优化手段——稀疏优化——的方法,对静态污点分析中无关联的传播进行消除,达到时间和空间的开销优化.创新地将经典的数据流分析框架扩展成稀疏的形式,在此基础上提供了基于稀疏优化的污点分析方法.最后实现了工具FlowDroidSP,实验表明:FlowDroidSP在非剪枝模式下相比原FlowDroid具有平均4.8倍的时间加速和61.5%的内存降低.在剪枝模式下,具有平均18.1倍的时间加速和76.1%的内存降低. 相似文献
19.
Java语言和Java处理器在实时嵌入式系统开发中的应用受到广泛关注。传统Java虚拟机的方法调用机制采用动态装载迟解析的执行方式,使得最坏情况执行时间(WCET)难以预测。针对该问题,提出一种提前解析-微程序执行的改进方法。将传统方法调用中的符号引用转化为直接调用,以微程序的方式运行在硬件处理器上,使执行限制在可预知的时钟周期内。实验结果证明,改进方法调用机制在执行时间上满足线性关系,具备良好的WCET可预测性。 相似文献
20.
描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法产生的所有测试用例都是可执行的,并且一般来说具有较小的测试用例数.如果用户能够合理地给出描述程序错误的断言,框架JUTA能够自动地检查源码中部分特定类型的错误.实验结果表明工具对Java单元代码的动态测试和静态测试均能在可接受的时间内给出有效的结果. 相似文献