コードクローンに特化した自動リファクタリング手法の提案と実装

专门针对代码克隆的自动重构方法的提出与实现

基本信息

  • 批准号:
    04J08351
  • 负责人:
  • 金额:
    $ 1.79万
  • 依托单位:
  • 依托单位国家:
    日本
  • 项目类别:
    Grant-in-Aid for JSPS Fellows
  • 财政年份:
    2004
  • 资助国家:
    日本
  • 起止时间:
    2004 至 2006
  • 项目状态:
    已结题

项目摘要

本年度はまず、コードクローンに対するリファクタリングの有効性を確認するために、リファクタリングがソフトウェアの保守に与える効果を調査した。具体的には、ソフトウェアに対して修正が加わる過程においてどのようにコードクローンが変化しているか、およびリファクタリングにより複雑度メトリクスの値がどのように変化するかを調べた。調査の結果、コードクローンに対するリファクタリングは複雑度メトリクスの値は改善するとは限らないが、一度修正が加えられたコードクローンには、その後も引き続き修正が加えられる傾向であることが判明した。このため一度修正が加わったコードクローンに対してリファクタリングを行うことにより、その後の保守コストを削減することができるといえる。また、コードクローンに対するより効率的な分析作業を実現するために、調査の対象とならないコードクローンのフィルタリングを行う手法を提案した。これまでの経験により、ツールによるコードクローン自動検出では、連続した変数宣言やswitch文のcaseエントリなど、調査を行う必要のないコードクローンを多数検出してしまうことがわかっている。このようなコードクローンをフィルタリングすることにより、より効率的に分析作業を行うことができる。このようなコードクローンのフィルタリング方法をメトリクスRNRとして提案し、昨年度実装したツールGeminiに追加実装した。また、オープンソースのソフトウェアに対して実験を行い、調査すべきコードクローンを誤ってフィルタリングすることなく、調査の必要のないコードクローンの約2/3のフィルタリングができていることを確認した。
This year は ま ず, コ ー ド ク ロ ー ン に す seaborne る リ フ ァ ク タ リ ン グ の have sharper sex を confirm す る た め に, リ フ ァ ク タ リ ン グ が ソ フ ト ウ ェ ア の に and conservative え る unseen fruit を survey し た. Specific に は, ソ フ ト ウ ェ ア に し seaborne て correction が plus わ る process に お い て ど の よ う に コ ー ド ク ロ ー ン が variations change し て い る か, お よ び リ フ ァ ク タ リ ン グ に よ り 雑 complexity メ ト リ ク ス の numerical が ど の よ う に variations change す る か を adjustable べ た. Survey の results, コ ー ド ク ロ ー ン に す seaborne る リ フ ァ ク タ リ ン グ は 雑 complexity メ ト リ ク ス の numerical は improve す る と は limit ら な い が, once fixed が え ら れ た コ ー ド ク ロ ー ン に は, そ の も after lead き 続 き correction が plus え ら れ る tendency で あ る こ と が.at し た. こ の た め once fixed が plus わ っ た コ ー ド ク ロ ー ン に し seaborne て リ フ ァ ク タ リ ン グ を line う こ と に よ り, そ の の after conservative コ ス ト を cut す る こ と が で き る と い え る. ま た, コ ー ド ク ロ ー ン に す seaborne る よ り sharper rate な analysis work を be presently す る た め に, investigate の like と seaborne な ら な い コ ー ド ク ロ ー ン の フ ィ ル タ リ ン グ を line う technique proposed を し た. こ れ ま で の 経 験 に よ り, ツ ー ル に よ る コ ー ド ク ロ ー ン 検 out automatically で は, even 続 し た - number of declaration や switch article の case エ ン ト リ な ど, survey line を う necessary の な い コ ー ド ク ロ ー ン を most of its 検 し て し ま う こ と が わ か っ て い る. こ の よ う な コ ー ド ク ロ ー ン を フ ィ ル タ リ ン グ す る こ と に よ り, よ り sharper rate に analysis line homework を う こ と が で き る. こ の よ う な コ ー ド ク ロ ー ン の フ ィ ル タ リ ン グ method を メ ト リ ク ス RNR と し て proposal し, yesterday's annual be loaded し た ツ ー ル Gemini に additional be loaded し た. ま た, オ ー プ ン ソ ー ス の ソ フ ト ウ ェ ア に し seaborne て be 験 を line い, investigate す べ き コ ー ド ク ロ ー ン を mistakenly っ て フ ィ ル タ リ ン グ す る こ と な く, investigate の necessary の な い コ ー ド ク ロ ー ン の around two-thirds の フ ィ ル タ リ ン グ が で き て い る こ と を confirm し た.

项目成果

期刊论文数量(6)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
コードクローン分析ツールGeminiを用いたコードクローン分析手法
使用代码克隆分析工具Gemini的代码克隆分析方法
コードクローン解析に基づくリファクタリングの試み
基于代码克隆分析的重构尝试
  • DOI:
  • 发表时间:
    2004
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Yusuke Ohba;Hiroshi Nojima;Yasuyuki Kita et al.;Y.Sawai;吉田則裕;Yoshiki Higo;肥後芳樹;肥後芳樹;肥後芳樹;肥後 芳樹
  • 通讯作者:
    肥後 芳樹
