版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件重构与智能推荐软件优化与软件重构软件演化与软件质量refactoringrestructuring软件重构的主要特征目标提高代码的可读性、可维护性、可扩展性手段调整代码内部结构特色不得改变软件的功能软件重构的流程WhereHowRevisionEvaluationWhereMartinFowler,1999代码坏味:Badlydesignedsourcecodethatshouldberestructured.CodeSmells与软件重构
重复代码/克隆代码Duplicatedcode上帝类Largeclass/Godobject特征依恋Featureenvy过于亲密Inappropriateintimacy拒绝继承Refusedbequest(遗产)长方法LongMethodExtractMethodExtractClassMoveMethod代码坏味与软件度量GodclassATFD:AccesstoForeignDataWOC:WeightedOperationCountTCC:TightCapsuleCohesion代码坏味与软件度量关键挑战度量本身有效性度量值能否准确反映软件的质量?缺乏语义分析不同的人可能采用不同的度量检测相同的smellLongmethod软件重构的目的性重构本身不会带来新的功能(收益),不会对最终用户产生直接影响。高风险、高成本的软件重构是为了度量?Clone重构的主观性症状vs疾病是否需要消除所有CodeSmells?为了想象中的演化进行重构是否值得?重构推荐是否需要因人而异?不同的设计问题可能导致相同的smell?智能化重构推荐实时监控与即时重构重构监控与重构扩展基于反馈的阈值优化重构冲突与重构调度基于文本分析的重构推荐程序员代码坏味检测器重构执行监控器(实时重构)开发源码重构调度提示确认调用调用反馈控制器重构识别器相似&相关重构推荐器反馈信息调整阈值调用调用实时监控与即时重构Smell生命周期vs重构代价增量式smell检测重构方案的即时推荐重构识别实时监控与即时重构降低重构代价,Smell生存期降低(92%)解决了更多的codesmell(2.4倍)减少smell出现概率(51%)重构扩展程序员代码坏味检测器重构执行监控器(实时重构)开发源码重构调度提示确认调用调用反馈控制器重构识别器相似&相关重构推荐器反馈信息调整阈值调用调用重构扩展Renaming看似简单,实则艰难基于形式的P,arg,partemp,string,boolean无统一标准基于语义的自然语言的非精确性自然语言理解技术不够成熟语境对单词语义的影响程序语义分析困难重重文字语义程序语义m_Instances基于重构扩展的rename推荐82%==Which93%==How(推荐新名字)20%==Rename的可扩展几率2==平均扩展深度其他重构类型Movemethod概念相关性耦合特征依恋推荐准确率(%)基于IDE监控与反馈的阈值优化程序员代码坏味检测器重构执行监控器(实时重构)开发源码重构调度提示确认调用调用反馈控制器重构识别器相似&相关重构推荐器反馈信息调整阈值调用调用基于IDE监控与反馈的阈值优化RP基于统计的阈值优化基于给定数据集进行优化数据集的构建软工数据挖掘不准确手工标注量少价高项目/领域项目在新项目上是否依然最佳?基于IDE监控与反馈的阈值优化基于IDE监控与反馈的阈值优化误差降低一个数量级基于IDE监控与反馈的阈值优化程序员代码坏味检测器重构执行监控器(实时重构)开发源码重构调度提示确认调用调用反馈控制器重构识别器相似&相关重构推荐器反馈信息调整阈值调用调用重构的冲突与调度重构的冲突与调度程序员代码坏味检测器重构执行监控器(实时重构)开发源码重构调度提示确认调用调用反馈控制器重构识别器相似&相关重构推荐器反馈信息调整阈值调用调用自然语言处理vs软件重构&缺陷检测程序语义vs字面语义实参Vs形参自然语言处理vs软件重构&缺陷检测为何不相似?抽样200个实参,手工分析主要原因超短名称30%:形参名只包含1个字母53%:形参名不多于3个字母.集合操作8.5%:index,item,key,value整个数据集上进行验证SQL查询结论基本一致过滤低相似度参数基于文本相似性软件优化推荐参数推荐85个C项目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年跨境电商平台合同协议
- 科技创新成果转化与保护制度
- 物流行业运输安全制度
- 文娱企业版权保护管理制度
- 医疗行业志愿者服务保障激励制度
- 制造业生产安全操作标准制度
- 生物备考策略:细胞结构及功能详解考试
- 全国性教育资源均衡分配政策探讨考试试卷
- 护理文化中的沟通与协作
- 麻疹防控诊疗知识培训测试题
- (全套表格可用)SL631-2025年水利水电工程单元工程施工质量检验表与验收表
- 雨课堂学堂在线学堂云《金融科技导论(南方科大)》单元测试考核答案
- 食品行业技术文件管理员岗位职责
- 诈骗赔偿协议书模板
- 2025辽宁沈阳地铁集团有限公司所属公司招聘11人笔试参考题库附带答案详解
- 艺术漆销售知识培训
- 村民委员会补选方案模板
- GA/T 1406-2023安防线缆应用技术要求
- FZT 60045-2014 汽车内饰用纺织材料 雾化性能试验方法
- 检验科新员工岗前培训
- 第9章 语义分割
评论
0/150
提交评论