{"id":2307,"date":"2021-05-17T04:27:07","date_gmt":"2021-05-16T19:27:07","guid":{"rendered":"http:\/\/www.sa.c.titech.ac.jp\/?p=2307"},"modified":"2022-03-17T13:44:05","modified_gmt":"2022-03-17T04:44:05","slug":"%e5%9b%bd%e9%9a%9b%e4%bc%9a%e8%ad%b0-characterising-the-knowledge-about-primitive-variables-in-java-code-comments","status":"publish","type":"post","link":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/archives\/2307","title":{"rendered":"[\u56fd\u969b\u4f1a\u8b70] Characterising the Knowledge about Primitive Variables in Java Code Comments"},"content":{"rendered":"<p>\u5c0f\u6797\u7814\u306b\u6e96\u5ba2\u54e1\u82e5\u624b\u7814\u7a76\u54e1\u3068\u3057\u3066\u6ede\u5728\u3057\u3066\u3044\u305f Alghamdi \u3055\u3093\u304c\uff0c\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac\u3055\u308c\u305f IEEE\/ACM 18th Mining Software Repositories Conference (<a class=\"c-link\" href=\"https:\/\/2021.msrconf.org\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/2021.msrconf.org\/\" data-sk=\"tooltip_parent\">MSR 2021<\/a>)\u306b\u3066\u7814\u7a76\u767a\u8868\u3092\u884c\u3044\u307e\u3057\u305f.<\/p>\n<p>Alghamdi\u3055\u3093\u304c\uff0cThe University of Adelaide \u306b\u3066\u884c\u3063\u3066\u3044\u308b\u535a\u58eb\u7814\u7a76\u306e\u4e00\u90e8\u3092\u69cb\u6210\u3059\u308b\u5185\u5bb9\u3092\u5c0f\u6797\u7814\u3067\u5b9f\u65bd\u3057\u305f\u3082\u306e\u3067\uff0c\u5c0f\u6797\u7814\uff0c\u672c\u5b66\u9662\u306e\u6797\u7814\u7a76\u5ba4\uff0cThe University of Adelaide \u306e Dr. Treude\u306e\u7814\u7a76\u30c1\u30fc\u30e0\u3068\u306e\u5171\u540c\u7814\u7a76\u306e\u6210\u679c\u3067\u3059\uff0e<\/p>\n<blockquote><p>\u8457\u8005\uff1a Mahfouth Alghamdi, Shinpei Hayashi, Takashi Kobayashi, Christoph Treude<br \/>\n\u984c\u76ee\uff1a Characterising the Knowledge about Primitive Variables in Java Code Comments<br \/>\n\u63b2\u8f09\u8a8c\uff1a Mining Software Repositories Conference (<a class=\"c-link\" href=\"https:\/\/2021.msrconf.org\/\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/2021.msrconf.org\/\" data-sk=\"tooltip_parent\">MSR 2021<\/a>),\u00a0<a class=\"c-link\" href=\"https:\/\/2021.msrconf.org\/track\/msr-2021-technical-papers\/46\/Characterising-the-Knowledge-about-Primitive-Variables-in-Java-Code-Comments\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/2021.msrconf.org\/track\/msr-2021-technical-papers\/46\/Characterising-the-Knowledge-about-Primitive-Variables-in-Java-Code-Comments\" data-sk=\"tooltip_parent\">Technical Track<\/a>, pp.460-470, 17-19 May 2021<br \/>\n\u6982\u8981\uff1a<br \/>\nPrimitive types are fundamental components available in any programming language, which serve as the building blocks of data manipulation. Understanding the role of these types in source code is essential to write software. Little work has been conducted on how often these variables are documented in code comments and what types of knowledge the comments provide about variables of primitive types. In this paper, we present an approach for detecting primitive variables and their description in comments using lexical matching and advanced matching. We evaluate our approaches by comparing the lexical and advanced matching performance in terms of recall, precision, and F-score, against 600 manually annotated variables from a sample of GitHub projects. The performance of our advanced approach based on F-score was superior compared to lexical matching, 0.986 and 0.942, respectively. We then create a taxonomy of the types of knowledge contained in these comments about variables of primitive types. Our study showed that developers usually documented the variables&#8217; identifiers of a numeric data type with their purpose (69.16%) and concept (72.75%) more than the variables&#8217; identifiers of type String which were less documented with purpose (61.14%) and concept (55.46%). Our findings characterise the current state of the practice of documenting primitive variables and point at areas that are often not well documented, such as the meaning of boolean variables or the purpose of fields and local variables.<\/p><\/blockquote>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>\u5c0f\u6797\u7814\u306b\u6e96\u5ba2\u54e1\u82e5\u624b\u7814\u7a76\u54e1\u3068\u3057\u3066\u6ede\u5728\u3057\u3066\u3044\u305f Alghamdi \u3055\u3093\u304c\uff0c\u30aa\u30f3\u30e9\u30a4\u30f3\u958b\u50ac\u3055\u308c\u305f IEEE\/ACM 18th Mining Software Repositories Conference (MSR 2021) [&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-2307","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\/2307","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=2307"}],"version-history":[{"count":5,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts\/2307\/revisions"}],"predecessor-version":[{"id":2327,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/posts\/2307\/revisions\/2327"}],"wp:attachment":[{"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/media?parent=2307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/categories?post=2307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sa.comp.isct.ac.jp\/ja\/wp-json\/wp\/v2\/tags?post=2307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}