Method and Implementation for Investigating Code Clones in a Software System
研究软件系统中的代码克隆的方法和实现
コードクローン間の依存関係に基づくリファクタリング支援
基于代码克隆之间的依赖关系的重构支持
ソフトウェア保守支援を目的としたコードクローン可視化ツール: Gemini
软件维护支持的代码克隆可视化工具:Gemini
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

肥後 芳樹其他文献

タスクボードとオンラインストレージを用いたソフトウェア開発PBLのためのタスク記録支援環境の構築
利用任务板和在线存储构建软件开发PBL任务记录支持环境
  • DOI:
  • 发表时间:
    2014
  • 期刊:
  • 影响因子:
    0
  • 作者:
    高先 修平;井垣 宏;肥後 芳樹;楠本 真二
  • 通讯作者:
    楠本 真二
Applying Multi-objective Genetic Algorithm to Improve Automated Program Generation by Selecting Complementary Variants
应用多目标遗传算法通过选择互补变体来改进自动程序生成
  • DOI:
    10.20729/00220234
  • 发表时间:
    2022
  • 期刊:
  • 影响因子:
    0
  • 作者:
    渡辺 大登;松本 真佑;肥後 芳樹;楠本 真二;倉林 利行;切貫 弘之;丹野 治門
  • 通讯作者:
    丹野 治門
A Study on the Number of Graftable Bugs in Automated Program Repair
自动化程序修复中可移植缺陷数的研究
  • DOI:
    10.11309/jssst.33.3_81
  • 发表时间:
    2016
  • 期刊:
  • 影响因子:
    0
  • 作者:
    鷲見 創一;肥後 芳樹;堀田 圭佑;楠本 真二
  • 通讯作者:
    楠本 真二
構文種別に着目したDockerfileのコードクローン検出手法
关注语法类型的Dockerfile代码克隆检测方法
  • DOI:
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    鶴 智秋;中川 将;松本 真佑;肥後 芳樹;楠本 真二
  • 通讯作者:
    楠本 真二
Proposition and Evaluation of Method-level Semantic Versioning
方法级语义版本控制的提出与评估

肥後 芳樹的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('肥後 芳樹', 18)}}的其他基金

機能等価メソッドデータセットの構築によるソフトウェア工学タスクの高度化
通过构建功能等效的方法数据集来改进软件工程任务
  • 批准号:
    24H00692
  • 财政年份:
    2024
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (A)
Autorepairability: creating and disseminating a new software quality indicator
自动修复性:创建和传播新的软件质量指标
  • 批准号:
    21K18302
  • 财政年份:
    2021
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Challenging Research (Pioneering)
A Study on Fault Localization for Automated Program Repair
程序自动化修复的故障定位研究
  • 批准号:
    20H04166
  • 财政年份:
    2020
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (B)

相似海外基金

Support for acquiring chunking skills by reading source code using refactoring principles
支持通过使用重构原则阅读源代码来获得分块技能
  • 批准号:
    23K02697
  • 财政年份:
    2023
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Enhancing Automated Software Evolution via Building and Utilizing Large-Scale Software Evolution Corpora
通过构建和利用大规模软件演进语料库增强自动化软件演进
  • 批准号:
    22H03567
  • 财政年份:
    2022
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (B)
リファクタリングにより破壊されるテストスイート予測技術の開発:自動修正への挑戦
开发预测将被重构破坏的测试套件的技术:自动校正的挑战
  • 批准号:
    21K17725
  • 财政年份:
    2021
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Early-Career Scientists
A study on autonomous maintainability technique toward ultra long-term software
超长期软件自主可维护技术研究
  • 批准号:
    18KT0013
  • 财政年份:
    2018
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (B)
Search-Based and Interactive Environment for Semi-Automated Refactoring
用于半自动重构的基于搜索的交互式环境
  • 批准号:
    18K11238
  • 财政年份:
    2018
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Supporting of application service development and maintenance aiming of which the development and the operation can work closely together
支持应用服务开发和维护,实现开发与运维紧密结合
  • 批准号:
    17K00110
  • 财政年份:
    2017
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Retrieving code clones that are harmful for software quality
检索对软件质量有害的代码克隆
  • 批准号:
    17H01725
  • 财政年份:
    2017
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (B)
Project-based learning support system using bias analysis
使用偏差分析的基于项目的学习支持系统
  • 批准号:
    17K00500
  • 财政年份:
    2017
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Refactoring environment for the evolution of code clones
代码克隆进化的重构环境
  • 批准号:
    16K16034
  • 财政年份:
    2016
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Young Scientists (B)
Supporting Prefactoring Activities Based on Software Change Plans
支持基于软件变更计划的预分解活动
  • 批准号:
    15K15970
  • 财政年份:
    2015
  • 资助金额:
    $ 1.79万
  • 项目类别:
    Grant-in-Aid for Young Scientists (B)
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了