{"id":2211,"date":"2021-03-05T20:09:11","date_gmt":"2021-03-05T11:09:11","guid":{"rendered":"http:\/\/www.sa.c.titech.ac.jp\/?p=2211"},"modified":"2026-02-16T15:15:05","modified_gmt":"2026-02-16T06:15:05","slug":"%e7%a0%94%e7%a9%b6%e7%99%ba%e8%a1%a8-untangling-composite-changes-using-tree-based-convolution-neural-network","status":"publish","type":"post","link":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/archives\/2211","title":{"rendered":"[\u7814\u7a76\u767a\u8868] Untangling Composite Changes Using Tree-based Convolution Neural Network"},"content":{"rendered":"<p>\u5c0f\u6797\u7814M2\u306e\u674e\u3055\u3093\u304c\u30013\u67083\u65e5\u304b\u30892\u65e5\u9593\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac\u3055\u308c\u305f\u96fb\u5b50\u60c5\u5831\u901a\u4fe1\u5b66\u4f1a \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b5\u30a4\u30a8\u30f3\u30b9\u7814\u7a76\u4f1a\u306b\u3066\u7814\u7a76\u767a\u8868\u3092\u884c\u3044\u307e\u3057\u305f\u3002<\/p>\n<blockquote><p>\u8457\u8005\uff1a \u674e\u8061\u30fb\u5c0f\u6797\u9686\u5fd7\uff08\u6771\u5de5\u5927\uff09<br \/>\n\u984c\u76ee\uff1a Untangling Composite Changes Using Tree-based Convolution Neural Network<br \/>\n\u63b2\u8f09\u8a8c\uff1a \u4fe1\u5b66\u6280\u5831, vol. 120, no. 407, <a href=\"https:\/\/www.ieice.org\/ken\/paper\/202103041CDx\/\">SS2020-46<\/a>, pp. 108-113, 2021\u5e743\u6708.<br \/>\n\u6982\u8981\uff1a<br \/>\nDevelopers often bundle unrelated changes in a single commit, thus creating a so-called composite commit. Composite commit is problematic because it makes code review, reversion, and integration of these commits harder. Recent<br \/>\nresearches have attempted to use the information of Abstract Syntax Tree (AST) to untangling composite commits. However, they did not make full use of the AST structure information. To make full use of AST structure information to untangle a<br \/>\ncomposite commit. First, we predict the relationship between two code fragments using a Tree-based CNN model, which can capture both the structural and lexical information of the code fragment. Second, we cluster these code fragments according to<br \/>\ntheir relationship. Third, we evaluated whether our approach can untangle composite commits correctly.<\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2222 size-full\" src=\"\/wp-content\/uploads\/2021\/03\/SS202103-congli-slides-presentation_summary.png\" alt=\"\" width=\"960\" height=\"720\" srcset=\"https:\/\/www.sa.comp.isct.ac.jp\/wp-content\/uploads\/2021\/03\/SS202103-congli-slides-presentation_summary.png 960w, https:\/\/www.sa.comp.isct.ac.jp\/wp-content\/uploads\/2021\/03\/SS202103-congli-slides-presentation_summary-300x225.png 300w, https:\/\/www.sa.comp.isct.ac.jp\/wp-content\/uploads\/2021\/03\/SS202103-congli-slides-presentation_summary-768x576.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5c0f\u6797\u7814M2\u306e\u674e\u3055\u3093\u304c\u30013\u67083\u65e5\u304b\u30892\u65e5\u9593\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac\u3055\u308c\u305f\u96fb\u5b50\u60c5\u5831\u901a\u4fe1\u5b66\u4f1a \u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30b5\u30a4\u30a8\u30f3\u30b9\u7814\u7a76\u4f1a\u306b\u3066\u7814\u7a76\u767a\u8868\u3092\u884c\u3044\u307e\u3057\u305f\u3002 \u8457\u8005\uff1a \u674e\u8061\u30fb\u5c0f\u6797\u9686\u5fd7\uff08\u6771\u5de5\u5927\uff09 \u984c\u76ee\uff1a Untangling Composite C [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2211","post","type-post","status-publish","format-standard","hentry","category-research"],"_links":{"self":[{"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts\/2211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/comments?post=2211"}],"version-history":[{"count":11,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts\/2211\/revisions"}],"predecessor-version":[{"id":2854,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts\/2211\/revisions\/2854"}],"wp:attachment":[{"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/media?parent=2211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/categories?post=2211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/tags?post=2211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}