发表咨询:400-808-1731
订阅咨询:400-808-1751
北大期刊
影响因子 0.51
人气 23701
北大期刊
影响因子 0.94
人气 20373
省级期刊
影响因子 0.3
人气 17838
部级期刊
影响因子 1.03
人气 13559
统计源期刊
影响因子 1.71
人气 12610
CSSCI南大期刊
影响因子 5.52
人气 12111
统计源期刊
影响因子 0.55
人气 11072
北大期刊
影响因子 0.62
人气 10735
省级期刊
影响因子 0.42
人气 10495
统计源期刊
影响因子 1.29
人气 9953
摘要:软件分析(Software Analysis)是以软件为对象通过静态或动态的方法进行人工或自动分析,以验证、确认、监控或发现软件性质(或者规约、约束)的过程或活动.软件分析是计算机科学与技术领域的经典和核心内容,源于人们试图认识程序行为和性质的努力.早期的软件分析主要还是程序分析,是高级语言编译过程的第一步工作,
摘要:软件分析技术的研究已有较长历史,相关成果也在软件生命周期的不同阶段中得到了广泛应用.软件生命周期中不同活动所需要的软件分析技术既不完全相同,又有许多交叠,且不同的分析技术之间互相影响.文章在讨论了软件分析的基本概念之后,主要从静态分析与动态分析两个方面介绍了一些主要的软件分析技术以及部分相关分析工具.结合软件的质量问题,文章还探讨了一些分析技术与软件质量属性的相关性,以便于人们在分析特定的软件质量属性时,选取合适的技术与工具.最后,文章展望了软件分析技术的发展趋势.
摘要:随着软件与网络的融合,以网络为基础的软件系统在规模、用户数量、组成单元的交互关系方面都成数量级的增长,成为一类重要的复杂系统,超出了开发人员的理解和控制.文中首先分析软件工程40年来软件开发设计方法学的变迁历程,并给出软件网络的定性描述,提出网络时代软件工程的新观点.然后以eCos开源系统为分析载体,从不同粒度上对网络模型进行拓扑特性分析,结果表明该载体网络在不同粒度上具有自相似的结构特性.最后针对嵌人式系统的本质特性,从节点异质性、局部抱团性和多粒度的网络规模简约3个方面进行实证分析,用以指导嵌入式软件系统的可配置、可裁剪目标,从而达到资源的最小负载.
摘要:指针分析是静态程序分析的基础,指针分析的精度直接影响后续的程序分析和优化.域敏感性用来描述指针分析是否需要区分结构体对象的不同域成员.文中提出一种激进的基于合并的域敏感指针分析方法,利用目标机器模型中的数据布局信息进行高层分析,使用基地址和偏移的组合来激进地表示一个结构体域成员以能更精确地区分结构体的不同域成员.文中还对原有类型推导规则做了重要改进,尽量避免在合并类型变量时造成的精度损失.为了保证新类型推导规则的正确性,方法将所有的结构体赋值操作转换成对每个结构体成员的赋值操作.大量实验数据表明,该方法分析精度显著高于以往方法而运行开销几乎相当.该方法还将域成员的激进表示集成至编译器的中间表示中以获得可移植性.
摘要:用静态分析方法对并发程序进行死锁检测通常比较困难,其原因是会遇到状态空间爆炸问题.文中针对作者曾提出的一种可有效避免状态爆炸问题的死锁检测方法,进行进一步实验验证.该方法的基本框架是首先将表示并发系统的离散Petri网模型连续化,得到一种新的连续Petri网模型;在此基础上,建立系统的常微分方程模型;通过分析常微分方程组的解来检测系统中是否存在死锁.与传统方法不同点在于:该方法不需要遍历状态空间,而是分析一组常微分方程组的解.为了减少在求解常微分方程模型过程中的计算机系统的开销,作者还采取了一系列优化策略.哲学家进餐问题被用来说明死锁检测的方法.大量的实验结果说明作者所提出的方法有着较强的静态分析能力.作为副产品,这种分析方法还可以用来判定系统的有界性.
摘要:提出了一种自动检测C语言程序中是否含有死循环的方法.该方法基于程序分析技术,包括循环展开和路径可行性分析技术.该方法首先通过遍历控制流图生成待查循环的检验路径;之后通过分析检验路径的可行性以及路径之间的联系,判断这些路径是否符合死循环模式.在此方法基础上实现了原型工具LoopAnalyzer,并对一组基准程序进行测试.实验结果表明此工具能有效地检测出C语言程序中的死循环,并且准确率较高.
摘要:采用UML顺序图构成基于场景的规约、WS—BPEL作为Web服务的描述语言,提出了一种面向基于场景规约对Web服务消息流进行分析与验证的方法:首先,对WS—BPEL消息流进行分析并将其自动抽象为基于Petri网的模型;同时,为了缩小状态空间、提高验证效率,在不影响消息交互顺序的前提下,对WS—BPEL源码和基于Petri网的模型分别进行化简,即面向基于场景规约将与验证无关的活动和元素删除;最后,通过遍历基于Petri网的模型以验证WS-BPEL消息流与基于场景的规约之间的一致性(消息交互顺序的存在/强制一致性).文中通过一个贯穿整个分析与验证过程的实例加以说明.该方法已经实现成为一个原型工具.
摘要:方面化特征模块(AFM)是最新提出的软件产品线(SPL)编程范式,能解决现有SPL编程范式存在的问题,但由于AFM范式同时存在模块的并发组合和顺序组合,现有的组合验证技术和模块化模型检验技术并不适用于AFM程序的验证,且目前还未见到针对AFM的验证方法,这制约了AFM范式的应用.文中首次为AFM范式建立了形式化模型,并基于此模型提出一种AFM程序的增量式的验证方法.该方法可以从一个小规模的AFM程序的验证开始,以后每次只添加对新组合的AFM模块的验证,因此可避免直接验证大型AFM程序时可能由于模型的规模太大而无法验证的问题.
摘要:在体系结构的设计、演化和重用过程中涉及众多的关注点,而且它们之间存在着复杂的关系,然而目前还缺乏有效的对这些关注点及其关系进行描述和分析的方法.针对这一问题,在系统收集并显式标识各种体系结构关注点及其关系的基础上,文中提出一种软件体系结构关注点分析方法.该方法利用时段时序逻辑对关注点之间的横切关系进行形式化描述和分析,可以发现横切关注点之间的时序冲突,有助于提高面向方面软件体系结构的设计质量.最后结合案例给出了该方法的实施过程.
摘要:使用泛型概念对领域知识进行抽象是泛型程序设计方法的基础.在新的C++0x标准中泛型概念将成为一个新的语言设施,这将为设计可复用、可扩展的泛型软件提供坚实的基础.为了更好地利用C++0x的新特性,有必要识别C++遗产代码中的泛型概念,并通过重构得到符合C++0x标准的代码.文中提出了一种基于代码静态分析的泛型概念自动识别方法,通过对泛型程序中类型参数的使用分析,从遗产代码中提取有效表达式约束和关联类型约束,进而推导出泛型概念.将该方法应用于C++标准模板库STL,可以识别出STL算法中绝大部分潜在的泛型概念,表明该方法有助于识别遗产代码中的泛型概念.
摘要:SOA是一种新型企业应用架构,为复用存在于Internet上的软件资源提供了一个最佳实践.面对目前可用的服务资源匮乏,同时大量企业信息系统需要借助服务计算技术重组优化的现状,从遗留系统中切分并封装成可复用的服务是实现SOA的关键.目前以人工方式的遗留系统服务化切分和封装过程效率较低且难以保证质量,亟需一种自动化手段辅助开发人员实施这一过程.文中针对Java语言的遗留系统,研究自动化的遗留系统服务化切分和封装技术.在综合静态类结构模型和动态对象调用模型的基础上,提出了一个遗留系统的对象依赖频度图表示模型,并基于面向服务的切分目标设计了一种服务模块自动识别和切分的有效方法,并利用Java语言的执行码重写技术实现了自动化的服务封装工具,最终通过实际的应用案例验证了文中工作的有效性.
摘要:组合网络上既有web服务以构造新的增值服务正逐渐成为一种主流软件形态.而Web服务组合常需进行修改演化以优化服务组合的内部业务流程,适应开放的工作环境.在服务组合演化时,为让尽可能多的执行中的服务组合实例享受到新业务流程带来的好处,应尽可能地将其动态地迁移到新流程下继续执行.同时为避免实例迁移到新流程后引发死锁等动态演化错误,需对这些迁移实例加以约束.文中提出了一个服务组合动态演化过程框架,在此框架下形式化地定义了一种新的实例可迁移性标准,并给出了相应的判定算法.与已有的可迁移性标准相比,该标准在确保不会产生动态演化错误的同时,可允许更多的实例迁移.最后,通过一个旅行的服务组合案例,说明了文中工作的有效性和可行性.
摘要:软件系统的演化分析是程序分析和程序理解的一个重要方面.通过演化分析可以了解系统需求和设计的演化趋势,从而更好地理解系统的需求和设计决策.文中在前期工作所提出的基于模糊概念格的程序分析方法基础上,进一步将其用于系统演化分析,提出了一种基于模糊概念格的软件演化分析方法.该方法利用基于概念相似度度量的松弛树匹配的方法建立不同版本概念格中概念和概念子格之间的映射关系,在此基础上通过结构差异分析来发现各种演化类型.实验表明,该方法能够有效地发现不同版本之间的高层演化信息,有助于开发人员理解系统的演化历史以及相关的设计决策.
摘要:提出了一种解决静态污点分析方法在进行路径敏感的分析时面临的路径爆炸的问题的方法.该方法将污点分析问题转化为加权下推自动机的广义下推后继问题,进一步利用污点数据在程序中的可达性,减少后续分析中需要精确执行的路径数.从而该方法能够以多项式的时间复杂度实现程序状态空间遍历,并能在发现程序违反安全策略时自动生成反例路径.设计实验使用该方法对击键记录行为进行了刻画,对恶意代码程序和合法软件进行了两组分析实验,并与现有的方法进行了对比分析.实验证明本文的方法可以有效地对具有较多分支的程序进行路径敏感的污点分析,同时具有较小的时间复杂度和空间复杂度
摘要:多线程作为支持程序结构化和并行化的重要机制,其应用越来越广泛,多线程应用程序的安全性也成为新的研究热点之一.针对Java多线程程序,文中采用参数化扩展上下文无关文法作为其安全相关行为模型的抽象表示,给出了从多线程Java程序自动生成安全相关行为模型的方法,形式地描述了静态检查该模型是否满足安全策略的实现,并应用到携带模型代码方法的实现框架中.该方法为安全执行非信任多线程Java移动代码提供了有效支持.
摘要:嵌入式系统的功耗优化可以在硬件和软件的多个层次进行,随着微电子技术的不断发展,各种底层先进硬件功耗优化技术的出现和应用,使得高层软件方面的功耗管理和优化技术逐步成为控制计算机系统功耗的重要手段.文中首先在完成嵌入式软件功耗度量的基础上,在硬件微结构级和电路级分析了软件功耗的产生原因和构成因素.然后,在软件源程序级和算法级两个层次上,采取相应措施改善影响嵌入式软件功耗特性的关联特征,以降低软件功耗.最后,针对“八皇后”典型算法问题进行了仿真实验,经过源程序级、算法级和源程序级与算法级混合3种优化,系统功耗最大降幅可以达到93.2%,实验结果表明软件功耗优化方法对于降低系统功耗是可行的和有效的.
摘要:随着嵌入式系统的发展,构件化软件开发技术已成为嵌入式软件开发的发展趋势.嵌入式系统通常是能源有限系统,如何在构件化嵌入式系统开发前期对其能耗进行分析与评估,发现系统能耗特性设计缺陷,从而提高开发效率,降低开发成本,已成为嵌入式系统设计的一个挑战.文中从构件化嵌入式软件体系结构出发,采用基于路径的系统能耗分析评估方法,在嵌入式系统架构设计阶段对其能耗特性进行分析与评估.在此评估体系中,软件体系结构应用进程代数语言CSP进行形式化描述,能耗特性在构件接口级别定义,最终建立了以CSP迹模型为基础的基于路径的系统能耗分析评估模型.文章最后通过案例分析验证了该模型分析方法的正确性和有效性.
摘要:一、《计算机学报》是中国计算机领域代表性学术刊物.其宗旨是报道我国计算机科学技术领域具有国际、国内领先水平的科研成果.《计算机学报》由中国计算机学会主办、科学出版社出版,以中文编辑形式与读者见面,同时附有英文摘要,供国外学者和检索系统引用.本刊始创于1978年,刊期为月刊.