狠狠撸
Submit Search
ICSE 2017 勉強会 To Type or Not to Type: Quantifying Detectable Bugs in JavaScript
Feb 12, 2019
Download as PPTX, PDF
0 likes
33 views
Ko Miyake
ICSE 2017 勉強会にて発表した際の資料 https://sites.google.com/site/sereadings/icse2017-reading
Read less
Read more
1 of 4
Download now
Download to read offline
Recommended
前期讲座08
前期讲座08
Takenori Nakagawa
?
北海道工业大学电子计算机研究部ネットワークチーム 前期讲座资料08
One ASP.NET の今とこれから
One ASP.NET の今とこれから
Akira Inoue
?
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
?
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
Akira Inoue
?
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
linq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
?
LT - linq.js http://linqjs.codeplex.com/
要求分析20080824迟
要求分析20080824迟
Wataru ONO
?
颁补苍惫补蝉勉强会
颁补苍惫补蝉勉强会
Tsutomu Kawamura
?
https://www.facebook.com/events/274780085953298/
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
TypeScript 0.8.3 対応版です。
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
?
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
?
本来JavaScriptにコンパイルなどのビルドは必須ではありませんが、 いまどきのJavaScriptアプリではビルドが重要です。 代謝の激しいフロントエンドを反映し、JSビルドの世界も盛り上がっています。 このチャートはビルドの現状を追うことでJSの現状をとらえることを目的にしています。
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Osamu Monoe
?
第4回html5j-Webフラットフォーム部ナイトセミナー 「HTML5デバイスAPI 勉強会」の私の登壇で使用した資料です。 デモと口頭での説明がメインなので、あんまりスライドに意味はないかもです。
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
Developers Summit
?
DevelopersSummit2013Kansai(2013/9/20神戸)での登壇資料です。 (概要)「キミに不満はないが、キミのコードが不安だ。」 わたしたちの生活に密接なソフトウェアは、その品質によっては、ときに重大な問題をユーザにもたらすことも事実です。ソフトウェアの品質といえば、ISO/IEC9126で品質特性が定義されていますが、オープン?ソースやサードパーティコード、アウトソースにより開発されたコードすべての品質を人手で評価するのは困難に思えます。拡大するソフトウェア?サプライチェーンの中でこの不安を軽減する、コベリティのデベロップメントテスティングとそのエコシステムについて共有させていただきたいと思います。
【厂罢础颁2017】テスト自动化システム 成长记
【厂罢础颁2017】テスト自动化システム 成长记
友隆 浅黄
?
システムテスト自動化カンファレンス 2017 テスト自動化システム 成長記 継続的に運用する為に何をしてきたか?
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
2018年12月7日(金)に開催された「GrapeCity Web TECH FORUM 2018」より、グレープシティ株式会社 ツール事業部 プロダクトマーケティングマネージャー 村上功光のセッション資料です。
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
隆行 神戸
?
テストツールの濫用(?)例の紹介 中心となるツール: JMeter Webでしか設定できないサーバの設定を自動化する(IaaC化) 対象: Openfire(XMPPサーバ) 自動化手段: Chef+Vagrant、そしてJMeter
大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话
terurou
?
ギョームの话です
More Related Content
Similar to ICSE 2017 勉強会 To Type or Not to Type: Quantifying Detectable Bugs in JavaScript
(9)
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
TypeScript 0.8.3 対応版です。
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
?
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
?
本来JavaScriptにコンパイルなどのビルドは必須ではありませんが、 いまどきのJavaScriptアプリではビルドが重要です。 代謝の激しいフロントエンドを反映し、JSビルドの世界も盛り上がっています。 このチャートはビルドの現状を追うことでJSの現状をとらえることを目的にしています。
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Osamu Monoe
?
第4回html5j-Webフラットフォーム部ナイトセミナー 「HTML5デバイスAPI 勉強会」の私の登壇で使用した資料です。 デモと口頭での説明がメインなので、あんまりスライドに意味はないかもです。
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
Developers Summit
?
DevelopersSummit2013Kansai(2013/9/20神戸)での登壇資料です。 (概要)「キミに不満はないが、キミのコードが不安だ。」 わたしたちの生活に密接なソフトウェアは、その品質によっては、ときに重大な問題をユーザにもたらすことも事実です。ソフトウェアの品質といえば、ISO/IEC9126で品質特性が定義されていますが、オープン?ソースやサードパーティコード、アウトソースにより開発されたコードすべての品質を人手で評価するのは困難に思えます。拡大するソフトウェア?サプライチェーンの中でこの不安を軽減する、コベリティのデベロップメントテスティングとそのエコシステムについて共有させていただきたいと思います。
【厂罢础颁2017】テスト自动化システム 成长记
【厂罢础颁2017】テスト自动化システム 成长记
友隆 浅黄
?
システムテスト自動化カンファレンス 2017 テスト自動化システム 成長記 継続的に運用する為に何をしてきたか?
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
2018年12月7日(金)に開催された「GrapeCity Web TECH FORUM 2018」より、グレープシティ株式会社 ツール事業部 プロダクトマーケティングマネージャー 村上功光のセッション資料です。
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
隆行 神戸
?
テストツールの濫用(?)例の紹介 中心となるツール: JMeter Webでしか設定できないサーバの設定を自動化する(IaaC化) 対象: Openfire(XMPPサーバ) 自動化手段: Chef+Vagrant、そしてJMeter
大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话
terurou
?
ギョームの话です
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue
?
20140517 knockoutjs hands-on
20140517 knockoutjs hands-on
Seiji Noro
?
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
キャッチアップJavaScriptビルド -ビルドから見るJSの今/2016春
Kondo Hitoshi
?
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Windows ストアアプリから使かえるセンサーAPIとデバイスAPI
Osamu Monoe
?
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
デブサミ関西2013【础4】コード品质は曖昧なままか(安竹由起夫氏)
Developers Summit
?
【厂罢础颁2017】テスト自动化システム 成长记
【厂罢础颁2017】テスト自动化システム 成长记
友隆 浅黄
?
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
[GrapeCity Web TECH FORUM 2018]グレープシティJavaScript製品のご紹介 活用のコツと開発のポイント
Developer Solutions事業部 メシウス株式会社 (旧グレープシティ株式会社)
?
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
闯惭别迟别谤を奥别产でしか设定できないサーバの设定自动化に使う
隆行 神戸
?
大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话
terurou
?
ICSE 2017 勉強会 To Type or Not to Type: Quantifying Detectable Bugs in JavaScript
1.
静的型システムがコード品質に与える影響を調べたい. そのため,バグを含むJavaScriptのコードに対して 静的型付けを行い,静的型チェッカーを実行し, エラー報告したバグの割合を調査した. 概要 ?JavaScriptに対する静的型付けはホットなトピック ?現実世界のバグに対する大規模な調査である ?静的,動的型システムの比較論文は珍しくない 所感 担当者: 三宅 皐
(mii@fse.cs.ritsumei.ac.jp) ICSE’17勉強会 (2017年8月24日) 24-2
2.
研究目的 function addNumbers(x, y)
{ return x + y; } console.log(addNumbers(3, “0”)); // print “30” 静的型システムによって,バグがどのくらいの割合で 開発者に報告されるのかを知りたい 動的型付け言語 JavaScript function addNumbers(x:number, y:number) { return x + y; } console.log(addNumbers(3, “0”)); // Error 静的型付け言語 Closure, TypeScript, Flow JavaScriptに対して,段階的に型付けできる静的型システムを用いて, バグを含むJavaScriptのコードに対して型付けし,型チェックを行う
3.
実験手法 Bug Identification Type Checking Manual Type Annotation Projects Issue Pages Commit
Logs Buggy Programs Annotated Programs no Detectable Bugs 著者ら3人が,バグレポート及び 修正プログラムを元に,修正された レキシカルスコープを特定 スコープ内で型付けを行う Issue Page c1 c2 c3 Buggy Program Commit Log Bug Fix! ① リファクタリング,機能強化等の バグ修正でないものは手動で除去 ② ③
4.
評価 GitHubにあるJavaScriptプロジェクトから, ランダムに400のバグを選択 Flow 0.30または,TypeScript
2.0を用いた結果, バグはどれだけエラー報告されるか ?FlowおよびTypeScriptの型チェックに よって,15%のバグを防ぐことができた ?型チェックで検出できなかったバグのうち, 55%は仕様の実装ミスに起因するエラー ?2番目に多かったのは,間違ったURLなど, 文字列の内容のミスによって発生するエラー (Fig. 6) (Fig. 7) Research Question: Weitzら[1]によって 文字列型に対する 型システムについて 研究が行われている [1] K Weitz et al. “A type system for format strings” ISSTA 2014
Editor's Notes
#2:
本研究では,静的型システムがコード品質に与える影響を調べます. 影響調査を行うため,バグを含むJavaScriptのコードに対して静的型付けを行い,静的型チェッカーを実行そ,エラー報告したバグの割合を調査します. 所感としては, ただ,研究テーマとしては,
#3:
まずはじめに,動的型付け言語としてJavaScriptという言語があり,この言語はWebアセンブリとして人気の言語です. この言語に対して静的型付けを行うための言語が幾つか存在します. このような言語の静的型システムを用いることによって,バグがどのくらいの割合で開発者に報告されるのかを調査します. 調査のために,JavaScriptに対して,段階的に型付けできる静的型システムを用いて,バグを含むJavaScriptのコードに対して型付けし,型チェックを行います.
#4:
調査を行うための実験は3つにわかれています. はじめに,Github上にあるJavaScriptで書かれたプロジェクトから,バグを集めてきます. バグ収集では,IssuePageとCommit Logを用いてバグを含むプログラムを特定します. 収集したバグを含むコードに対して,手動で型付けを行っていきます. そして,型付けを行ったプログラムに対して型チェックを行い,バグを報告するかどうかを確認します
#5:
評価では,静的型付け言語であるFlowとTypeScriptによって型付けした結果,バグはどれだけエラー報告されるかを確認しています. GitHub上にあるJavaScriptプロジェクトからランダムに400のバグを選択し,型付けを行った結果,15%のバグを型チェックによって発見することができました. また,型チェックによって検出できなかったバグのうち,55%は仕様の実装ミスに起因するエラーでした. また,2番めに多かったのは,間違ったURLや不正なSQLクエリ等の文字列の内容のミスによって起因するエラーでした. これはString型が静的型システムに対して不透明であることに起因しているのですが,これについてはWeitzらによって研究が進められているとのことでした.
Download