ETロボコン2011 九州大会 コード品質評価プロジェクト (SCQR2011)

Slides:



Advertisements
Similar presentations
Trac と Eclipse の 便利な機能. プロジェクト管理システム: Trac 0. はじめに バージョン管理システム: Subversion 統合開発環境: Eclipse ・ Wiki による情報 管理 ・進捗状況の管理 ・プログラムの作 成 ・リポジトリに データを集める.
Advertisements

ブロガーのための ソースコード管理システム 紹介 id:hakobe932 はこべ. 突然ですが ブログでソースコード 読んでますか?
CMU2005 海外エンジニアリングワークショップ参加報告書 1 「真の要求を見極めろ!」: teamB 要求定義をどう捉えるか ● 要求定義とは何か? 製品には、顧客の望むことを正しく反映させる必要がある。 そのために必要なものが要求仕様である。 すなわち、要求仕様とは、顧客と製品を結ぶものであり、これを作ることが要求定義である。
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
企画書作成ソフトウェアの開発 佐々木研究室 05k1134 吉村祥平.
背景 ソフトウェアの大規模化・複雑化 生産性と品質の向上 ↓ オブジェクト指向分析設計の適用 開発ツールの投入.
本日のスケジュール 14:45~15:30 テキストの講義 15:30~16:15 設計レビュー 16:15~16:30 休憩
プログラマのレベルアップ.
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
「ICT社会におけるコミュニケーション力の育成」 研修モジュール C-6:ポスターセッション
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
スコアによるキューブアクションの違い なにが“学会”発表にふさわしいのか考える。結論自体は分かっていた。そこに至るまでのプロセスが新しい。(かもしれない) 少なくとも整理されていて、わかりやすい。また、視覚的に覚えやすい。
次ページボタン ではなく、 画面をクリックする 「PPT アニメーション機能」で ご覧下さい。
ソースコード品質概論 なぜソースの品質を追求するのか
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
PHP Framework Update symfony 編 株式会社ディノ 月宮紀柳.
好きな本 ☞班級: 應日二甲 ☞學號: 4A0E0097 ☞姓名: 柳心詒.
変数のスコープの設計判断能力 を育成するプログラミング教育
SS2009 形式手法の適用ワーキング グループの報告
開発流れ.
自動車レビューにおける検索と分析 H208032 松岡 智也 H208060 中西 潤 H208082 松井泰介.
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
理論試験速報 理論問題部会長 鈴木 亨 先生 (筑波大学附属高等学校) にインタビュー.
も  じ ま ほう 文字の魔法 文字の魔法、っていったいなんでしょう? 文字は、ものすごい魔法を持っているんですよ。
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
自由席にしています。 資料のある席へお座りください.
自由席にしています。 資料のある席へお座りください.
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
~ 「スポーツにおけるゲーム分析」について ~
重複コードと非重複コードにおける 修正頻度の比較
TDDとメソッドの外部設計 テストファーストの秘訣 2009/08 biac.
学生の相互評価を用いた モデリング支援システムの開発
システム演習C報告 ゼミ長(E.T) Satoshi Ueda.
売れるためのWEBサイト構築.
心のバリアフリー研修 基本プログラム例C 00:00.
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
一人暮らしの男性のための料理検索システムの設計
UMLモデルを対象とした リファクタリング候補検出の試み
シリーズ:著者の回答  質問 (韓国 K社、L.Y氏 開発・設計 )
小学部児童が友だちに要求を 受け入れられなかったときに自傷をせず 言葉で伝えることができるための支援
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB: 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎
コードクローンの理解支援を目的としたコードクローン周辺コードの解析
UMLの概要とオブジェクト指向の基本概念
第1章 いよいよプログラミング!! ~文章の表示 printf~
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
本日のスケジュール 14:45~15:30 講義 15:30~16:15 企画書レビューシート記入 16:15~16:30 休憩
自由席にしています。 資料のある席へお座りください.
チーム名:頑張れQUEST 所属:NPO法人 九州組込みソフトウェアコンソーシアム
Q&A Q1 ニッセイ・キャピタルから投資を受けたいのですが、今回のグランプリで表彰された場合、投資を受ける    ことはできるのでしょうか。     A1 本グランプリは、あくまでビジネスアイデアを募集するものであり、投資の審査を行うものではございません。 但し、本社の投資基準を満たす場合は、今後投資検討をさせていただく可能性もございます。   
2016年1月14日 報道関係各位 ETロボコン2016開催・記者発表会のご案内
演習1に関する講評 ~ 業務仕様を書く難しさ ~
業務5Sカイゼン ミーティングのしかた 開会宣言 カイゼンネタの確認 あらかじめカードを配って書いてきてもらう
アスペクト指向言語のための視点に応じた編集を可能にするツール
メソッドの同時更新履歴を用いたクラスの機能別分類法
問題 あなたはポケモンGOをやっています. これから5か所のポケモンの巣(ポケモンがよく出る場所)を回って レアポケモンを捕まえに行こうと思っています. しかし,持ち物を見たらハイパーボール1つしかありませんでした. なるべくCPが高い(強い)レアポケモンを 捕まえたいのですが, 何か所目で捕まえれば.
Googleマップを活用した 生物調査データベースの構築
複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価
自由席にしています。 資料のある席へお座りください.
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
アジャイル開発プロセス 森口朋広.
ETロボコン2009 コード品質評価プロジェクト ~高品質プログラミングのススメ~ 九州地区 特別プロジェクト 2009/6/13
2012年2月25日(土) ETロボコン 東京地区実行委員会
プログラム依存グラフを用いた ソースコードのパターン違反検出法
2015年1月29日 報道関係各位 ETロボコン2015開催・記者発表会のご案内
Presentation transcript:

