度量驱动的软件重构技术研究

基本信息
批准号:61003020
项目类别:青年科学基金项目
资助金额:22.00
负责人:陈林
学科分类:
依托单位:南京大学
批准年份:2010
结题年份:2013
起止时间:2011-01-01 - 2013-12-31
项目状态: 已结题
项目参与者:徐宝文,曾奕,丁晖,胡从兴,唐启锋,黄琰,马倩
关键词:
软件重构程序分析软件度量软件演化
结项摘要

重构是推进软件演化,改善软件内部结构,提高软件质量的重要手段。尽管人们已经提出了多种支持重构的方法,然而现有研究表明,自动化重构方法的研究仍很欠缺。主要问题在于:现有方法大多数围绕少量的特定重构,通过手工选定重构种类,然后自动或半自动实施重构。对于重构的选定和效果评价,主要依靠经验。对于实施重构的"前因后果",少见有定性或者定量的分析。所谓前因,即为什么要重构,如何识别可重构代码;所谓后果,即如何分析重构的影响,如何评判、追踪和控制重构后代码质量。本课题在软件度量技术和依赖性分析基础上研究重构,以期支持持续的软件演化。为此,我们主要进行以下方面研究:(1)支持重构的软件度量技术研究,研究度量与重构的关联关系;(2)基于度量结果的软件重构技术研究;(3)基于依赖分析技术的重构影响及正确性分析;(4)大规模开源软件实证研究和重构工具研发。

项目摘要

重构是推进软件演化,改善软件内部结构,提高软件质量的重要手段。尽管人们已经提出了多种支持重构的方法,然而现有研究表明,自动化重构方法的研究仍很欠缺。主要问题在于:现有方法大多数围绕少量的特定重构,通过手工选定重构种类,然后自动或半自动实施重构。对于重构的选定和效果评价,主要依靠经验。本课题在软件度量技术和依赖性分析基础上研究重构,深入研究了实施重构的“前因后果”,即为什么要重构,如何识别可重构代码,以及如何评判、追踪和控制重构后代码质量。以期支持持续的软件演化,主要取得了以下方面研究成果:.(1).支持重构的软件度量技术研究,研究度量与重构的关联关系。.深入研究了软件的结构化度量与复杂性度量,重点研究了内聚性与耦合性度量。通过实验验证了面向对象软件结构化度量与单元可测试性、可重构代码检测之间的联系。该研究证实了软件规模、复杂性与耦合性度量对单元测试工作量以及可重构代码检测的导向性作用。.(2).基于度量结果的软件重构技术研究。.提出了一种基于复杂网络划分的待重构代码识别方法,将社区网络中的社团识别方法用于源代码分析中,发现同样可以在源代码中发现社团。将源代码中的方法及方法间依赖抽取出来,构建了方法依赖图,然后在依赖图上利用社团识别方法,通过与设计良好的软件对比,发现所识别的社团结构与原有的类(包)设计非常相似。.(3).基于依赖分析技术的重构影响及正确性分析。.分别研究了两种重构正确性分析方法:面向重构的测试方法与基于依赖性影响分析的重构错误检测方法。提出了一种有限资源约束下的测试用例优先级方法,不仅考虑了组合权重,也考虑了测试资源的消耗,提出了一种新的组合测试优先级度量模型,并给出了该度量模型的物理意义。探索了在W e b 服务组合中, 用户需求改变导致服务组合需要重构的情况,提出了一种用户需求驱动的测试方法。.(4)大规模开源软件实证研究和重构工具研发。.我们在以上研究内容中进行了大规模的开源软件实证研究,并实现了相应的重构原型工具,申请了两项专利,获得两项软件著作权授权。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

演化经济地理学视角下的产业结构演替与分叉研究评述

演化经济地理学视角下的产业结构演替与分叉研究评述

DOI:10.15957/j.cnki.jjdl.2016.12.031
发表时间:2016
2

玉米叶向值的全基因组关联分析

玉米叶向值的全基因组关联分析

DOI:
发表时间:
3

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
4

硬件木马:关键问题研究进展及新动向

硬件木马:关键问题研究进展及新动向

DOI:
发表时间:2018
5

基于SSVEP 直接脑控机器人方向和速度研究

基于SSVEP 直接脑控机器人方向和速度研究

DOI:10.16383/j.aas.2016.c150880
发表时间:2016

陈林的其他基金

