Software evolution is the process of software changing continuously, and is one of the essential characteristics of the software. By recording and analyzing software evolution information,it can help to understand the reasons,goals and trends of software evolution, which can lay the foundation for better controlling and adapting for the future evolution of software. In particular, in the component-based software development and Internet environment , the quality of software architecture and software components, the capability of the software organization affect the final quality of the software. Currently, software refactoring is one important method to improve software quality , but the traditional methods used in software refactoring focus on program structure by static analysis,which is basis for the imementation of software architecture modification. But those methods are often not high accuracy because of the relatively simple and incompleteness of the information used in static analysis. To overcome these shortcomings, the project uses the software evolution information-driven strategy, that is the useful change information as a supplement for static analysis and combined with organizational process improvement,so it can ultimately improve software quality. Our main working include the establishment platform for storing, retrieval the software evolution information of component-based software , the research on how to mining software evolution, the refactoring software architecture strategy using the JAVA program as example, and how to implement the software process improvement for the evolution at the level of organization.
软件演化是软件不断更新变化的过程,是软件的本质特征之一。通过记录和分析软件演化过程中的有用信息,能够有助于理解软件演化的原因、目标及其发展趋势,能为更好地控制和适应未来软件的演化奠定基础。特别的,在构件化软件开发和Internet环境下,软件构件和软件体系结构的质量、软件组织的过程能力影响着最终软件的质量。目前,软件重构是改善软件质量的一种重要方法,传统的重构方法着眼于对程序结构的静态分析,并以此为基础对软件结构进行修改,但这种方法往往准确度不高,其中一个原因是静态方法所使用的信息比较单一。为了克服上述缺点,本项目采用演化信息驱动的策略,将软件变化过程中所蕴含有用信息作为静态分析的补充,同时结合组织过程改善,最终实现软件质量的改善。具体工作包括:建立构件化软件的演化信息获取平台,研究软件演化信息挖掘方法,面向JAVA程序的软件体系结构重构策略,以及如何实施面向演化的软件组织过程改善。
软件演化是软件不断更新变化的过程,是软件的本质特征之一。通过记录和分析软件演化过程中的有用信息,能够有助于理解软件演化的原因、目标及其发展趋势,能为更好地控制和适应未来软件的演化奠定基础。特别的,在构件化软件开发和Internet 环境下,软件构件和软件体系结构的质量显得尤为重要。目前,软件重构是改善软件质量的一种重要方法,传统的重构方法着眼于对程序结构的静态分析,并以此为基础对软件结构进行修改,但这种方法存在准确度不高的问题,其中一个原因是静态方法所使用的信息比较单一。为了克服上述缺点,本项目采用演化信息驱动的策略,在基于构件的软件配置管理模型和开源软件库的基础上,提出了在代码层次和构件层次的软件演化信息获取方法,将这些软件演化信息作为静态分析方法的补充,通过软件聚类算法、模拟退火等算法对几个Java开源软件进行了模块化处理,初步的实验表明该方法能起到改善软件模块化的作用。主要的成果包括:①提出了在软件构件模型基础上增加建模元素以表示软件演化信息的方法,以及同基于构件软件配置管理模型映射的算法;②构建了基于本体的构件化软件演化信息模型,以及基于此模型的软件演化信息获取机制;并提出了基于模式和推理机的构件共同变化获取方法和开发了相应原型工具;③提出了演化信息驱动的Java软件聚类方法,并在开源软件上进行了验证;④开发了一个演化信息驱动的Java软件聚类原型工具;⑤提出了对软件演化信息和演化相似性进行初步度量的方法。在项目执行过程中,已在国际会议及中文核心期刊上发表论文17篇,并开发了2个原型支持系统,1名硕士研究生获得国家奖学金,待出版专著1本,正在申请软件著作权1项。总体上,项目完成了预定的研究内容和达到了预定的研究目标。
{{i.achievement_title}}
数据更新时间:2023-05-31
演化经济地理学视角下的产业结构演替与分叉研究评述
青藏高原狮泉河-拉果错-永珠-嘉黎蛇绿混杂岩带时空结构与构造演化
肉苁蓉种子质量评价及药材初加工研究
中外学术论文与期刊的宏观差距分析及改进建议
夏季极端日温作用下无砟轨道板端上拱变形演化
六面体网格质量改善研究及软件开发
基于安全漏洞学习的软件研发质量演化机制研究
知识驱动的软件过程资源配置及质量控制方法研究
应对智能移动计算平台演化的应用软件质量保障技术的研究