首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 46 毫秒
1.
Java程序混淆技术综述   总被引:2,自引:0,他引:2  
软件混淆技术已经广泛应用于抵制逆向工程和重组工程.文中从混淆技术的历史发展角度对现有的混淆技术理论、算法、攻击模式和评估进行了综述,将Java程序混淆算法分为类内混淆和类间混淆两个类别,并对其中的各类算法进行详尽的阐释.最后在现有工作的基础上,展望了软件混淆技术未来的发展与研究方向.  相似文献   

2.
一种用于测试数据生成的动态程序切片算法   总被引:3,自引:0,他引:3  
王雪莲  赵瑞莲  李立健 《计算机应用》2005,25(6):1445-1447,1450
介绍了程序切片技术的基本概念,提出了一种基于前向分析的动态程序切片算法,探讨了程序切片在软件测试数据生成中的应用,结果表明可以有效地提高基于路径的测试数据生成效率。  相似文献   

3.
随着计算机技术突飞猛进的发展,人们对于支持计算机各种运行的软件技术开始逐步的关注,其中混淆技术在地址逆向工程和重组工程中占据了重要的位置,本文将主要阐述混淆技术的相关领域概念包括发展中不断推演的理论、算法和评估。然后在通过将理论和算法应用到混淆技术的两个分支类内混淆和类间混淆详细说明,结尾通过目前Java程序混淆技术的发展现状,进行对未来发展的客观估计、大胆假设以及深切的期望。  相似文献   

4.
本文从高效的动态软件更新实现机制、自动化的运行时对象状态转换方法及动态更新错误自动恢复技术H个方面系统研究了Java程序动态更新支撑技术,并在工业级的Java虚拟化上实现了上述技术,得到一个高效、易用、可靠的Java程序动态软件更新.  相似文献   

5.
将胎记技术应用于文本,提出了一种全新的自然语言文本版权保护方案。从文本中提取代表特征信息的胎记,并由此识别文本的副本。在与数字水印相似的应用场景下,可用于解释版权归属,为文本提供有效版权保护。实验结果表明该胎记技术具有良好的置信性和鲁棒性。  相似文献   

6.
软件动态胎记技术是实现混淆对抗的软件抄袭检测的有效手段之一.然而,多线程程序中线程交织的不确定性对其造成了不可忽视的影响;极端情况下,传统动态胎记技术甚至会判定同一个程序与其自身不存在抄袭关系.对此,提出从多线程程序在同一输入下的多条执行轨迹中进行相似部分的识别,并从中抽象出不易受线程交织影响的行为motifs来实现多线程程序的抄袭检测.该方法捕捉程序的动态执行轨迹,经过轨迹修剪、gram匹配以及扩展和抽象,从中提取motifs胎记建模多线程程序的行为;最终,通过衡量motifs胎记的相似性实现程序间潜在抄袭的判定.在一个包含234个不同版本多线程程序的公共数据集上开展的实验表明,motifs胎记是一种可靠的线程感知胎记方法,不仅可有效对抗当下主流的代码混淆技术,相比现有的2种多线程程序抄袭检测方法TreSB(thread-related system call birthmark)和TOB(thread-oblivious birthmark),也体现出更优秀的检测能力.  相似文献   

7.
一种基于模块单子语义的动态程序切片方法   总被引:2,自引:0,他引:2  
提出一种基于程序模块单子语义的新动态切片方法--模块单子动态切片.首先通过单子转换器,将切片这一类计算抽象成独立于具体语言的实体:切片单子转换器.然后,将该切片转换器作为模块加载到实际程序中,并给出相应的模块单子动态切片算法.据此,可直接在抽象语法结构上计算动态切片,不必记录程序执行历史;相应单子切片器也无需显式地构造诸如依赖图的中间结构.这种模块化抽象机制使得文中的动态切片算法具有很强的可扩展性和重用性.  相似文献   

8.
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。  相似文献   

9.
一种基于图的程序行为相似性比较方法*   总被引:1,自引:0,他引:1  
针对目前的软件盗版现象,在没有软件源代码的情形下提出一种程序相似性的比较方法。该方法是运用程序系统调用之间的参数依赖关系组成依赖图,对程序行为进行描述;在此基础上定义了一种动态程序胎记,用它比较两个功能类似的应用程序。最后的试验数据表明,该方法能够有效地检测出相似程度不一的各组程序之间的相似度,具有一定的可信度和适用性。  相似文献   

10.
动态程序切片技术是一种重要的程序分析技术,在软件分析、测试与调试过程中有着广泛的应用。给出一种基于前向计算的动态程序切片方法,该方法首先在对当前执行语句进行定义使用分析的基础上计算该语句定义变量的影响集,其次计算该语句的直接动态依赖关系,最后计算当前执行语句中变量的动态切片。根据该方法设计并实现了一个Java动态程序切片系统,基于一组基准测试程序开展了切片实验,并与已有的切片方法进行了比较。实验结果表明,该方法可以得到比较精确的动态程序切片结果。  相似文献   

