ソースコード評価プロジェクト

九州大会特別企画!
今年もやったのです!
今年のテーマ
~“清く、正しく、美しく ”~
企画:QUEST(九州組込みソフトウェアコンソーシアム)
2011/9/4
やっぱり今年も暑かった・・・
目次(あらすじ)
•
•
•
•
•
•
•
•
去年からのあらすじ
今年の着目点
評価基準
解析ツールで評価すると・・・
ツール解析結果から見える考察
網膜から見える背景(解読容易性)
総合レビュー結果から見えてくること
評価結果っ!!!
• 去年からのあらすじ
•
•
•
•
•
•
•
去年からのあらすじ
モデル審査
基本だし。
設計品質
組込みソフトウェア
走行タイム
性能品質
の総合品質
コード品
質
ココ、ないね・・・
では、評価しますか。
命かけてるし。
・・・というところから、
昨年は“ミンナにやさしいソースコード”
というテーマでレビューをしました。
•
• 今年の着目点
•
•
•
•
•
•
今年の着目点
“ミンナにやさしいソースコード”
と言ったはいいが、何をすると“ミンナにやさしく”なるのかを
今年は噛み砕いて、テーマにしてみました。
それが、
・清く(元々のコンセプト<モデル>が反映している)
・正しく(複雑度を上げず、色々なことを考慮している)
・美しく(正しいコメント、分かりやすいコメント)
です。
今年の着目点
参加いただいたチームの皆さん! です。
今年は、皆さんの“清く・正しく・美しく”を評価させて頂きました。
TeamNo.
Team Name
言語
133 スーパーHTSくん
cpp
202 流し満貫
cpp
32 Nobu3SW(R)
c
273 Y研ロボ ひびきの
c
176 チキン南蛮
c
257 コアファイター
c
参加
ありがとうございました!
ぱちぱちっ!
(*≧∇≦)/
評価した人:
片平性能審査団員、
松下性能審査団員
•
•
• 評価基準
•
•
•
•
•
評価基準
静的解析ツールによる評価
★c言語:
QACによる解析結果の総合品質得点
★c++言語:
QAC++による解析結果の総合品質得点
使用ツール:
目視(網膜→脳)による評価
・構成(機能、戦略、データなどがキチンとまとめられているか?)
・見易さ(解読容易性)・・・コメントの適正さ、ソース構造の分かりやすさ
・戦略的対応(難所攻略・コース戦略)
使用ツール:評価委員の網膜と脳
評価基準(細目)
静的解析ツールによる評価
・障害に繋がる指摘数(減点項目)
・複雑度(加点項目…複雑度が低いほうが良い)
・最大ネスティング数(加点項目・・・数が少ないほうが良い)
ツールによる評価点=減点項目+加点項目
目視(網膜→脳)による評価
・構成(基本評価項目1〜5)
・ソースコメント(基本評価項目1〜5)
・戦略的アルゴリズム(基本評価項目1〜5)
・難所攻略(加点項目0〜3)
目視による評価点=基本評価項目+加点項目
評価基準(表彰内容)
• 評価基準
今年は、c言語、c++言語部門、
と言語ごとに総合点の高いチームを
表彰します。
•
•
•
• 解析ツールで評価すると・・・
•
•
•
•
解析ツールで評価すると・・・
• Cの場合(QAC)
指数化、発見数などがクラス毎などで
数値化されます。
解析ツールで評価すると・・・
• C++の場合(QAC++)
警告の内容を、警告別にhtml(txt)表示できます。
•
•
•
•
• ツール解析結果から見える考察
•
•
•
ツール解析結果から見える考察
• 今年は、昨年と違う非常に面白い傾向が
見られました。
ツールにおいては、“正しく”=障害指摘数、
“美しく”=複雑さ、煩雑さを主に見ましたが、
ソースコードのボリュームと反比例し、記述
内容が多いチームほど、“正しく、美しく”記
述されているという傾向が見られました。よ
く考えているチームほどよく整理されてい
る、という本来あるべき姿といえます。
•
•
•
•
•
• 網膜から見える背景(解読容易性)
•
•
網膜から見える背景(解読容易性)
• 今年は、見やすさだけでなく、いかに“考え
ぬいているか”も評価の対象にしました。
• 難所攻略やコース戦略性などソースコード
から読み取れる“思慮”を読み取ることにし
ました。そうすると非常に面白い結果が出
てきました。
• 結果からいうと“清く(思慮深い)” (戦略
的・難易度が高い)ソースほど、キチンと整
理されている、という傾向が現れています。
•
•
•
•
•
•
• 総合レビュー結果から見えてくること
•
総合レビュー結果から見えてくること
• 今年の総合レビューでは、評価する側から
見ると、とても嬉しい結果になっています。
それは、熟慮を重ね、新しいコト・難しいコ
トにチャレンジしたチームほど、
“清く・正しく・美しく”
ソースを書いているという事実です。
※ツール高評価のチームは目視も高評価
•
•
•
•
•
•
•
• 評価結果っ!!!
評価結果っ!!!
では、いよいよ、
・金賞(c++言語部門)
・金賞(c言語部門)
の発表をします!
評価結果っ!!!
・金賞(c++言語部門)は、
“スーパーHTSくん“ さん
ですっ!
所感: 総合得点48点
ツール評価・目視評価とも高得点でした。目視で確認した
難易度の高いアルゴリズムも、ツールで確認した複雑度
やネスティング回数などで、複雑すぎないようにキチンと
整理されていることが伺えます。
評価結果っ!!!
・金賞(c言語部門)は、
“Nobu3SW(R)”さん
ですっ!
所感: 総合得点44点
ツール評価・目視評価とも高得点でした。目視での確認で
は全ての難所に対して攻略が記述され、なおかつ、考え
ぬいた戦略が伺えました。またファイル・フォルダ構成、
ソースコメントなど、分かりやすさを優先していてお手本
的なソースコードといえます。
評価結果っ!!!
・総評
今年の評価では、ツール評価と目視評価において、相
関関係がみられました。
受賞したチームはともに評価が高く、難所攻略やコース
戦略を考慮しソースの難易度・複雑度は本来、高くなる
はずですが、キチンと整理されていることが分かります。
“見られる“ことを意識したのかはわかりませんが、コー
ディングという技術として考えた場合、難しい事を整理し
ながら解決していった事が見て取れます。評価の低い
チームはにも逆の相関性が見られ、典型的な”書き散ら
し”が見て取れました。
• 最後に、ちょっと、オマケ・・・
ーー;
SCQRの未来・・・
• 今後、MBD,MDDが定着していくと、ソフトウェア開発体制には、“モ
デラー、モデル・クリエーター”という階層が出来ていくと思われます。
今、我々がSE,PGと呼んでいる職業のちょうど中間なのかもしれま
せん。 MBD,MDDが普及し浸透していくと、ソースを書く(修正)す
るという作業は開発作業全体からみれば少なくなっていくでしょう。
このレビュー自体の意味が重要視されなくなり、淘汰されいく未来が
我々の望む未来なのかもしれません。
• UMLからカリカリ書いてたなぁ・・・、ソースコード・レビューなんて
やってたよねぇ、ETロボコンで・・・、なんて時代に早くなるといいと
思ってたりしてます。(そうならなきゃ、いけないんだけどさ・・・)
• SCQR2011に参加いただいたチームの
皆さん、ありがとうございました。
• 表彰されたチームの皆さん、おめでとうご
ざいました!
• また、来年の猛暑の夏に、
熱いソースコードお待ち申し上げます。
• おしまい。 M(__)/