本课题拟以开源软件生态为基础,网构软件范型为途径,实现软件工程方法在质量保证方面的如下转变,即:从“主要关注客观证据、软件实体的正确性和质量”到“关注主客观融合,环境感知自适应演进式的质量保证”。主要表现在,从仅以功能正确性和软件执行效率为重点,到更为强调用户体验为中心的质量关注,包括能耗、隐私、可信、易用性、社交性等非传统质量属性的转变;从软件自身正确性与可靠性为重点,到更为强调主客观融合的可信性的转变;从面向单个构件、细粒度代码的可信,到更为强调软件系统整体可信、多环境下适应性的转变。 在此基础上,本课题将以“主客观融合的软件系统可信性评估与服务质量保障”这一关键科学问题为主要关注点,以群体驱动的开发模型为基础,以网构化软件为载体,深入剖析开源生态下的网构化软件特征,探索基于开源生态的网构化软件全生命周期的可信性评估与保证方法。本课题的主要研究内容包括:
1. 基于开源生态的主客观融合的软件可信度评估模型与评估方法
以主客观融合的软件可信度量与保证为目标,以软件相关的开源社区的经验数据、软件开发中的工程数据以及软件用户使用数据为基本数据集,对其进行分类组织和分析挖掘,抽取基于开源生态的网构化软件的可信特征,构建可信性评估模型,并提出其可信度量与评估方法。
2. 开源生态下的网构化软件的分析与测试技术
以程序分析与软件测试等技术为核心,以网构化软件的错误发现与修复为目标,结合开源社区的协同与竞争机制,研究主客观融合的网构化软件的可信性保证技术。
3. 基于开源生态的网构化软件制品的搜索、推荐与合成技术
结合人工智能等技术,研究开源生态环境下的开发人员、代码、制品及其关联修改的搜索、推荐和合成技术,以支持网构化软件的快速高质量开发。
4. 面向运行与演化的网构化软件可信性保障技术
针对基于开源生态的网构化软件的复杂性以及用户和环境(网络环境和社会环境)的不确定性,研究支持软件运行与演化的可信保障方法。
--以上研究得到国家973课题的资助 2015年~2019年
|