11.
现有软件胎记系统仅对程序属性进行粗略选取,导致系统性能不理想。为此,提出一种基于互信息的k-gram软件胎记选取算法。构建受保护软件的变体软件以及功能相似的软件组成的软件集合,利用互信息衡量k-gram碎片与受保护软件变体类别的相关性,以此作为胎记选取的效用指标,筛选出与受保护软件关联度高、不容易受到语义保持变换影响的碎片,获取有效的k-gram胎记。实验结果表明,该算法具有较好的可信度、性抗攻击能力,以及较高的盗版检测效率。  相似文献   

12.
程序切片是一种重要的程序分析技术,广泛应用于程序的调试、测试与维护等领域。面向方面程序设计作为一种新的软件开发范型,能够实现横切关注点的模块化,其特有的语言元素和功能为切片增加了难度。从静态切片和动态切片两种类型,讨论了面向方面程序切片技术。在此基础上,提出了一种基于简化动态依赖图的面向方面程序切片方法,可以减少动态依赖图中节点和边的数量,生成准确的面向方面程序的动态切片,从而有助于人们更好地对面向方面程序进行分析和理解。  相似文献   

13.
    
The attempt to design and integrate consistent changes to an existing system is the essence of software maintenance. Software developers also confront similar problems: there are changes during testing and the release of new system builds. Whether in development or maintenance, changes to evolving systems must be made consistently; that is, without damaging correct computations. It is difficult for the programmer to ascertain the complete effect of a code change; the programmer may make a change to a program that is syntactically and semantically legal, but which has ripples into the parts of the program that were intended to remain unchanged. Using the standard denotational semantics for procedural programming languages, this paper formalizes decomposition slicing, which identifies interferences between software components and isolates the components to be changed. We enumerate the conditions for changing one component in ways that will guarantee that changes to it will not interact inconsistently and prove that changes made under these conditions are sound. Thus, the programmer can then execute changes secure in the knowledge that the semantics of the new system are guaranteed to be consistent with the projection of the semantics of the original for which it behaved correctly. Validating that the changes do not interfere not only guarantees consistency with respect to previous unchanging behaviors, but can also be achieved with a complexity proportional to the size of the change to be made. Copyright © 2003 John Wiley & Sons, Ltd.  相似文献   

14.
软件测试是软件开发过程的一个重要组成部分,是进行软件有效性检查、提高软件质量的重要手段。随着软件规模的不断增大、复杂度的不断提高,传统的软件测试技术在处理大规模复杂软件系统时会出现许多问题。程序切片是一种程序分解术,主要是通过寻找程序内部的相关性来分解程序,从而达到快速错误定位或理解程序的目的。主要探讨将程序切片技术引入到软件测试中,尤其是分析在回归测试中切片方法是如何提高效率的。  相似文献   

15.
陈永郑  李龙澍 《微机发展》2007,17(12):113-115
软件测试是软件开发过程的一个重要组成部分,是进行软件有效性检查、提高软件质量的重要手段。随着软件规模的不断增大、复杂度的不断提高,传统的软件测试技术在处理大规模复杂软件系统时会出现许多问题。程序切片是一种程序分解术,主要是通过寻找程序内部的相关性来分解程序,从而达到快速错误定位或理解程序的目的。主要探讨将程序切片技术引入到软件测试中,尤其是分析在回归测试中切片方法是如何提高效率的。  相似文献   

16.
    
For any software project, most experts regard the maintenance phase as the most effort and cost intensive of all phases in the software development life cycle. This is due to the high maintenance effort, time, and resources needed to effectively address issues during software maintenance (maintenance activities). Mismanagement of these efforts can lead to the degradation of software maintainability. Understanding the assessment of the related software processes can help sustain or improve maintainability during these maintenance activities. Recent studies have shown that current software process assessments are expensive, generic, and complex, especially for smaller organizations. In this paper, we investigate an alternative software process assessment approach performed by analyzing fine‐grained processes (micro processes) of maintenance activities. This approach assesses maintenance efforts based on micro processes in relation to their impact on source code. The approach derives maintenance effort from the complexity and duration of micro processes and uses proposed metrics based on program slicing to measure change impact. In this paper, we investigate an alternative software process assessment approach by analysing fine‐grained processes (micro processes) of maintenance activities. At statistically significant levels, results suggest that the level of the maintenance efforts correlates with its impact on source code. Copyright © 2012 John Wiley & Sons, Ltd.  相似文献   

17.
The purpose of this paper is to delineate primarily the present state of U.S. patents, copyright and trade secrets to the area of computer software. These three areas were chosen because the protection afforded by them is the greatest and because the application of these laws is pretty much unique as applied to software. A brief mention will be given to the law of contracts (contractual agreements), but an analysis of this area is not required because the application of the law of contracts to software is not unique. The paper ends with a brief look at the Doctrine of Unfair Competition, ethical considerations and finally presenting various proposals that have been made to help rectify the problem of proprietary software protection.  相似文献   

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

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