排序方式: 共有52条查询结果,搜索用时 31 毫秒
21.
路径剖析是动态分析的一项重要技术,通过获取和分析程序中各条路径的执行次数,在编译优化、软件调试和测试等诸多方面发挥重要作用.针对现有技术剖析能力不足的情况(即只能或者剖析非循环路径,或者首先界定循环体执行次数的上限、然后对于执行循环体不多于该次数的路径进行剖析),对使用单个探针变量剖析过程内路径的方法进行了改进,提出了全路径剖析PAP方法,利用探针插装和回溯过程获取路径的执行次数,可以剖析过程内包含任意有限长度的路径;进一步地,针对PAP方法所需探针数目多于EPP方法的问题,通过对控制流图中包含的可规约无环子图实施EPP方法,可以减少PAP方法所需探针的数目.另外,作为PAP方法的一个典型应用,还讨论了如何通过在方法调用图中添加返回边,再利用PAP方法获取方法层次的执行序列的基本思想,满足了某些方法级动态影响分析技术的需要.实验和实例分析表明,PAP在处理循环路径剖析的问题上是有效的,并有很好的效率. 相似文献
22.
23.
24.
一种基于类层次图的分析面向对象程序的框架 总被引:2,自引:2,他引:0
从类层次图CHG(class hierarchy graph)出发,提出一个基于CHG的分析面向对象程序的框架OOAF(object-oriented analyzing framework),讨论了OOAF的功能、算法和设计思想,给出了子对象识别以及可见方法、主导方法的确定算法,建立了可见方法类层次图;并且通过计算方法的继承集、改写集以及对方法改写边界的确定,生成程序的虚函数调用图,从而为理解面向对象程序中的虚函数调用问题提供了一种可行的解决方案. 相似文献
25.
面向对象技术自八十年代以来,在软件的各个领域得到了广泛应用,基于对象技术的面向对象软件开发方法也随之兴起,并被广泛采用。面向对象软件开发方法强调采用面向对象的观点认识客观世界,采用面向对象的方法模拟客观世界,使得软件问题结构相一致,相对降低了软件的复杂性,方便了软件的设计、编程、维护和使用,从而特别适合于大型的、复杂的软件系统的开发。尽管面向对象的软件开发方法具有很大优点,但也存在着一些问题。例如、语言的灵活性、描述能力和程序可靠性、功能之间难以统一,多态性和动态连使得运行时很难确定在给定的程序点对象的动 相似文献
26.
随着信息物理融合系统(Cyber-Physical Systems,CPS)应用的越来越普及,CPS的设计和实现能否满足实际需求显得至关重要.本文提出了一种CPS建模与属性验证框架.在框架中,首先使用HybridUML对CPS进行建模,然后将该通用模型转换为形式化模型,进而进行形式化验证.本文采用的形式化验证方法为dL(Differential Dynamic Log-ic),其操作模型为hybrid program.将HybridUML模型转换为hybrid program时,基于语义一致性的原则定义转换规则.转换完成后,结合得到的hybrid program对验证的CPS属性进行规约,最后使用定理证明器KeYmaera对属性进行自动化验证. 相似文献
27.
28.
按照ISO25010标准中代码易替换性定性描述,人们很难从被替换软件产品的代码出发,定量地刻画其易替换性.为了自动化地度量代码的易替换性,本文充分考虑Java类/包的耦合关系和本身的复杂度,定义了一个类/包的易替换性度量公式.然后,在100个开源项目上进行实验,结果表明:(1)不同构造型的类的易替换性差异较大,其差异性与类承担的交互职责的多少有关;(2)包的易替换性与包中类个数没有显著的线性相关性;(3)与按层次划分的包相比,按功能特性划分的包具有更高的易替换性.从代码易替换性角度来看,在设计类和包时,本文的经验研究为开发者提供了有益的建议. 相似文献
29.
30.