批准号:61377079
批准年份:2013
资助金额:83.00
项目类别:面上项目
批准号:81403098
批准年份:2014
资助金额:23.00
项目类别:青年科学基金项目
批准号:81772359
批准年份:2017
资助金额:58.00
项目类别:面上项目
批准号:31600310
批准年份:2016
资助金额:22.00
项目类别:青年科学基金项目
批准号:11104124
批准年份:2011
资助金额:29.00
项目类别:青年科学基金项目
批准号:11204293
批准年份:2012
资助金额:30.00
项目类别:青年科学基金项目
批准号:51361021
批准年份:2013
资助金额:49.00
项目类别:地区科学基金项目
批准号:31601416
批准年份:2016
资助金额:20.00
项目类别:青年科学基金项目
批准号:71571030
批准年份:2015
资助金额:48.00
项目类别:面上项目
批准号:21762013
批准年份:2017
资助金额:38.00
项目类别:地区科学基金项目
批准号:21601164
批准年份:2016
资助金额:19.00
项目类别:青年科学基金项目
批准号:U1233126
批准年份:2012
资助金额:38.00
项目类别:联合基金项目
批准号:60977049
批准年份:2009
资助金额:38.00
项目类别:面上项目
批准号:51809236
批准年份:2018
资助金额:22.00
项目类别:青年科学基金项目
批准号:11474116
批准年份:2014
资助金额:80.00
项目类别:面上项目
批准号:11474140
批准年份:2014
资助金额:93.00
项目类别:面上项目
批准号:51608390
批准年份:2016
资助金额:20.00
项目类别:青年科学基金项目
批准号:81030036
批准年份:2010
资助金额:230.00
项目类别:重点项目
批准号:41004039
批准年份:2010
资助金额:20.00
项目类别:青年科学基金项目
批准号:11674118
批准年份:2016
资助金额:63.00
项目类别:面上项目
批准号:30730041
批准年份:2007
资助金额:160.00
项目类别:重点项目
批准号:51608191
批准年份:2016
资助金额:20.00
项目类别:青年科学基金项目
批准号:51776069
批准年份:2017
资助金额:60.00
项目类别:面上项目
批准号:41474084
批准年份:2014
资助金额:100.00
项目类别:面上项目
批准号:31460123
批准年份:2014
资助金额:49.00
项目类别:地区科学基金项目
批准号:38870719
批准年份:1988
资助金额:2.00
项目类别:面上项目
批准号:81570915
批准年份:2015
资助金额:57.00
项目类别:面上项目
批准号:61472175
批准年份:2014
资助金额:80.00
项目类别:面上项目
批准号:31300558
批准年份:2013
资助金额:23.00
项目类别:青年科学基金项目
批准号:81500577
批准年份:2015
资助金额:18.00
项目类别:青年科学基金项目
批准号:31801373
批准年份:2018
资助金额:24.00
项目类别:青年科学基金项目
批准号:81700047
批准年份:2017
资助金额:20.00
项目类别:青年科学基金项目
批准号:41675036
批准年份:2016
资助金额:68.00
项目类别:面上项目
批准号:21204090
批准年份:2012
资助金额:25.00
项目类别:青年科学基金项目
批准号:30530410
批准年份:2005
资助金额:130.00
项目类别:重点项目
批准号:71773039
批准年份:2017
资助金额:48.00
项目类别:面上项目
批准号:11104093
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:71203078
批准年份:2012
资助金额:21.00
项目类别:青年科学基金项目
批准号:51406052
批准年份:2014
资助金额:26.00
项目类别:青年科学基金项目
批准号:31501552
批准年份:2015
资助金额:20.00
项目类别:青年科学基金项目
批准号:30370318
批准年份:2003
资助金额:19.00
项目类别:面上项目
批准号:41807017
批准年份:2018
资助金额:25.00
项目类别:青年科学基金项目
批准号:39570719
批准年份:1995
资助金额:8.00
项目类别:面上项目
批准号:30970977
批准年份:2009
资助金额:30.00
项目类别:面上项目
批准号:30470560
批准年份:2004
资助金额:23.00
项目类别:面上项目
批准号:41302269
批准年份:2013
资助金额:26.00
项目类别:青年科学基金项目
批准号:30270380
批准年份:2002
资助金额:21.00
项目类别:面上项目
批准号:61872177
批准年份:2018
资助金额:65.00
项目类别:面上项目
批准号:51177155
批准年份:2011
资助金额:65.00
项目类别:面上项目
批准号:41105010
批准年份:2011
资助金额:25.00
项目类别:青年科学基金项目
批准号:81170216
批准年份:2011
资助金额:57.00
项目类别:面上项目
批准号:81371503
批准年份:2013
资助金额:80.00
项目类别:面上项目
批准号:39370691
批准年份:1993
资助金额:4.50
项目类别:面上项目
批准号:81530071
批准年份:2015
资助金额:274.00
项目类别:重点项目

相似国自然基金

1

基于软件网络的软件度量研究

批准号:60873083
批准年份:2008
负责人:李兵
学科分类:F0203
资助金额:30.00
项目类别:面上项目
2

软件复杂性度量研究

批准号:69373017
批准年份:1993
负责人:弓惠生
学科分类:F0203
资助金额:5.00
项目类别:面上项目
3

基于机器学习的软件度量分析

批准号:60903103
批准年份:2009
负责人:黎铭
学科分类:F0607
资助金额:19.00
项目类别:青年科学基金项目
4

可信软件的度量与测试方法研究

批准号:91418202
批准年份:2014
负责人:徐宝文
学科分类:F0203
资助金额:170.00
项目类别:重大研究计划