つれづれなる技術屋日記

しがない技術屋。専門は情報工学で、「つれづれ技術屋」って呼んで。

「コードクローン分析とその応用」

今日は日本技術士会と情報処理学会とのコラボの、表題の催しへ参加した。一般の人が見ることができて、細かいことが書いてあるのは、以下のITコーディネーターのページかもしれない。(技術士の場合は、ここでの料金とは別。)

https://wwu.itc.or.jp/fmi/xsl/seminar_guide_n/seminar_s02.xsl?ID=K13060730

大阪大学の井上先生自らの講義、しかもワークショップがあったので、掘り下げて学ぶことができた。

CCFinderとGeminiの説明があり、ワークショップもその両方を使っての分析だった。というか、今まで自分はGeminiの方を余り詳しく知らなかったが、クローン分析ではGeminiを使っての分析が(も)重要と認識した。(コードクローン分析の、裁判への資料への活用なども紹介もあって、なるほどと納得した。)

我々の班が分析したのは、Python。思った以上にクローンが多かった。どうも、OS毎や型毎の部分をコード生成している。スピード優先しているんだろう。#ifdef などを多用している感じ。で、多少自分の頭の中で、それならソースコードもだけど、プリプロセッサー前のソース“文”を処理できた方が良いのかな~とか、あれそうなると文字列変換とかが絡むとちょっと厄介か~とかが頭を駆け巡った。また、トークン数との表現とコード辺の数との表現の意味的な違いなどが的確に分からずについ色々考えて、分析でのアイデアとかまとめの際の作業が少しおぼつかなかった。

懇親会も開催されて、そちらで修士の方に、トークン数/コード辺の違いを聞いたりして多少は理解できた気がするけど、まだすっきり状態ではないかも。^.^; また、一時期のブーム的な状況と、現在とでは何が違うのか気になった。自分なりの解釈ではなんとなく、利用しているところは利用してるけど、その成果をなかなか発表しにくい感じ。経費的なこともあるし、その企業や製品群の開発方法やソースの“癖”とかに関係するので公にするのを躊躇するのかもしれない。

また、プリプロセッサー前のソース“文”での解析とか、知り合いの大阪大学出身と井上先生が年齢的にも近いから先生が知ってるか聞こうと思った。しかし、前者は自分なりに考えがまとまらないし、後者は卒業年や学部などが同じか考えているうちに、先生のお帰りになる時間になってしまった。(帰って調べたら、どうも同じ卒業年/学部のように思えてきた。学科も同じかも。知り合いに会う機会があれば、そちらで聞いてみようかな。 なお、懇親会なので、他の人との会話などもあってちょっと挨拶のタイミングを失ったのも大きな理由。)

振り返るとある意味、短時間というか少し分析が不十分だったかもしれないが、座学よりも非常に多くのことを学んだ気がする。今回のような学会とのコラボの催しへの参加は何度かあるけど、今回も有意義だった。

©2005-2020 ほんだ事務所(honda-jimusyo) All rights reserved.