ETロボコン2011 九州大会 コード品質評価プロジェクト (SCQR2011) 九州大会特別企画! 今年もやったのです! ETロボコン2011 九州大会 コード品質評価プロジェクト (SCQR2011) 今年のテーマ ~“清く、正しく、美しく ”~ 企画:QUEST(九州組込みソフトウェアコンソーシアム) 2011/9/4 やっぱり今年も暑かった・・・

目次(あらすじ) 去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

去年からのあらすじ ・・・というところから、 昨年は“ミンナにやさしいソースコード” というテーマでレビューをしました。 モデル審査 組込みソフトウェア の総合品質 設計品質 コード品質 性能品質 基本だし。 走行タイム ココ、ないね・・・ では、評価しますか。 命かけてるし。 ・・・というところから、   昨年は“ミンナにやさしいソースコード”     というテーマでレビューをしました。

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

今年の着目点 “ミンナにやさしいソースコード” と言ったはいいが、何をすると“ミンナにやさしく”なるのかを  と言ったはいいが、何をすると“ミンナにやさしく”なるのかを  今年は噛み砕いて、テーマにしてみました。  それが、   ・清く(元々のコンセプト<モデル>が反映している)   ・正しく(複雑度を上げず、色々なことを考慮している)   ・美しく(正しいコメント、分かりやすいコメント)  です。

今年の着目点 (*≧∇≦)/ 参加いただいたチームの皆さん! です。 今年は、皆さんの“清く・正しく・美しく”を評価させて頂きました。 参加いただいたチームの皆さん! です。 今年は、皆さんの“清く・正しく・美しく”を評価させて頂きました。 TeamNo. Team Name 言語 133 スーパーHTSくん cpp 202 流し満貫 32 Nobu3SW(R) c 273 Y研ロボ ひびきの 176 チキン南蛮 257 コアファイター 参加 ありがとうございました! ぱちぱちっ! (*≧∇≦)/ (複雑でないことが良いのです。) (UMLに基づいたアーキテクチャ違反がないこと) (重複したロジックはないですか?) 評価した人:  片平性能審査団員、  松下性能審査団員

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

評価基準 静的解析ツールによる評価 目視(網膜→脳)による評価 ★c言語: QACによる解析結果の総合品質得点 ★c++言語: 使用ツール: 目視(網膜→脳)による評価 パッケージ分割の視点 (アーキテクチャ設計)、ファイル分割の視点(コンポーネント設計)、関数分割の視点(ファンクション設計)、コーディングの視点(コーディングスタイル)のスコープに分割し、各スコープを評価するメトリクスで品質を診断 ・構成(機能、戦略、データなどがキチンとまとめられているか?) ・見易さ(解読容易性)・・・コメントの適正さ、ソース構造の分かりやすさ ・戦略的対応(難所攻略・コース戦略)                             使用ツール:評価委員の網膜と脳

評価基準(細目) 静的解析ツールによる評価 目視(網膜→脳)による評価 ・障害に繋がる指摘数(減点項目) ・複雑度(加点項目…複雑度が低いほうが良い) ・最大ネスティング数(加点項目・・・数が少ないほうが良い)  ツールによる評価点=減点項目+加点項目 静的解析ツールによる評価 ・構成(基本評価項目1〜5) ・ソースコメント(基本評価項目1〜5) ・戦略的アルゴリズム(基本評価項目1〜5) ・難所攻略(加点項目0〜3)  目視による評価点=基本評価項目+加点項目 目視(網膜→脳)による評価

