1、《软件分析》专辑 前言
梅宏、王戟
软件分析(Software Analysis)是以软件为对象通过静态或动态的方法进行人工或自动分析,以验证、确认、监控或发现软件性质(或者规约、约束)的过程或活动。软件分析是计算机科学与技术领域的经典和核心内容,源于人们试图认识程序行为和性质的努力。早期的软件分析主要还是程序分析,是高级语言编译过程的第一步工作,长期以来,在编译理论和技术的发展中得到了较深入的研究。后来,逐步延伸到软件理解、调试、测试/验证、体系结构、需求分析等软件工程领域,同时针对的分析对象也不再是仅限于程序代码,而是扩展到文档、数据等。软件分析研究一直随着软件形态和应用的发展不断
2、地深入和突破。特别是近年来,软件分析面向软件可信性以及网络软件等新形态的研究兴起,其应用进入了信息安全、计算机体系结构等领域,是软件技术中十分活跃的研究前沿。
为反映我国学者在软件分析领域取得的重要研究成果和应用实践,探讨软件分析的发展趋势,《计算机学报》组织和出版了本期软件分析专刊。本期专刊得到了研究人员的积极响应,共收到稿件89篇。编辑部组织了数十位软件分析及相关领域的专家参与评审,严格按照《计算机学报》审稿程序和要求进行审稿,最终16篇论文入选本期专刊。
专刊录用的论文覆盖了软件分析研究领域的诸多方面。“软件分析技术进展”在综述了软件分析主要技术现状的基础上,针对性地论述了如何面向软
3、件质量属性,运用合适的软件分析技术与工具,并展望了软件分析技术的发展趋势。“软件网络的多粒度拓扑特性分析及其应用”从复杂系统和复杂网络的角度提出了软件网络的描述并进行多粒度软件网络特性分析的途径。
“激进域敏感基于合并的指针分析”提出了一种激进的基于合并的域敏感指针分析方法,利用目标机器模型中的数据布局信息进行高层分析,并改进了原有类型推导规则。“基于常微分方程的死锁检测实验分析”从实验的角度验证了通过分析常微分方程组的解来检测系统是否存在死锁的方法的可行性和有效性。“基于路径分析的死循环检测”提出了一种基于路径分析自动检测C语言程序中是否含有死循环的方法。这组论文给出了针对指针分析、死锁检
4、测、死循环检测等程序分析中经典问题的新方法。
“面向基于场景规约的Web服务消息流分析与验证”采用UML顺序图构成基于场景的规约、WS-BPEL作为Web服务的描述语言,提出了一种面向基于场景规约对Web服务消息流进行分析与验证的方法。“基于层次状态机的方面化特征模块的增量式验证”为方面化特征模块(AFM)编程范型建立了形式化模型,并基于此模型提出了一种AFM程序的增量式的验证方法。“一种软件体系结构关注点分析方法”提出了基于时序逻辑对关注点之间的横切关系进行形式化描述和分析的方法, 以发现横切关注点之间的时序冲突。这组文章反映了设计和模型层面软件分析与验证技术的进展。
遗留代码与系统是软
5、件分析的重要对象。“基于源代码静态分析的C++0x 泛型概念抽取”提出了一种基于代码静态分析的泛型概念自动识别方法,通过对泛型程序中类型参数的使用分析,从遗产代码中提取有效表达式约束和关联类型约束,进而推导出泛型概念。“一种Java 遗留系统服务化切分和封装方法”提出了一个遗留系统的对象依赖频度图表示模型,并基于面向服务的切分目标设计了一种服务模块自动识别和切分的有效方法。
“Web服务组合动态演化的实例可迁移性”提出了一个服务组合动态演化过程框架,在此框架下形式化地定义了一种新的实例可迁移性标准,并给出了相应的分析方法。“一种基于模糊概念格和代码分析的软件演化分析方法”利用基于概念相似度度
6、量的松弛树匹配的方法建立不同版本概念格中概念和概念子格之间的映射关系,在此基础上通过结构差异分析来发现各种演化类型。这两篇论文反映了软件演化中的软件分析。
软件分析在信息安全领域发挥着重要的作用。“一种多项式时间的路径敏感的污点分析方法”提出了一种解决静态污点分析方法在进行路径敏感的分析时面临的路径爆炸的问题的方法,将污点分析问题转化为加权下推自动机的广义下推后继问题,并利用污点数据在程序中的可达性,减少后续分析中需要精确执行的路径数。“多线程Java程序安全行为模型的静态检查方法”将静态分析应用于多线程程序的安全相关行为模型检查,提出了多线程Java程序安全相关行为模型的自动生成和检查方法。
“源程序级和算法级嵌入式软件功耗特性的分析与优化方法研究”利用硬件层微结构级和电路级功耗模型,分析嵌入式软件功耗的产生原因和构成要素,在软件源程序级和算法级提出了功耗优化方法。“基于CSP的构件化嵌入式软件能耗分析与评估方法研究”提出了以CSP迹模型为基础的系统能耗分析评估模型,支持在嵌入式系统架构设计阶段对其能耗特性进行分析与评估。 这两篇论文展示了软件分析在系统功耗分析上的应用前景。
感谢《计算机学报》编辑部和审稿专家的辛勤工作,保证了本期专刊能按时按质完成。感谢国内外同行对本期专刊出版工作的支持和理解。最后,感谢读者们,希望本专刊能够为相关研究提供有益的参考。