Submit Search
Upload
コードレビューを通じて行われるコーディングスタイル修正の分析
•
Download as PPTX, PDF
•
1 like
•
1,831 views
奈良先端大 情報科学研究科
Follow
上田 裕己1,伊原 彰紀2,石尾 隆1 ,松本 健一1 1奈良先端科学技術大学院大学 2和歌山大学
Read less
Read more
Science
Report
Share
Report
Share
1 of 31
Download now
Recommended
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
しょうご すずき
2016年11月12日 NaITE#18 勉強会(@ワークプラザ勝田)での資料です。
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド
Kentaro Inomata
2011/06/25 わんくま同盟 東京勉強会 #60 http://www.wankuma.com/seminar/20110625tokyo60/
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
UStream http://www.ustream.tv/recorded/12317150
po-2. Python プログラミングの基本
po-2. Python プログラミングの基本
kunihikokaneko1
トピックス:Python, プログラミング, 式, 変数, オブジェクト, メソッド, 引数, 代入, データの種類, 制御, 条件分岐, 繰り返し, コードコンバット(Code Combat) Python プログラミングの基本 https://www.kkaneko.jp/pro/po/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
Klocworkのご紹介
Klocworkのご紹介
Masaru Horioka
2016年9月15日株式会社シーイーシー様セミナーでのKlocwork紹介資料です。
pf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratory
kunihikokaneko1
トピックス:プログラミング, ソースコード, Python, Python プログラムの実行, Google Colaboratory, Google アカウント, コードセルの作成 Python 入門(Google Colaboratory を使用)(全8回) https://www.kkaneko.jp/pro/pf/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
LightSwitch 結局何ができるの
LightSwitch 結局何ができるの
Yoshitaka Seo
わんくま同盟 東京勉強会 #65 セッション資料 (2011年11月19日開催) LightSwitch ~結局何ができるの?~ Visual Studio LightSwitch は業務アプリケーションを簡単に作れますが、手順が定型化されているため、スキルを持った人ほど不満に感じるようです。 開発者はどこを触れるのか、中にどんなコードができるのか、「"LightSwitch らしさ" って何?」をちょっとだけ覗いてみます。
研究紹介スライド
研究紹介スライド
Norihito Kitagawa
OfferBox用
Recommended
ISO/IEC DIS 20246 についての(ごく簡単な)説明
ISO/IEC DIS 20246 についての(ごく簡単な)説明
しょうご すずき
2016年11月12日 NaITE#18 勉強会(@ワークプラザ勝田)での資料です。
『アプリケーション アーキテクチャ ガイド2.0』のガイド
『アプリケーション アーキテクチャ ガイド2.0』のガイド
Kentaro Inomata
2011/06/25 わんくま同盟 東京勉強会 #60 http://www.wankuma.com/seminar/20110625tokyo60/
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
UStream http://www.ustream.tv/recorded/12317150
po-2. Python プログラミングの基本
po-2. Python プログラミングの基本
kunihikokaneko1
トピックス:Python, プログラミング, 式, 変数, オブジェクト, メソッド, 引数, 代入, データの種類, 制御, 条件分岐, 繰り返し, コードコンバット(Code Combat) Python プログラミングの基本 https://www.kkaneko.jp/pro/po/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
Klocworkのご紹介
Klocworkのご紹介
Masaru Horioka
2016年9月15日株式会社シーイーシー様セミナーでのKlocwork紹介資料です。
pf-1. Python,Google Colaboratory
pf-1. Python,Google Colaboratory
kunihikokaneko1
トピックス:プログラミング, ソースコード, Python, Python プログラムの実行, Google Colaboratory, Google アカウント, コードセルの作成 Python 入門(Google Colaboratory を使用)(全8回) https://www.kkaneko.jp/pro/pf/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
LightSwitch 結局何ができるの
LightSwitch 結局何ができるの
Yoshitaka Seo
わんくま同盟 東京勉強会 #65 セッション資料 (2011年11月19日開催) LightSwitch ~結局何ができるの?~ Visual Studio LightSwitch は業務アプリケーションを簡単に作れますが、手順が定型化されているため、スキルを持った人ほど不満に感じるようです。 開発者はどこを触れるのか、中にどんなコードができるのか、「"LightSwitch らしさ" って何?」をちょっとだけ覗いてみます。
研究紹介スライド
研究紹介スライド
Norihito Kitagawa
OfferBox用
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
Developers Summit
20110909 品質シンポジウム2011発表資料
20110909 品質シンポジウム2011発表資料
Kenichiro Nakajima
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
Kotaro Ogino
ソフトウェア品質シンポジウム2014での経験発表のスライドです。 http://www.juse.jp/sqip/symposium/detail/day1/#session_A1-3 10/09追記:ブログ記事書きました http://kokotatata.hatenablog.com/entry/2014/10/08/111353 (色の表示がslideshare上で少し変になってますので、ダウンロードした方がよいかもしれません。) JaSSTではシステムテストを自動化するとバグ修正日数が改善するというメリットについてお話ししました。 http://www.slideshare.net/kotaroogino/jasst14-tokyo SQiPではメトリクスを分析する事で、テストの自動化にはどういった課題があるか問題提起を行ったり、我々が行っている改善の施策を客観的にお話ししました。
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Hironori Washizaki
鷲崎弘宜, SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
Yusuke Suzuki
2012年12月15日に開催されたDevLOVE2012での「どうしたら良いシステムが作れるのか - あなたが進むべき道を決めるためのアーキテクチャとマネジメントの話」の資料です。
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
n-yuki
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
Keizo Tatsumi
2015年2月9日に開催されたSQuBOKガイド第2版発行記念講演会 http://www.juse-sqip.jp/squbok/guide/index.html#v2koenkai のクロージングご挨拶に代えて発表した資料。
Project Management Plan Sample Creative Content Lab Tokyo
Project Management Plan Sample Creative Content Lab Tokyo
CreativeContentLabTo
Project Management Plan Sample Creative Content Lab Tokyo
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態
Hironori Washizaki
鷲崎弘宜, "メトリクスによるソフトウェア品質評価・改善および製品品質実態", ET & IoT Technology 2018 (ET/IoT総合技術展), 横浜, 2018年11月14日
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Hironori Washizaki
Samurai Coding 2011を中心として、これまでに様々なゲームAIプログラミングコンテストを開催し成功を収めてきました。その実績に基づいて、コンテスト参加者の提出プログラムによりキャラクタ群を対戦させるゲームプラットフォームの設計と実装に共通する設計原則、アーキテクチャおよびそれらを具体化したフレームワークを解説します。さらに、そのようなコンテストにおけるゲーム内容のデザインに関する有用で再利用可能な知見を、10個のゲームデザインパターンとしてまとめあげて説明します。これらの原則やフレームワークおよびパターンを、類似のコンテスト開催やゲームデザインに再利用することで、その実施を効率的かつ効果的に進められることが期待できます。https://cedil.cesa.or.jp/cedil_sessions/view/933
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
Shingo Sasaki
Tech Stand #6 TypeScript https://standfm.connpass.com/event/229027/
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
QlikPresalesJapan
2021年9月7日開催のQlikテックトーク「SnowflakeとQlik Senseで実践!ビッグデータ分析のベストプラクティス」の資料です。
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
Keizo Tatsumi
2020年12月10日にオンラインで開催されたSQuBOK V3発行記念イベントで講演した資料です。
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
Toshiyuki Kawanishi
DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]
智治 長沢
Developers.IO 2015 Developer Day でのセッション資料です。
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
Keizo Tatsumi
ソフトウェアテストシンポジウム JaSST`15 TokyoのASTER国際連携活動報告セションで発表した資料です。
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
Tetsuya Kouno
SESワークショップで発表した資料 http://ses.sigse.jp/2018/workshop.html#ws3
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
Yusuke Oi
「クラウド時代にこそ求められるIT部門の役割 ~サービスカタログによるITサービス提供~」というタイトルで、2015年10月から継続的に実施しているセミナーの資料です。
ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程
Toru Tamaki
ソフトウェア工学2023
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
2017/10/22の勉強会で使用した資料です。 * https://sitoolkit.doorkeeper.jp/events/65784 * https://sitoolkit.connpass.com/event/68422/
テレコミュニケーションを支援してみよう
テレコミュニケーションを支援してみよう
奈良先端大 情報科学研究科
近年、インターネットの発達により顔画像を利用したZOOMやSkypeによるテレコミュニケーションが一般的になってきました。本実習では、このテレコミュニケーションを支援する機能を実装します。例えば、ジェスチャによって写真を撮影し、その写真を相手に送信する機能だったり、顔表情認識によってメッセージを送信する機能などがあります。1日目は、基本的な開発手順について学び、サンプルプログラムの動作を確認したり、アイデア出しを行います。2日目は自身の興味やスキルに合わせて、インストラクタと相談しながら深層学習を用いた表情認識やジェスチャ認識にチャレンジしたり、自由に機能を追加していきます。3日目は完成させた各機能に関してインストラクタや他の参加者の前でプレゼンをします。いろんな機能を考えてみてください。顔認識モジュールとして、M5Stick Vを郵送しますので適宜オンラインで質問などを受け付けながら進めていく予定です。M5Stick Vはセミナー終了後に大学へと返送いただきます
マイコンと機械学習を使って行動認識システムを作ろう
マイコンと機械学習を使って行動認識システムを作ろう
奈良先端大 情報科学研究科
コンピュータやセンサの小型化が進み、生活の中へと多くのシステムが導入され、人々を支えています。システムでは、センサから人々の行動に関するデータが取得され、コンピュータがそのデータを分析しています。本実習では、マイコン(M5Stack)とセンサ(加速度、ジャイロなど)を用いて、「センシング→行動認識」の流れを体験してもらいます。どのような行動をどのような手法(機械学習など)により認識するかについてアイデアを出すところから始めていただき、実装するまでをチャレンジしていただきます。オンライン参加の場合、マイコンとして、M5Stack Grayを郵送しますので適宜オンラインで質問などを受け付けながら進めていく予定です。M5Stack Grayはセミナー終了後に大学へと返送いただきます。
More Related Content
Similar to コードレビューを通じて行われるコーディングスタイル修正の分析
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
Developers Summit
20110909 品質シンポジウム2011発表資料
20110909 品質シンポジウム2011発表資料
Kenichiro Nakajima
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
Kotaro Ogino
ソフトウェア品質シンポジウム2014での経験発表のスライドです。 http://www.juse.jp/sqip/symposium/detail/day1/#session_A1-3 10/09追記:ブログ記事書きました http://kokotatata.hatenablog.com/entry/2014/10/08/111353 (色の表示がslideshare上で少し変になってますので、ダウンロードした方がよいかもしれません。) JaSSTではシステムテストを自動化するとバグ修正日数が改善するというメリットについてお話ししました。 http://www.slideshare.net/kotaroogino/jasst14-tokyo SQiPではメトリクスを分析する事で、テストの自動化にはどういった課題があるか問題提起を行ったり、我々が行っている改善の施策を客観的にお話ししました。
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Hironori Washizaki
鷲崎弘宜, SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
Yusuke Suzuki
2012年12月15日に開催されたDevLOVE2012での「どうしたら良いシステムが作れるのか - あなたが進むべき道を決めるためのアーキテクチャとマネジメントの話」の資料です。
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
n-yuki
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
Keizo Tatsumi
2015年2月9日に開催されたSQuBOKガイド第2版発行記念講演会 http://www.juse-sqip.jp/squbok/guide/index.html#v2koenkai のクロージングご挨拶に代えて発表した資料。
Project Management Plan Sample Creative Content Lab Tokyo
Project Management Plan Sample Creative Content Lab Tokyo
CreativeContentLabTo
Project Management Plan Sample Creative Content Lab Tokyo
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態
Hironori Washizaki
鷲崎弘宜, "メトリクスによるソフトウェア品質評価・改善および製品品質実態", ET & IoT Technology 2018 (ET/IoT総合技術展), 横浜, 2018年11月14日
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Hironori Washizaki
Samurai Coding 2011を中心として、これまでに様々なゲームAIプログラミングコンテストを開催し成功を収めてきました。その実績に基づいて、コンテスト参加者の提出プログラムによりキャラクタ群を対戦させるゲームプラットフォームの設計と実装に共通する設計原則、アーキテクチャおよびそれらを具体化したフレームワークを解説します。さらに、そのようなコンテストにおけるゲーム内容のデザインに関する有用で再利用可能な知見を、10個のゲームデザインパターンとしてまとめあげて説明します。これらの原則やフレームワークおよびパターンを、類似のコンテスト開催やゲームデザインに再利用することで、その実施を効率的かつ効果的に進められることが期待できます。https://cedil.cesa.or.jp/cedil_sessions/view/933
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
Shingo Sasaki
Tech Stand #6 TypeScript https://standfm.connpass.com/event/229027/
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
QlikPresalesJapan
2021年9月7日開催のQlikテックトーク「SnowflakeとQlik Senseで実践!ビッグデータ分析のベストプラクティス」の資料です。
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
Keizo Tatsumi
2020年12月10日にオンラインで開催されたSQuBOK V3発行記念イベントで講演した資料です。
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
Toshiyuki Kawanishi
DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]
智治 長沢
Developers.IO 2015 Developer Day でのセッション資料です。
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
Keizo Tatsumi
ソフトウェアテストシンポジウム JaSST`15 TokyoのASTER国際連携活動報告セションで発表した資料です。
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
Tetsuya Kouno
SESワークショップで発表した資料 http://ses.sigse.jp/2018/workshop.html#ws3
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
Yusuke Oi
「クラウド時代にこそ求められるIT部門の役割 ~サービスカタログによるITサービス提供~」というタイトルで、2015年10月から継続的に実施しているセミナーの資料です。
ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程
Toru Tamaki
ソフトウェア工学2023
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
yuichi_kuwahara
2017/10/22の勉強会で使用した資料です。 * https://sitoolkit.doorkeeper.jp/events/65784 * https://sitoolkit.connpass.com/event/68422/
Similar to コードレビューを通じて行われるコーディングスタイル修正の分析
(20)
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
【18-B-4】ソースコード品質、大丈夫ですか? ~静的検証のススメ~
20110909 品質シンポジウム2011発表資料
20110909 品質シンポジウム2011発表資料
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
SWEBOKにみるソフトウェアエンジニアリングの全体、および、 つながる時代のソフトウェアモデリング&品質
Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
2010 電子情報通信学会論文誌-要求変更によるソースコードへのインパクトを分析するシステムの開発と評価
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
Project Management Plan Sample Creative Content Lab Tokyo
Project Management Plan Sample Creative Content Lab Tokyo
メトリクスによるソフトウェア品質評価・改善および製品品質実態
メトリクスによるソフトウェア品質評価・改善および製品品質実態
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
Samurai CodingなどにみるゲームAIプログラミングコンテストのための原則とパターン
6万行の TypeScript 移行とその後
6万行の TypeScript 移行とその後
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
20210907 Qlik Tech Talk Snowflake with Qlik Best Practices
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
DevOps時代の開発環境と現場体験 [#cmdevio2015]
DevOps時代の開発環境と現場体験 [#cmdevio2015]
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
アジャイルソフトウェア開発におけるテスティングの課題およびその解決アプローチ
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
ソフトウェア工学2023 02 上流工程
ソフトウェア工学2023 02 上流工程
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
More from 奈良先端大 情報科学研究科
テレコミュニケーションを支援してみよう
テレコミュニケーションを支援してみよう
奈良先端大 情報科学研究科
近年、インターネットの発達により顔画像を利用したZOOMやSkypeによるテレコミュニケーションが一般的になってきました。本実習では、このテレコミュニケーションを支援する機能を実装します。例えば、ジェスチャによって写真を撮影し、その写真を相手に送信する機能だったり、顔表情認識によってメッセージを送信する機能などがあります。1日目は、基本的な開発手順について学び、サンプルプログラムの動作を確認したり、アイデア出しを行います。2日目は自身の興味やスキルに合わせて、インストラクタと相談しながら深層学習を用いた表情認識やジェスチャ認識にチャレンジしたり、自由に機能を追加していきます。3日目は完成させた各機能に関してインストラクタや他の参加者の前でプレゼンをします。いろんな機能を考えてみてください。顔認識モジュールとして、M5Stick Vを郵送しますので適宜オンラインで質問などを受け付けながら進めていく予定です。M5Stick Vはセミナー終了後に大学へと返送いただきます
マイコンと機械学習を使って行動認識システムを作ろう
マイコンと機械学習を使って行動認識システムを作ろう
奈良先端大 情報科学研究科
コンピュータやセンサの小型化が進み、生活の中へと多くのシステムが導入され、人々を支えています。システムでは、センサから人々の行動に関するデータが取得され、コンピュータがそのデータを分析しています。本実習では、マイコン(M5Stack)とセンサ(加速度、ジャイロなど)を用いて、「センシング→行動認識」の流れを体験してもらいます。どのような行動をどのような手法(機械学習など)により認識するかについてアイデアを出すところから始めていただき、実装するまでをチャレンジしていただきます。オンライン参加の場合、マイコンとして、M5Stack Grayを郵送しますので適宜オンラインで質問などを受け付けながら進めていく予定です。M5Stack Grayはセミナー終了後に大学へと返送いただきます。
5G時代を支えるNFVによるネットワーク最適設計
5G時代を支えるNFVによるネットワーク最適設計
奈良先端大 情報科学研究科
現在,携帯電話やインターネットなど通信サービスは私達にとって欠かすことのできない社会基盤となっています.一方で,利用者数の増加やネットワークサービスの多様化に伴い,サービスを支えるネットワークの複雑化・高コスト化が大きな課題となっています.このような課題を解決可能な新たなフレームワークとして,ネットワーク機能仮想化(Network Functions Virtualization: NFV)技術に注目が集まっています.NFVでは,従来,専用の機器で実現していたネットワークの機能(ファイアウォール(FW),Network Address Translation (NAT),負荷分散など)を汎用サーバ上でソフトウェアとして実現することで,導入・運用のコストを軽減するだけでなく,ユーザからの要求に応じて柔軟かつ動的にネットワークを設計することが可能となります.特に,任意のネットワークサービスは複数のネットワーク機能の列(サービスチェイン)として表現することができます.本テーマでは,サービスチェインを実現するサービスパスの最適設計問題に対し,PythonとPuLPを用いて取り組むことを想定しています.
21.Raspberry Piを用いたIoTアプリの開発
21.Raspberry Piを用いたIoTアプリの開発
奈良先端大 情報科学研究科
モノのインターネット(IoT)は,インターネットを介して様々なモノ(人,センサー,スマホなど)同士の情報交換を可能にし、e-ヘルスやスマートホームなど幅広い重要なアプリケーションの基本的なアーキテクチャになっています。本実習では、Raspberry Piと温度や湿度などの様々のセンサーを用いて、簡単なIoTアプリを作成します。
20. 地理ビッグデータ利活用: リスク予測型自動避難誘導,地理的リスク分析
20. 地理ビッグデータ利活用: リスク予測型自動避難誘導,地理的リスク分析
奈良先端大 情報科学研究科
地震によって道路が閉塞する確率や平常時の道路需要など,道路ネットワークに関する地理ビッグデータの整備が進められています.こうした地理ビッグデータが,避難誘導方式や地理的リスク分析にどのように利活用できるかを実習を通して体験してもらいます.
11.実装の脆弱性を利用して強力な暗号を解読してみよう!
11.実装の脆弱性を利用して強力な暗号を解読してみよう!
奈良先端大 情報科学研究科
暗号モジュールの動作中に生じる消費電力や放射電磁波といった本来の入出力以外の情報(サイドチャネル情報)を観察することで秘密鍵を奪うサイドチャネル攻撃が新たな脅威として注目を集めています。本セミナーでは、暗号アルゴリズムをソフトウェア及びハードウェア実装し、暗号処理の動作中に生じるサイドチャネル情報を実際に計測し、それを用いて暗号を解読する手法について学ぶと共に、こうした攻撃に対抗するための対策手法についての基本概念を学びます。
8. ミニ・スーパコンピュータを自作しよう!
8. ミニ・スーパコンピュータを自作しよう!
奈良先端大 情報科学研究科
スーパコンピュータは,天気予報,新薬開発,人工知能の研究開発等に不可欠な大規模計算を可能にする高性能な計算機です.本セミナーでは,実際のスーパコンピュータが採用しているソフトウェア群を用い,複数台の小型PCを相互接続した小規模な計算クラスタを構築します.構築したクラスタ上で並列分散計算を行うアプリケーションを実行し,スーパコンピュータの仕組みを理解します.
16. マイコンと機械学習を使って行動認識システムを作ろう
16. マイコンと機械学習を使って行動認識システムを作ろう
奈良先端大 情報科学研究科
コンピュータやセンサの小型化が進み、生活の中へと多くのシステムが導入され、人々を支えています。システムでは、センサから人々の行動に関するデータが取得され、コンピュータがそのデータを分析し、人々のサポートを行うアクチュエーションを行っています。本実習では、マイコン(Arduino, ESP32, M5Stackなど)とセンサ(加速度、ジャイロなど)を用いて、「センシング→行動認識→アクチュエーション」の流れを体験してもらいます。どのようなセンサを使い、どのような行動をどのような手法(機械学習など)により認識し、どのようなアクチュエーションをするかについてアイデアを出すところから始めていただき、実装するまでをチャレンジしていただきます。1日目はマイコンの基本的な利用方法について学び、アイデア出しを開始、2日目はインストラクタのサポートを受けながら自由にシステムを実装していただきます。3日目も参加希望の人は引き続き実装していただけます。
15. テレイグジスタンスシステムを制作してみよう
15. テレイグジスタンスシステムを制作してみよう
奈良先端大 情報科学研究科
近年、インターネットの発達により顔画像を利用したSkypeやFaceTimeによるテレコミュニケーションが一般的になってきました。この顔画像だけのテレコミュニケーションを発達させ、遠く離れた場所にあるロボットやシステムをネットを介して遠隔操作し、何らかの作業を行うことをテレイグジスタンスといいます。本実習ではその入門として、カメラを搭載した遠隔操作可能なロボットに様々な機能や役割を追加したテレイグジスタンスシステムを制作します。最終的に、遠隔作業用・遠隔コミュニケーション向けテレイグジスタンスになるかはあなたのアイデア次第です。1日目は簡単なテレイグジスタンスシステムの構成方法について学び、あたらしいテレイグジスタンスのアイデア出しを開始、2日目はインストラクタのサポートを受けながら自由にシステムを実装していただきます。3日目も参加希望の人は引き続き実装していただけます。
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
奈良先端大 情報科学研究科
近年、科学技術の力で人間の能力をパワーアップする人間拡張という研究分野が盛んになっています。本実習ではその入門として、ステレオカメラの映像を加工してHMDを通して見ることで、周囲の見え方が様々に変化する視覚拡張システムを制作します。1日目は基本的な画像処理について学び、2日目はインストラクタと相談しながら自由にシステムを改良していきます。自身の興味やスキルに合わせて、360°カメラや距離センサ、ジェスチャ入力装置、視線検出装置などを用いたり、シェーダや深層学習を用いたリアルタイム画像変換などにチャレンジすることもできます。どのように便利な見え方、あるいは楽しい見え方をするかはあなたのアイデア次第です。意欲のある人はさらに3日目に参加するのもOKです。
19. 生物に学ぶ人工知能とロボット制御
19. 生物に学ぶ人工知能とロボット制御
奈良先端大 情報科学研究科
今話題の人工知能やロボットですが、生物に倣っている面が多々あります.そういった生物の巧みさ・柔軟さに学んだ手法を学習します.実習では、人工知能の1つである強化学習を使ったロボット運動制御に挑戦します.このセミナーを通じて、生物の凄さ・ロボットの可能性を肌で感じてもらいます.
13. SDRで学ぶ無線通信
13. SDRで学ぶ無線通信
奈良先端大 情報科学研究科
ソフトウェア無線を使用してディジタル無線通信システムを実装します。
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
奈良先端大 情報科学研究科
最近の映画やゲームで見られるコンピュータグラフィクスによる映像は、技術の進歩に伴い、まるで実写と見分けが付かなくなってきています. このような映像のことをフォトリアリスティック(写実的)なコンピュータグラフィクスと呼びます. この写実性を実現するには、コンピュータグラフィクスで描こうとする物体の特性を、コンピュータビジョン技術を駆使して獲得することが有効です. このテーマでは、本物らしさ獲得するためのコンピュータビジョン技術と、本物らしさを実現するコンピュータグラフィクス技術に関して、実験を通じて学び、体験してもらいます.
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
奈良先端大 情報科学研究科
拡張現実感技術を用いた多くのソフトウェアが普及しているが、現状そのほとんどはゲーム応用に限られている。本テーマでは、カメラや各種センサにより、ユーザの現在の行動・状態をセンシングし、それに応じて、役に立つ情報を提示するシステムを開発する。それを通じて、人をセンシングする技術や、ヘッドマウントディスプレイ型、プロジェクション型拡張現実感技術により現実世界に情報を重畳表示する技術の基礎を学ぶ。
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
奈良先端大 情報科学研究科
様々な対話ロボットが開発されているが、対話の魅力の低さなどから継続的な利用に至っていない。日常的に継続利用される対話ロボットを目的として、物理的な身体性持つロボットおよび、タブレット・スマートフォンやAR環境で動作するバーチャルロボットを対象に、人センシング、対話内容生成、拡張現実感(AR)、インタラクション技術を活用し、対話意欲を向上するコミュニケーションロボットの開発を実施する。
9. マイコンと機械学習を使って行動認識システムを作ろう
9. マイコンと機械学習を使って行動認識システムを作ろう
奈良先端大 情報科学研究科
コンピュータやセンサの小型化が進み、生活の中へと多くのシステムが導入され、人々を支えています。システムでは、センサから人々の行動に関するデータが取得され、コンピュータがそのデータを分析し、人々のサポートを行うアクチュエーションを行っています。本実習では、マイコン(Arduino, ESP32, M5Stackなど)とセンサ(加速度、ジャイロなど)を用いて、「センシング→行動認識→アクチュエーション」の流れを体験してもらいます。どのようなセンサを使い、どのような行動をどのような手法(機械学習など)により認識し、どのようなアクチュエーションをするかについてアイデアを出すところから始めていただき、実装するまでをチャレンジしていただきます。1日目はマイコンの基本的な利用方法について学び、アイデア出しを開始、2日目はインストラクタのサポートを受けながら自由にシステムを実装していただきます。3日目も参加希望の人は引き続き実装していただけます。
6. 生物に学ぶ人工知能とロボット制御
6. 生物に学ぶ人工知能とロボット制御
奈良先端大 情報科学研究科
今話題の人工知能やロボットですが、生物に倣っている面が多々あります.そういった生物の巧みさ・柔軟さに学んだ手法を学習します.実習では、人工知能の1つである強化学習を使ったロボット運動制御に挑戦します.このセミナーを通じて、生物の凄さ・ロボットの可能性を肌で感じてもらいます.
14. モバイルエージェントによる並列分散学習システムの構築
14. モバイルエージェントによる並列分散学習システムの構築
奈良先端大 情報科学研究科
モバイルエージェントは、ネットワークに接続されたコンピュータ間を移動しながら処理を実行するプログラムです。また、機械学習が近年注目されており、本実習では開発プラットフォームやライブラリを用いて、モバイルエージェントによる並列分散学習システムを構築します。システムの構築にはRaspberry Piなども用い、モバイルエージェントによる学習やネットワーク経由での動作・移動の様子を確認します。
17. 100台の小型ロボットを協調させよう
17. 100台の小型ロボットを協調させよう
奈良先端大 情報科学研究科
インターネットをはじめとして、世の中のほとんどのシステムは、多数のコンピュータが協調動作する分散システムです。本セミナーでは、100台の小型ロボット(kilobot)を協調動作させることで、分散システムにおけるアルゴリズムの設計を体験してもらいます。
5. ミニ・スーパコンピュータを自作しよう!
5. ミニ・スーパコンピュータを自作しよう!
奈良先端大 情報科学研究科
本セミナーでは、実際の大規模なスーパコンピュータが採用しているソフトウェア群を用い、複数台の小型PC (Raspberry Pi) を相互接続した小規模な計算クラスタを構築します。構築したクラスタ上で並列分散計算を行うアプリケーションを実行し、スーパコンピュータの仕組みを理解します。
More from 奈良先端大 情報科学研究科
(20)
テレコミュニケーションを支援してみよう
テレコミュニケーションを支援してみよう
マイコンと機械学習を使って行動認識システムを作ろう
マイコンと機械学習を使って行動認識システムを作ろう
5G時代を支えるNFVによるネットワーク最適設計
5G時代を支えるNFVによるネットワーク最適設計
21.Raspberry Piを用いたIoTアプリの開発
21.Raspberry Piを用いたIoTアプリの開発
20. 地理ビッグデータ利活用: リスク予測型自動避難誘導,地理的リスク分析
20. 地理ビッグデータ利活用: リスク予測型自動避難誘導,地理的リスク分析
11.実装の脆弱性を利用して強力な暗号を解読してみよう!
11.実装の脆弱性を利用して強力な暗号を解読してみよう!
8. ミニ・スーパコンピュータを自作しよう!
8. ミニ・スーパコンピュータを自作しよう!
16. マイコンと機械学習を使って行動認識システムを作ろう
16. マイコンと機械学習を使って行動認識システムを作ろう
15. テレイグジスタンスシステムを制作してみよう
15. テレイグジスタンスシステムを制作してみよう
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
14. ビデオシースルーHMDで視覚拡張の世界を体感しよう
19. 生物に学ぶ人工知能とロボット制御
19. 生物に学ぶ人工知能とロボット制御
13. SDRで学ぶ無線通信
13. SDRで学ぶ無線通信
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
18. 計測に基づいた写実的なコンピュータグラフィクスの生成法
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
21. 人の動作・行動センシングに基づく拡張現実感システムの開発
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
20. 友好的関係を構築する人と対話ロボットのコミュニケーション技術開発
9. マイコンと機械学習を使って行動認識システムを作ろう
9. マイコンと機械学習を使って行動認識システムを作ろう
6. 生物に学ぶ人工知能とロボット制御
6. 生物に学ぶ人工知能とロボット制御
14. モバイルエージェントによる並列分散学習システムの構築
14. モバイルエージェントによる並列分散学習システムの構築
17. 100台の小型ロボットを協調させよう
17. 100台の小型ロボットを協調させよう
5. ミニ・スーパコンピュータを自作しよう!
5. ミニ・スーパコンピュータを自作しよう!
コードレビューを通じて行われるコーディングスタイル修正の分析
1.
コードレビューを通じて行われる コーディングスタイル修正の分析 上田 裕己1,伊原 彰紀2,石尾
隆1 ,松本 健一1 1奈良先端科学技術大学院大学 2和歌山大学 第25回 ソフトウェア工学の基礎ワークショップ FOSE2018
2.
発表のあらまし • 背景:コードレビュープロセスとスタイル修正 • 分析:
レビューでのスタイル修正の調査 RQ1: 変更の分布・内容 RQ2: ツールによる修正効率 • 自動修正に向けた修正事例の収集 2
3.
背景: コードレビューのプロセス 開発者 レビューア 3 投稿 プロジェクト -
i=key + i=dic[“key”] パッチ
4.
背景: コードレビューのプロセス 開発者 レビューア 4 投稿 プロジェクト もう少しよくなりそう です 検証・修正提案 -
i=key + i=dic[“key”] パッチ
5.
背景: コードレビューのプロセス 開発者 レビューア 5 投稿 プロジェクト OK! 適用 -
i=key + i=dic[“key”] 検証・修正提案 - i=key + i=dic.get(“key”) パッチ パッチ
6.
問題: レビューア 一人あたりが 週に6時間を消費する 開発者
レビューア 6 投稿 プロジェクト 適用 - i=key + i=dic[“key”] 検証・修正提案 - i=key + i=dic.get(“key”) レビューア一人あたりが週に6時間を消費する パッチ パッチ 検証・修正提案 検証・修正提案
7.
最終目標:コスト削減のため レビュー投稿前に修正 7 開発者 レビューア投稿 修正修正ツール -
i=key + i=dic[“key”] - i=key + i=dic.get(“key”)
8.
動作に影響しない(スタイル等)修正が コードレビューで重要 Microsoftが従業員873人にコードレビューの目的をイン タビュー, レビューコメントから分析[1] 8 [1] Alberto
Bacchelli and Christian Bird. Expectations, outcomes, and challenges of modern code review. In Proc. ICSE’13, pp. 712–721
9.
発表内容: 自動スタイル修正に向けて 9 スタイル修正の 内容理解 スタイル修正事例 の収集 自動スタイル修正 RQ1, 2 最終目標 追加分析
10.
分析アプローチ: レビューを通した修正内容の理解 開発者 レビューア 10 投稿 プロジェクト 適用 検証・修正提案 -
i=key + i=dic[“key”] - i=key + i=dic.get(“key”) RQ1:スタイルの問題はどの程度検出されるか? RQ2:静的解析ツールを用いることでスタイルの 問題をコードレビュー投稿前に検出可能か?
11.
分析対象: レビューを通したパッチ修正差分 開発者 レビューア 11 投稿 プロジェクト 適用 検証・修正提案 投稿直後と適用時 のパッチペア差分 -
i=key + i=dic[“key”] - i=key + i=dic.get(“key”) - i=dic[“key”] + i=dic.get(“key”)
12.
スタイル変更分類手法 パッチペア(変更内容)の差分から 変更チャンクを分類 12 - if i␣==␣0: +
if i==0: break - elif i == 1: - continue + elif j == 1: + return - if i␣==␣0: + if i==0: - elif i == 1: - continue + elif j == 1: + return パッチペアの差分 1チャンク 1チャンク
13.
スタイル変更分類手法 13 スタイル変更? Yes No Yes No - if i␣==␣0: +
if i==0: break - elif i == 1: - continue + elif j == 1: + return - if i␣==␣0: + if i==0: - elif i == 1: - continue + elif j == 1: + return パッチペアの差分 1チャンク 1チャンク パッチペア(変更内容)の差分から 変更チャンクを分類
14.
対象データセット 14 プロジェクト OpenStack 開発言語 Python3 期間
2011-2013 # パッチ数 173,749 件 # 対象パッチ数 382 件 # 対象チャンク数 981 件 静的解析ツール Pylint
15.
RQ1: スタイルの問題はどの程度検出 されるか? 15 変更チャンク981件 機能に影響のある修正 52.0% (510件) スタイル修正 48.0%
(471件)
16.
RQ1: スタイルの問題はどの程度検出 されるか? 16 変更チャンク981件 機能に影響のある修正 52.0% (510件) スタイル修正 48.0%
(471件) コードの改善が重要という 開発者の感覚は正しかった
17.
RQ1: スタイルの問題はどの程度検出 されるか? 17 文 字 列 の 修 正 動作に影響しない インデント (タブ) 164件 空 白 削 除 変更チャンク981件 その他 241件 機能に影響のある修正 52.0% (510件) スタイル修正 48.0%
(471件) 使 用 変 数 変 更
18.
RQ1: スタイルの問題はどの程度検出 されるか? 18 機能に影響のある修正 52.0% (510件) スタイル修正 48.0%
(471件) 変更チャンク981件 約半数がスタイル修正 一部は現状の自動修正が困難 文 字 列 の 修 正 動作に影響しない インデント (タブ) 164件 空 白 削 除 その他 241件 使 用 変 数 変 更
19.
分析アプローチ: スタイル修正の内容を調査 19 修正 981件 スタイル修正 471件 •
RQ1:スタイルの問題はどの程度検出されるか? 約半数がスタイル修正(一部は自動修正が困難)
20.
分析アプローチ: スタイル修正の内容を調査 20 スタイル修正 471件 検出可能な スタイル修正 ???件 • RQ1:スタイルの問題はどの程度検出されるか? •
RQ2:静的解析ツールを用いることでスタイルの問題 をコードレビュー投稿前に検出可能か?
21.
スタイル修正の現状: ツールによって一部自動検出可能 21 FOO=0 print(“var = ”
+ FOO) foo␣=␣0 print(“var =”, foo) 自動検出可能な例: • 命名規則違反 • 空白の過不足 • 文字列のフォーマット Pythonではpylint, pep8などが既存のルール違反を検出
22.
スタイル修正の現状: 開発者の経験が必要な修正が存在 22 - i=dic[“key”] +
i=dic.get(“key”) 修正目的:存在しない辞書アクセスに対して エラーではなくNoneを返す - assertEqual(x,None) 修正目的:可読性の向上とカスタムクラスへの対応 + assertIsNone(x)
23.
分析アプローチ: スタイル修正の内容を調査 23 • RQ1:スタイルの問題はどの程度検出されるか? • RQ2:静的解析ツールを用いることでスタイルの問題 をコードレビュー投稿前に検出可能か? 修正
981件 スタイル修正 471件 検出可能な スタイル修正 132件
24.
分析アプローチ: スタイル修正の内容を調査 24 • RQ1:スタイルの問題はどの程度検出されるか? • RQ2:静的解析ツールを用いることでスタイルの問題 をコードレビュー投稿前に検出可能か? 修正
981件 スタイル修正 471件 検出可能な スタイル修正 132件 開発者にツール利用を促すことで 13%は検証コストを削減できる
25.
頻繁に出現した 検出可能なスタイル修正 25 Missing-docstring (コメントがないクラス,関数) Invalid-name(命名規則違反) Bad-continuation(読みにくいインデント) - FOO
= 0 - smallCase = 1 + foo = 0 + small_case = 1 - if foo > 0 and - foo < 1: + if foo > 0 and + ␣␣␣␣foo < 1:
26.
追加分析: 自動化,学習のための スタイル修正事例収集 26 スタイル修正の 内容理解 スタイル修正事例 の収集 自動スタイル修正 RQ1, 2 最終目標 追加分析
27.
編集距離を利用した スタイル修正事例の収集 • 仮定:編集距離が短いものはスタイル修正 27 編集距離が1以下の修正のうち89%は スタイル修正 編集距離=1 編集距離=2 - if␣(i␣==␣0){ + { -
if (i == 0){ + if (j == 0){ - if (i == 0){ + if (j == 1){ 編集距離=0 (空白,改行のみ)
28.
変更トークンごとの編集距離 28 print(“String”) if (i
== 0){ 文字列リテラル 識別子 数字リテラル 記号 編集距離=1 編集距離=2 if (i == 0){ if (i == 0){ - if␣(i␣==␣0){ + ␣␣if(i==0)n { - if (i == 0){ + if (j == 0){ - if (i == 0){ + if (j == 1){ 変更トークン 編集距離 編集距離=0 (空白,改行のみ)
29.
スタイル修正の収集精度 29 編集距離が3以下の変更を スタイル修正として収集可能 精度 0.89 再現率 0.62 F値
0.73 • 文字列リテラルの変更 • 編集距離 ≦ 1 精度 0.47 再現率 0.28 F値 0.35 精度 0.71 再現率 0.75 F値 0.73 • 編集距離 ≦ 3
30.
スタイル修正を活用した今後の展望 • スタイル修正の修正パターンの検出 30 - self.assertEquals(x,
y) + self.assertEqual(x, y) • 自動スタイル修正 開発者 レビューア投稿 修正修正ツール 例:Pythonのバージョン更新による仕様変化
31.
まとめ 31
Download now