評価基準(表彰内容) 評価基準   今年は、c言語、c++言語部門、   と言語ごとに総合点の高いチームを   表彰します。

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

解析ツールで評価すると・・・ Cの場合(QAC) 指数化、発見数などがクラス毎などで 数値化されます。

警告の内容を、警告別にhtml(txt)表示できます。 解析ツールで評価すると・・・ C++の場合(QAC++) 警告の内容を、警告別にhtml(txt)表示できます。

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

ツール解析結果から見える考察 今年は、昨年と違う非常に面白い傾向が見られました。   ツールにおいては、“正しく”=障害指摘数、“美しく”=複雑さ、煩雑さを主に見ましたが、ソースコードのボリュームと反比例し、記述内容が多いチームほど、“正しく、美しく”記述されているという傾向が見られました。よく考えているチームほどよく整理されている、という本来あるべき姿といえます。

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

網膜から見える背景(解読容易性) 今年は、見やすさだけでなく、いかに“考えぬいているか”も評価の対象にしました。 難所攻略やコース戦略性などソースコードから読み取れる“思慮”を読み取ることにしました。そうすると非常に面白い結果が出てきました。 結果からいうと“清く(思慮深い)” (戦略的・難易度が高い)ソースほど、キチンと整理されている、という傾向が現れています。

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

総合レビュー結果から見えてくること 今年の総合レビューでは、評価する側から見ると、とても嬉しい結果になっています。   それは、熟慮を重ね、新しいコト・難しいコトにチャレンジしたチームほど、     “清く・正しく・美しく”  ソースを書いているという事実です。 ※ツール高評価のチームは目視も高評価

去年からのあらすじ 今年の着目点 評価基準 解析ツールで評価すると・・・ ツール解析結果から見える考察 網膜から見える背景(解読容易性) 総合レビュー結果から見えてくること 評価結果っ!!!

評価結果っ!!! では、いよいよ、 ・金賞(c++言語部門) ・金賞(c言語部門) の発表をします!

ですっ! 評価結果っ!!! ・金賞(c++言語部門)は、 “スーパーHTSくん“ さん 所感: 総合得点48点               ですっ! 所感: 総合得点48点  ツール評価・目視評価とも高得点でした。目視で確認した難易度の高いアルゴリズムも、ツールで確認した複雑度やネスティング回数などで、複雑すぎないようにキチンと整理されていることが伺えます。

ですっ! 評価結果っ!!! ・金賞(c言語部門)は、 “Nobu3SW(R)”さん 所感: 総合得点44点  “Nobu3SW(R)”さん               ですっ! 所感: 総合得点44点  ツール評価・目視評価とも高得点でした。目視での確認では全ての難所に対して攻略が記述され、なおかつ、考えぬいた戦略が伺えました。またファイル・フォルダ構成、ソースコメントなど、分かりやすさを優先していてお手本的なソースコードといえます。

評価結果っ!!! ・総評 今年の評価では、ツール評価と目視評価において、相関関係がみられました。   今年の評価では、ツール評価と目視評価において、相関関係がみられました。   受賞したチームはともに評価が高く、難所攻略やコース戦略を考慮しソースの難易度・複雑度は本来、高くなるはずですが、キチンと整理されていることが分かります。   “見られる“ことを意識したのかはわかりませんが、コーディングという技術として考えた場合、難しい事を整理しながら解決していった事が見て取れます。評価の低いチームはにも逆の相関性が見られ、典型的な”書き散らし”が見て取れました。

最後に、ちょっと、オマケ・・・  ーー;

SCQRの未来・・・ 今後、MBD,MDDが定着していくと、ソフトウェア開発体制には、“モデラー、モデル・クリエーター”という階層が出来ていくと思われます。今、我々がSE,PGと呼んでいる職業のちょうど中間なのかもしれません。 MBD,MDDが普及し浸透していくと、ソースを書く(修正)するという作業は開発作業全体からみれば少なくなっていくでしょう。 このレビュー自体の意味が重要視されなくなり、淘汰されいく未来が我々の望む未来なのかもしれません。  UMLからカリカリ書いてたなぁ・・・、ソースコード・レビューなんてやってたよねぇ、ETロボコンで・・・、なんて時代に早くなるといいと思ってたりしてます。(そうならなきゃ、いけないんだけどさ・・・)

SCQR2011に参加いただいたチームの皆さん、ありがとうございました。 表彰されたチームの皆さん、おめでとうございました! また、来年の猛暑の夏に、    熱いソースコードお待ち申し上げます。  おしまい。 M(__)/