On-Demand Test Suite Reduction

Size: px
Start display at page:

Download "On-Demand Test Suite Reduction"

Transcription

1 make test-zesti: A Symbolic Execution Solution for Improving Regression Testing NTT ソフトウェアイノベーションセンタ丹野治門

2 目的と貢献 目的 ソフトウェアにおけるより多くのバグを見つけたい 現状の問題点 開発者が作るテスト ( 意味あるテスト, 高コスト ) 機械的に作るテスト ( 低コスト, 無意味なものが多い ) ( 例 ) パスカバレッジ向上を目指した Symbolic Execution 提案 開発者が作った ( 回帰テスト向け ) テストケースを種にして様々なバリエーションを生成 主な貢献点 OSS でしっかり評価, 未知のバグを発見 2

3 着眼点 Sensitive Operations の周辺を徹底的にテストするようにする Sensitive Operation = バグ混入しやすい箇所 具体例 : 配列へのアクセス int v[100]; void f(int x){ if(x > 99){ x = 99; } v[x] = 0; } 回帰テスト用テストケース ( 開発者が作成 ) TestCase01 x = 100 TestCase02 x = 50 この 2 つのテストケースでパスカバレッジ ( 分岐網羅 ) は 100% だが x = -1 のとき配列不正アクセスエラー Sensitive Operation 周辺はバグが存在する可能性が高い! 3

4 着眼点 Sensitive Operations の周辺を徹底的にテストするようにする Sensitive Operation = バグ混入しやすい箇所 具体例 : 配列へのアクセス int v[100]; void f(int x){ if(x > 99){ x = 99; } v[x] = 0; } 4 回帰テスト用テストケース ( 開発者が作成 ) TestCase01 x = 100 TestCase02 x = 50 提案手法 この 2 つのテストケースでパスカバレッジ ( 分岐網羅 ) は 100% だが x = -1 のとき配列不正アクセスエラー! TestCase03 x = -1

5 手法 テスト実行と同時に Symbolic Execution を実施 Symbolic Execution 結果 + 追加条件 で新規テスト生成 TestCase02 x = 50 提案手法によるテストケース生成の一例 int v[100]; void f(int x){ if(x > 99){ x = 99; } v[x] = 0; } Symbolic Execution 追加! 入力変数 : x = x0 パス条件 : not(x0 > 99) 境界値条件 x0 > 0 && x0 <100 テストケース生成 TestCase03 x = -1 5

6 評価 評価に用いた OSS(3 つ ) GNU Coreutils,libdwarf,readelf 評価結果 合計 58 件 ( うち,52 件は未知 ) のバグを検出 OSSコミュニティに報告, バグ改修も進んでいる 提案手法で発見した Coreutils のバグ一覧 Min Depth バグに到達するまでの 条件分岐 の数 6 通常の Symbolic Execution では時間がかかりすぎて発見しにくいバグ Paul Dan Marinescu and Cristian Cadar make test-zesti: A Symbolic Execution Solution for Improving Regression Testing ICSE2012. Table1 より

7 BALLERINA: Automatic Generation and Clustering of Efficient Random Unit Tests for Multithreaded Code NTT ソフトウェアイノベーションセンタ張暁晶

8 背景 目的 貢献 背景 マルチスレッドを用いるソースコードの単体試験は 手間がかかる テスト対象が持つオブジェクトを 複数のスレッドで触るような試験である このような単体試験を ランダム生成 する従来手法では 目的 生成された単体試験の実行が遅い並行性バグをうまく見つけられないバグじゃないのにバグだという誤報 (false alarm) が出る 並行性バグをうまく見つけられるような単体試験をランダム生成する 貢献 1. 並行性バグをうまく見つけられるような単体試験をランダム生成する手法を提案 2. 生成された単体試験でのfailureを 人手で点検する手間を軽減できる クラスタリング手法 も提案 3. 評価 : 実際のバグ検出による効果確認 8

9 手法概要 1 単体試験のランダム生成 : 2 つのスレッドのみ用意する それぞれが ランダムに選ばれたテスト対象のメソッドを 1 つだけ実行する 並行性バグにあたる確率を上げるために 上記のような シンプルな 並行コードを より複雑な シーケンシャルなランダム生成コードの後ろに追記する BALLERINA が生成した単体試験 シーケンシャルなランダム生成コード 既存手法 Randoop algorithm[1] を改造 並行実行する 2 つのスレッド Adrian Nistor et al. BALLERINA: Automatic Generation and Clustering of Efficient Random Unit Tests for Multithreaded Code, In Proc. of ICSE 2012, pp , Figure 2 より [1] C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball, Feedbackdirected random test generation, in ICSE,

10 手法概要 2 点検すべき failure を絞り込むクラスタリング手法 : Test Oracle として既存手法 linearizability[2] を採用しているので誤報が出る可能性がある 似たような バグレポートはたぶん 全部誤報か全部本物のバグかだろう バグレポートを下記 2 点によりクラスタリングする Failure 発生時に実行していたメソッド Failure の種類 評価では 1 個の本物のバグに対して 数百個の誤報が出る 非実用的 クラスタリングの導入後では誤報は 3~4 個にまで減った [2] S. Burckhardt, C. Dern, M. Musuvathi, and R. Tan, Line-Up: A complete and automatic linearizability checker, in PLDI,

11 評価 6 件の OSS に含まれる 14 個の本物のバグで評価 Groovy, JDK, JFreeChart, Apache Log4j, Apache Lucene, Apache Pool 提案手法は 既存ランダム生成手法より 2~10 倍速くバグを見つけた クラスタリング手法により 点検すべき failure の数を 4~8 倍減らした 未知のバグをさらに 3 件検出できた Apache Log4j, Apache Pool から 11

12 On-Demand Test Suite Reduction Dan University ( 株 )NTT データ技術開発本部朱峰錦司

13 背景 (1/2) 従来のテストケース削減手法は コードカバレッジを一定に保てれば減らしてよい というものが多い チョシャ 裁判長! コードカバレッジを保っていても バグ発見能力には疑いの余地があります! 13

14 背景 (2/2) 2 つの既存手法を試してみると 20% 以上の確率でバグ発見能力 6 割減 20% 以上の確率でバグ発見能力 4 割減 14 元論文 P.2 から抜粋

15 目的 バグ発見能力を一定に保ちながらテストケースを削減する手法の提案 全てのテストケースの集合 以下を満たす最小のテストケースの集合 バグ発見能力の低下は l% 以下 ( 統計学に頼るので ) 信頼度は c% テストケース削減によるバグ発見能力低下の実績データをもとに この集合を線形計画法で発見する! 15

16 手法概要 (1/2) 実績データの作成 既存のソフトウェアをもとに テストケースの削減とバグ発見能力の低下との相関を分析 信頼度は 90%,95%,99% の 3 パターンに決め打ち テストケース数を 4 から 2 に減らすと 99% の確率でバグ発見能力は ( 最高で ) 83.3% 減少してしまう 元論文 P.4 から抜粋 16

17 手法概要 (2/2) 線形計画法の適用 2 種類のモデル式を提案 local constraints に基づく式 あるテストケースの部分集合において q 行目のソースコードをカバーするケースがもともと p_j 個あった状態から q 個に減少した際に 全ての行個別で不等式が成り立たたないといけない ソースコード全体で成り立てばよい global constraints に基づく式 モデル式の簡易化 ( 省略 ) 元論文 P.5 から抜粋 過去の実績では テストケースを p_j 個から q 個に減らすとこれぐらい能力が落ちる 元論文 P.5 から抜粋 17

18 評価 3 つのシナリオで手法を評価 対象実績データ適用対象結果 1 8つのCプログラム 1つのプログラ ムの半分 プログラムの残り半分 全てのプログラムにおいて 2 つのモデル式の場合ともに 結果は妥当であった 2 1 つの Java プログラムの 3 リビジョン 前バージョン 後バージョン バージョン番号が近いほうがより 結果は妥当であった 3 7つのCプログラム 6プログラム 残り1プログラ ム global の場合のほうが削減効果は大きいが local の場合のほうがバグ発見能力が高い 他手法との比較 テストケース削減効果は少ないが バグ発見能力を維持したい場合は非常に効果的 18

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション ソフトウェア品質シンポジウム 15 継続的システムテストについての 理解を深めるための 開発とバグのメトリクスの分析 15/9/18 荻野恒太郎 kotaro.ogino@mail.rakuten.com Test Engineering Team Service Support Section Group Core Service Department http://www.rakuten.co.jp/

More information

スライド 1

スライド 1 #1 Automated Oracle Creation Support, or: How I Learned to Stop Worrying About Fault Propagation and Love Mutation Testing #2 Automating Test Automation #3 Stride: Search-Based Deterministic Replay in

More information

目次 ペトリネットの概要 適用事例

目次 ペトリネットの概要 適用事例 ペトリネットを利用した状態遷移テスト 和田浩一 東京エレクトロン SDC FA グループ 目次 ペトリネットの概要 適用事例 ペトリネットの概要 - ペトリネットとは ペトリネット (Petri Net) とは カール アダム ペトリが 1962 年に発表した離散分散システムを数学的に表現する手法である 視覚的で 数学的な離散事象システムをモデル化するツールの一つである ペトリネットの概要 - ペトリネットの表記と挙動

More information

Using VectorCAST/C++ with Test Driven Development

Using VectorCAST/C++ with Test Driven Development ホワイトペーパー V2.0 2018-01 目次 1 はじめに...3 2 従来型のソフトウェア開発...3 3 テスト主導型開発...4 4...5 5 TDD を可能にするテストオートメーションツールの主要機能...5 5.1 テストケースとソースコード間のトレーサビリティー...5 5.2 テストケースと要件間のトレーサビリティー...6 6 テスト主導型開発の例...7 2 1 はじめに 本書では

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

21 1 2 1 2

21 1 2 1 2 21 1 2 1 2 1 2 3 ( ) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 210 0.0 0.0 22 23 25 27 28 29 30 31 32 33 34 35 36 74 pp.4362003.10 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 141224 14 48 10

More information

スライド 1

スライド 1 SPI Japan 2013 in 東京 Software Product Line の実践 ~ テスト資産の構築 ~ 住友電工情報システム株式会社 QCD 改善推進部品質改善推進グループ服部悦子 2013.10.17 P.1/24 目次 1. テスト資産構築に至る背景 2. テスト資産の構築 ~ 自動テストの実現 ~ 3. 結果と評価 P.2/24 テスト資産構築に至る 背景 P.3/24 背景

More information

広報さがみはら第1242号

広報さがみはら第1242号 LINE UP 3 1 5 6 1 NO.1242 S A G A M I H A R A 1 1 1 16 16 1 6 1 6 1 6 1 1 1 1 1 11 1 1 1 1 1 1 6 1 6 1 1 1 1 1 1 1 1 11 1 1 16 1 1 1 6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 1 16 1 16 1 6 1 1 1 1 1 1

More information

はじめてのコンコリックテスト

はじめてのコンコリックテスト JaSST 15 Tokai はじめてのコンコリックテスト ~ 基本原理から知るホワイトボックステストの新技術とその応用 ~ 2015 年 11 月 6 日植月啓次 はじめに コンピュータの処理能力の飛躍的な向上により プログラムコードにたいする解析技術は大きく進化しています 近年 実用段階に入り盛り上がりを見せている解析技術およびその応用技術が コンコリックテスト (Concolic Test)

More information

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを メトリクス利用によるリファクタリング対象の自動抽出 ローランドディー. ジー. 株式会社 第 4 開発部 SC02 小林光一 e-mail:kouichi.kobayashi@rolanddg.co.jp 2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

人工知能入門

人工知能入門 藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する

More information

A Bit flipping Reduction Method for Pseudo-random Patterns Using Don’t Care Identification on BAST Architecture

A Bit flipping Reduction Method for Pseudo-random Patterns Using Don’t Care Identification  on BAST Architecture 29 年 2 月 4 日日本大学大学院生産工学研究科数理情報工学専攻修士論文発表会 BAST アーキテクチャにおけるランダムパターンレジスタント故障ドントケア抽出を用いた擬似ランダムパターンのビット反転数削減法に関する研究 日本大学院生産工学研究科数理情報工学専攻万玲玲 背景 概要 BAST アーキテクチャ 目的と提案手法 ハンガリアンアルゴリズム ランダムパターンレジスタント故障検出用ドントケア抽出法

More information

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx シーケンスに基づく検索モデルの検索精度について 東京工芸大学工学部コンピュータ応用学科宇田川佳久 (1/3) (2/3) 要員数 情報システム開発のイメージソースコード検索機能 他人が作ったプログラムを保守する必要がある 実務面での応用 1 バグあるいは脆弱なコードを探す ( 品質の高いシステムを開発する ) 2 プログラム理解を支援する ( 第 3 者が書いたコードを保守する ) 要件定義外部設計内部設計

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

Microsoft Word - 【第5分科会】ConcolicTestingグループ_付録_修正_ doc

Microsoft Word - 【第5分科会】ConcolicTestingグループ_付録_修正_ doc 付録 1 研究スケジュール 本研究は以下のスケジュールで行った. 項目内容期間論文調査 CREST に関する論文の調査 2014 年 5 月 CREST のインストール VMWare による Linux 環境の構築と,CREST 及び必要プログラムのインストール CREST の試用サンプルコードにて CREST を実行して, 出力結果を確認 SIG の準備 実施ソフトウェア品質シンポジウム SIG:

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

<4D F736F F F696E74202D DD8D8782ED82B98B5A8F7082F B582BD835C F E707074>

<4D F736F F F696E74202D DD8D8782ED82B98B5A8F7082F B582BD835C F E707074> プロセス改善ベストプラクティス ( テスト ) ワークショップ 組み合わせ技術利用したテストケース生成ツールと適用事例の紹介 2009 年 3 月 27 日東芝ソフトウェア技術センター小笠原秀人 中野隆司 Copyright 2009, Toshiba Corporation. すべてをテストすることはできない 論理的な問題 組み合わせが膨大 バグがこれで最後と証明することができない コスト 時間の問題

More information

040402.ユニットテスト

040402.ユニットテスト 2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う

More information

デザインパターン第一章「生成《

デザインパターン第一章「生成《 変化に強いプログラミング ~ デザインパターン第一章 生成 ~ 梅林 ( 高田明宏 )@ わんくま同盟 デザインパターンとは何か (1) デザインパターンの定義 ソフトウェア開発におけるデザインパターンとは 過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し 名前をつけ 再利用しやすいように特定の規約に従ってカタログ化したもの (Wikipedia) 参考書籍 オブジェクト指向における再利用のためのデザインパターン

More information

システム操作インターフェイス最適化によるテスト自動化ROI向上

システム操作インターフェイス最適化によるテスト自動化ROI向上 システム操作インターフェイス最適化によるテスト自動化 ROI 向上 株式会社 Codeer 石川達也 e-mail:ishikawa-tatsuya@codeer.co.jp ご相談を受けた企業様の悩みで多いもの システムテスト自動化やったことあるんだけど 効果が出なくて 作業と ROI 要素を分析 仕様変更等でメンテ 作成 成功 指定のケースではデグレがなかったという情報を取得できた! エラー!

More information

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx SQiP シンポジウム 2012 ページオブジェクトパターンによる 動テストメンテナンスの効率化 株式会社ネクスト HOMEʼS事業本部 サービス推進部 品質管理グループ 藤澤 正通 FujisawaMasamichi@next-group.jp 1 動化への取組み 2011 年 4 : リグレッションテストの 動化検討を開始 6 :Selenium IDE を採 動化に着 7 : 機能カバレッジ

More information

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt 品質保証部における W モデル適用の検討と実践 2013/09/13 株式会社日立製作所情報 通信システム社 IT プラットフォーム事業本部開発統括本部プラットフォーム QA 本部ソフト品質保証部 富田貴仁, 秦泉寺貴文, 高山啓 0 品質保証部における W モデル適用の検討と実践 Contents 1. 章はじめに 2. 章現状の品質保証工程の分析 3. 章 Wモデルの適用の検討 4. 章実施と評価

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

An introduction and future of Ruby coverage library

An introduction and future of Ruby coverage library Ruby の テストカバレッジ 測定機能の 改良と展望 クックパッド株式会社遠藤侑介 yusuke-oh@cookpad.com RubyWorld Conference 2017 (2017/11/01) 発表概要 発表内容 カバレッジとは カバレッジとの付き合い方 Ruby でのカバレッジ測定方法 クックパッドでのカバレッジ利用事例 発表者について フルタイム Ruby コミッタ (2017/09~)

More information

SPCシンポジウム(研究論文・経験論文・事例発表)(タイトル)

SPCシンポジウム(研究論文・経験論文・事例発表)(タイトル) Statement Deletion Operator を用いたミューテーション解析ツールの作 成と実用のための考察 Creating a mutation testing tool with Statement Deletion Operator and consideration about mutation testing テクマトリックス株式会社 TechMatrix Corporation

More information

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX] 開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 記 号 実 行 を 用 いた テストデータ 自 動 生 成 の 試 行 評 価 株 式 会 社 デンソー 電 子 技 術 3 部 榎 本 秀 美 e-mail:hidemi_enomoto@denso.co.jp 目 次 1 / 19 1. 背 景 2. 単 体 テストの 問 題 点 3. 対 策 案 の 検 討 4. 評 価 内 容 5. 評 価 結 果 6. まとめ [ 参 考 ]CREST デンソーの

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2

発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2 2012 年度ソフトウェア工学分野の先導的研究支援事業 コードクローン分析に基づくソフトウェア開発 保守支援に関する研究 大阪大学大学院情報科学研究科 楠本真二 1 発表内容 背景 コードクローン 研究目的 4 つのテーマ 研究内容 テーマ毎に, 概要と成果 まとめ 2 研究背景 ソフトウェアシステムは社会基盤として必須のもの. 現代社会で人々の日々の暮らしを支える 例 : 銀行オンラインシステム

More information

Rの基本操作

Rの基本操作 Microsoft Azure 高校生のための Azure Machine Learning By M. Takezawa 機械学習 (Machine Learning) とは 機械学習とは 機械にデータを学習させ データに潜むパターンや特性を発見し予測させることです Microsoft Azure Machine Learning とは Microsoft 社が提供する Azure の機能の一つであり

More information

次元圧縮法を導入したクエリに基づくバイクラスタリング 情報推薦への応用 武内充三浦功輝岡田吉史 ( 室蘭工業大学 ) 概要以前, 我々はクエリに基づくバイクラスタリングを用いた情報推薦手法を提案した. 本研究では, 新たに推薦スコアが非常に良く似たユーザまたはアイテムを融合する次元圧縮法を導入した. 実験として, 縮減前と縮減後のデータセットのサイズとバイクラスタ計算時間の比較を行う. キーワード

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

Protexご紹介

Protexご紹介 OSS コード検出ツール Black Duck Protex を用いた OSS ライセンス違反対策 2012 年 1 月 NEC Contents 1. OSS とライセンス 2. 違反事例 3. リスク対策のご提案 4. Black Duck Protex 活用のすゝめ Page 2 NEC Corporation 2012 Contents 1. OSS とライセンス 2. 違反事例 3. リスク対策のご提案

More information

CLEFIA_ISEC発表

CLEFIA_ISEC発表 128 ビットブロック暗号 CLEFIA 白井太三 渋谷香士 秋下徹 盛合志帆 岩田哲 ソニー株式会社 名古屋大学 目次 背景 アルゴリズム仕様 設計方針 安全性評価 実装性能評価 まとめ 2 背景 AES プロジェクト開始 (1997~) から 10 年 AES プロジェクト 攻撃法の進化 代数攻撃 関連鍵攻撃 新しい攻撃法への対策 暗号設計法の進化 IC カード, RFID などのアプリケーション拡大

More information

LAMP スタック:品質およびセキュリティ

LAMP スタック:品質およびセキュリティ LAMP スタック : 品質およびセキュリティ Rich Cerruto 日本アジア担当ディレクター Copyright Coverity, Inc. 2006. All Rights Reserved.Coverity, Inc. の書面による許可を事前に得ることなく 本書の全体またはその一部を複製したり 検索システム ( コンピュータベースなど ) に保存したり 転送したりすることは形式や手段にかかわらず禁止されています

More information

トレーサビリティとインパクト分析 2011 年 7 月 13 日 海谷治彦 1

トレーサビリティとインパクト分析 2011 年 7 月 13 日 海谷治彦 1 トレーサビリティとインパクト分析 2011 年 7 月 13 日 海谷治彦 1 背景 : ソフトウェア成果物 プロの開発では多様な成果物が作成される. 要求仕様書 設計仕様書 ソースコード テストケース 成果物内, 成果物間の相互の関係 ( トレース ) を知ることが重要. 2 トレースする理由 開発中に, どの機能が実現済か確認する. 要求仕様書 コード バグの原因を探す. 仕様書 コード 既存ソフトに新機能追加や性能アップのため,

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 11 回目スレッド課題 確認 問題次の各文は正しいか誤っているか答えなさい (1) スレッドは 1 つの実行箇所をもつ一連の処理の流れである (2) マルチスレッドで各スレッドの処理は並行して実行される (3) Java はマルチスレッド処理を記述できない (4) 新たにスレッドを生成する場合 Thread クラスを拡張し かつ Runnable インタフェースを実装する必要がある

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下を入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1 JUnit 概要 2015/4/16 版今泉俊幸 1 目次 1. 手動テストと自動テスト 2. JUnitの機能 3. 検証用メソッド 4. 基本的なJUnitテストケース 5. 実践的なJUnitテストケース 6. よく使う検証用メソッド 7. テストクラスの命名 配置など 2 手動テスト 手動テストと自動テスト テスト仕様書に基づいて 人手で値を入力 結果を検証する プログラム修正の度に実施するのはコストが高い

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

外部からの脅威に対し ファジング の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017 年 5 月 10 日独立行政法人情報処理推進機構技術本部セキュリティセンター小林桂 1

外部からの脅威に対し ファジング の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017 年 5 月 10 日独立行政法人情報処理推進機構技術本部セキュリティセンター小林桂 1 外部からの脅威に対し ファジング の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017 年 5 月 10 日独立行政法人情報処理推進機構技術本部セキュリティセンター小林桂 1 内容 ネットワークに繋がる機器たち ファジングとは ファジングによる効果 まとめ 2 ネットワークに繋がる機器たち ~ 注目されている IoT~ さまざまな機器が通信機能を持ち ネットワークに繋がる時代

More information

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

More information

CouchbaseLiveTokyo2015 講演資料

CouchbaseLiveTokyo2015 講演資料 Couchbase Live Tokyo 2015 SQL アクセスとトランザクション処理で切り開く Couchbase Server の新しい活用法 2015-08-31 NEC ソリューションイノベータ 今日の流れ 私たちについて私たちの考えるCouchbase Serverの特徴 Couchbase Server 利用時の考慮事項 Couchbase Serverとトランザクションについて活用例まとめ

More information

SPCシンポジウム(研究論文・経験論文・事例発表)(タイトル)

SPCシンポジウム(研究論文・経験論文・事例発表)(タイトル) 記号実行を用いたテストデータ自動生成の試行評価 Evaluation of Test Data Generation Using Symbolic Execution 株式会社デンソー電子技術 3 部 DENSO CORPORATION Electronics Eng. Div.3 榎本秀美 Hidemi Enomoto Abstract This paper describes the evaluation

More information

メソッドの外部設計とテストファースト

メソッドの外部設計とテストファースト メソッドの外部設計と テストフゔースト ~ 上手く TDD するために ~ 2009.9.12 biac http://www.tdd-net.jp/ 自己紹介 山本康彦 ( biac ) いまだにプログラムを書きたがる 52 歳 http://bluewatersoft.cocolog-nifty.com/ ハンドルでぐぐってもらえば見つかる ( 経済産業諮問委員会じゃないほう ) 名古屋のとある

More information

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った 大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った モデルとして外部から読み込んだ三角形メ ッシュを用いた このように Lightmetrica はレンダラとして写実的な画像を生成する十分な実力を有する

More information

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1 4. ソート ( 教科書 p.205-p.273) 整列すなわちソートは アプリケーションを作成する際には良く使われる基本的な操作であり 今までに数多くのソートのアルゴリズムが考えられてきた 今回はこれらソートのアルゴリズムについて学習していく ソートとはソートとは与えられたデータの集合をキーとなる項目の値の大小関係に基づき 一定の順序で並べ替える操作である ソートには図 1 に示すように キーの値の小さいデータを先頭に並べる

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行 < ここに画像を挿入 > Oracle SQL Developer の移行機能を使用した Oracle Database への移行 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい

More information

Microsoft Word - CombB-Ex

Microsoft Word - CombB-Ex コンパイラ演習資料 (javacc) 担当 : 佐々木晃 演習問題 B0( 締め切り=2008/011/25 演習中の回収時 ) 問題番号 : B0 課題名 : コンパイラの作成準備出題日 :11/18 課題 :JavaCC の設定と準備本演習資料にしたがって 中置記法による算術式 ( 四則演算 括弧が使える ) を逆ポーランドによる式に変換せよ ( 参考 コンパイラ作成 1) http://cis.k.hosei.ac.jp/~asasaki/lect/compiler/2008a/problem/problem1.htm

More information

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社

ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社 ビッグデータ分析を高速化する 分散処理技術を開発 日本電気株式会社 概要 NEC は ビッグデータの分析を高速化する分散処理技術を開発しました 本技術により レコメンド 価格予測 需要予測などに必要な機械学習処理を従来の 10 倍以上高速に行い 分析結果の迅速な活用に貢献します ビッグデータの分散処理で一般的なオープンソース Hadoop を利用 これにより レコメンド 価格予測 需要予測などの分析において

More information

Microsoft Visual Studio 2010 Professional Data Sheet

Microsoft Visual Studio 2010 Professional Data Sheet Microsoft Visual Studio 2010 Professional はビジネスの要件やユーザ ーのニーズに最適なアプリケーションを選択し それを構築するために必須の機能を提供します RIA ベースのリッチな Web アプリケーション SharePoint ベースの高度な Web ポータル Windows Azure ベースのクラウドアプリケーションなど 最新テクノロジに対応したアプリケーションを既存の知識や経験を活かして開発することができます

More information

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ 11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デザインパターンの主な内容 そのデザインパターンの目的と効果 どのような役割の部品 ( クラス, インタフェース

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウの作成をしたい

More information

単体テスト設計のコツ

単体テスト設計のコツ ESEC2011 ブース内セッション 単体テスト設計のコツ 日本システム開発株式会社 http://www.nskint.co.jp Copyright 2011 日本システム開発株式会社 All Rights Reserved 目次 1. ユニットテストについて知っておかないといけないこと 1-1. 品質問題の原因とユニットテストの関係 1-2. ソースコードレビューとユニットテストの違い 2.

More information

Microsoft PowerPoint - セッション2_安竹さん.ppt

Microsoft PowerPoint - セッション2_安竹さん.ppt 開発生産性 品質向上セミナー Agitar Software technical session 2006-3-1 安竹由起夫 Agitar Software, Senior Solution Consultant yukio@agitar.com 1 わかっているが 計測できなければ 管理できない 管理できなければ 改善できない 2 Quality Level Agreement 品質メトリクスをコーディング開始時から利用し

More information

Microsoft PowerPoint - yukio ppt

Microsoft PowerPoint - yukio ppt 開発生産性 品質向上セミナー Agitar Software technical session 2006-5-31 安竹由起夫 Agitar Software, Senior Solution Consultant yukio@agitar.com 1 わかっているが 計測できなければ 管理できない 管理できなければ 改善できない 2 1 Quality Level Agreement 品質メトリクスをコーディング開始時から利用し

More information

Microsoft PowerPoint - 資料04 重回帰分析.ppt

Microsoft PowerPoint - 資料04 重回帰分析.ppt 04. 重回帰分析 京都大学 加納学 Division of Process Control & Process Sstems Engineering Department of Chemical Engineering, Koto Universit manabu@cheme.koto-u.ac.jp http://www-pse.cheme.koto-u.ac.jp/~kano/ Outline

More information

1. はじめに 2

1. はじめに 2 点予測と能動学習を用いた効率的なコーパス構築 形態素解析における実証実験 京都大学情報学研究科 Graham NEUBIG 1 1. はじめに 2 形態素解析 べた書きの文字列を意味のある単位に分割し 様々な情報を付与 品詞 基本形 読み 発音等を推定 農産物価格安定法を施行した 価格 / 名詞 / 価格 / かかく / かかく安定 / 名詞 / 安定 / あんてい / あんてー法 / 接尾辞 /

More information

タブ or スペース? インデントには タブ文字を使用する方法と半角スペースを使用する方法があります インデントにタ ブ文字を使うか半角スペースを使うかは 各プロジェクトで決められていることもありますが プログラ ムを書く人の好みだったりすることもあります まともなエディタであれば タブキーを押下し

タブ or スペース? インデントには タブ文字を使用する方法と半角スペースを使用する方法があります インデントにタ ブ文字を使うか半角スペースを使うかは 各プロジェクトで決められていることもありますが プログラ ムを書く人の好みだったりすることもあります まともなエディタであれば タブキーを押下し 第 1 章. ソースコードの見た目を整えよう 読みやすいプログラムを書くには まず ソースコードの見た目を整えて きれいに書くことが大切です 手書きで文章を書くときの動作に例えると 丁寧な字で 位置をまっすぐ揃えて書く という感覚に近いです この章では ソースコードの見た目の整え方や 整える上で気をつけるポイントについて説明します 1-1. インデント ( 字下げ ) を行おう ソースコードの見た目で最も重要なのがインデント

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

2

2 問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class

More information

CodeRecorderでカバレッジ

CodeRecorderでカバレッジ 株式会社コンピューテックス Copyright 2016 Computex Co.,Ltd. 2017.11 カバレッジ と 単体テスト カバレッジとは プログラムがどれだけ実行されているかを示す指標です プログラム全体に対して実行された比率をカバレッジ率で表します カバレッジの基準として 一般的にC0 C1が使われております C0カバレッジは 全体のうち何 % が実行されたかで求めます C1カバレッジは

More information

セキュリティテスト手法 ファジング による脆弱性低減を! ~ 外部からの脅威に対し 製品出荷前に対策強化するために ~ 2016 年 5 月 12 日独立行政法人情報処理推進機構技術本部セキュリティセンター情報セキュリティ技術ラボラトリー鹿野一人 1

セキュリティテスト手法 ファジング による脆弱性低減を! ~ 外部からの脅威に対し 製品出荷前に対策強化するために ~ 2016 年 5 月 12 日独立行政法人情報処理推進機構技術本部セキュリティセンター情報セキュリティ技術ラボラトリー鹿野一人 1 セキュリティテスト手法 ファジング による脆弱性低減を! ~ 外部からの脅威に対し 製品出荷前に対策強化するために ~ 2016 年 5 月 12 日独立行政法人情報処理推進機構技術本部セキュリティセンター情報セキュリティ技術ラボラトリー鹿野一人 1 アジェンダ ネットワークに繋がる機器たち ファジングとは ファジングによる効果 まとめ IPAのファジングに関する取組み 2 ネットワークに繋がる機器たち

More information

ガイダンス

ガイダンス プログラムの 1 行目に以下のように自分の入れること // vm12345 杉崎えり子 情報科学 B 第 10 回 GUI 情報科学 B Info2/3 info10 今日のフォルダー作成 Example10_1.java 1 今日やること Windows などで見られるウィンドウを作 成して (GUI プログラム ) そこに実行結 果を表示させる 2 ウィンドウの作成 Java を使用してウィンドウを作成をしたい

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

D5-2_S _003.pptx

D5-2_S _003.pptx JaSST 14 Tokyo セッション D5-2 10:30~11:00(30 分 ) キーワード駆動テストを用いた GUI テスト自動化による工期短縮実現への取り組み 2014 年 3 月 8 日 株式会社 NTT データ 技術開発本部プロアクティブ テスティング COE 小林由依 0. 自己紹介 n 氏名 Ø 小林由依 n 所属 Ø 株式会社 NTT データ技術開発本部 プロジェクトマネジメント

More information

なぜバグ曲線は収束するのか

なぜバグ曲線は収束するのか なぜバグ曲線は収束するのか ~Microsoft Excel を使って考えてみる ~ JaSST 13 Tokyo 2013 年 1 月 31 日 丹羽岳雄 株式会社日本総合研究所 バグ曲線は ソフトウェア開発の品質管理ツール の 1 つとして広く活用されている バグ曲線で よく 議論されていること より良いモデルの構築? 曲線収束の判定方法? 最適なモデルの選択方法? 横軸は 時間? 工数? テストケース数?

More information

Microsoft PowerPoint - SessionO.pptx

Microsoft PowerPoint - SessionO.pptx Session O: Search and APIs 石尾隆鹿島悠 神田哲也柏原由紀 大阪大学井上研究室 論文 O1 (1/4) How Do API Documentation and Static Typing Affect API Usability? Stefan Endrikat, Stefan Hanenberg, Romain Robbes, and Andreas Stefik [

More information

SQiP シンポジウム 2016 アジャイルプロジェクトにおけるペアワーク適用の改善事例 日本電気株式会社小角能史 2016 年 9 月 16 日 アジェンダ 自己紹介ペアワークとはプロジェクトへのペアワークの適用方法 スクラム適用ルール作成 最適化の流れ KPTを用いたふりかえり 適用ルールの改善事例 適用プロジェクトの概要ペアワーク適用ルール ( 初期 ) 改善例 1 - ペアのローテーション改善例

More information

CANapeを用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発

CANapeを用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発 ape を用いたラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発 近年 自動車のソフトウェア開発において 開発期間の短縮やコスト削減の面からモデルベース開発が注目されています アイシン エィ ダブリュ株式会社は ラピッドコントロールプロトタイピングのバイパス手法による制御モデル開発にベクターの測定 / キャリブレーションツール ape ( キャナピー ) を導入しました 本稿では

More information

Insert your Title here

Insert your Title here マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 第 1 章.Java による CG 作成方法 2 学習のねらい 1 先週に続いて Java 言語 (Eclipse 環境における ) を用いて CG( コンピュータグラフィックス ) を作成する方法の基礎を学習する 今回は ( 作成した )CG が自動的に再描画される様にするための処理 ( のプログラミング ) を学習する 今回の学習で Java による CG 作成方法を終了し 次週以降は CG 作成のアルゴリズムの学

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.1 アプレットの概要 13.2 最初の Java アプレット 13.3 アプレットのライフサイクル 13.4 Graphics クラス アプレットの概要 (1/3) Web ページの HTML ソースコードから参照されるプログラム Web サーバーからブラウザに動的にダウンロードされる ダウンロードされたアプレットはブラウザの環境で実行される アプレットビューアなどのツールで実行することもできる

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

HotSpot のロック A Peek Under the Hood

HotSpot のロック A Peek Under the Hood HotSpot のロック A Peek Under the Hood David Buck 日本オラクル JJUG ナイトセミナ JVM 特集 自己紹介 バックデイビッド Java SE サステイニングエンジニアリング JVM のバグを直す人 趣味 : プログラミング 予定 はじめに Java ロックの復習 HotSpot のロックの実装 プロファイリング & チューニング その他 はじめに カバーする内容

More information

システムインテグレータのIPv6対応

システムインテグレータのIPv6対応 システムインテグレータの IPv6 対応 2012 年 11 月 22 日株式会社 NTT データビジネスソリューション事業本部ネットワークソリューション BU 馬場達也 自己紹介 1995 年に NTT データに入社 R&D 部門でネットワークセキュリティの研究開発 現在は エンタープライズのお客様のネットワークの設計 構築 運用ビジネスを行う部門で新ネットワークサービスの開発を担当 2006 年

More information

プロジェクトを成功させる見積りモデルの構築と維持・改善 ~CoBRA法による見積りモデル構築とその活用方法について~

プロジェクトを成功させる見積りモデルの構築と維持・改善 ~CoBRA法による見積りモデル構築とその活用方法について~ 工数見積り手法 CoBRA ~ 勘 を見える化する見積り手法 ~ CoBRA 研究会 2011 年 5 月 情報技術研究センターシステム技術グループ Copyright 2011 MRI, All Rights Reserved ご紹介する内容 1.CoBRA 法の概要 2.CoBRAツール 3.CoBRAモデルでの見積り 4.CoBRAモデルの応用 5.CoBRAモデルの構築 6. まとめ 2 Copyright

More information

この手の問題を診断する際に Simics は完璧なツールなのですが 実行するためには 問題が発生するプログラムを Simics に取り込まなければなりません すなわち Simics 上で Simics を実行するのです まず Simics 内部に開発ホストの複製を作成します これは何も難しいことでは

この手の問題を診断する際に Simics は完璧なツールなのですが 実行するためには 問題が発生するプログラムを Simics に取り込まなければなりません すなわち Simics 上で Simics を実行するのです まず Simics 内部に開発ホストの複製を作成します これは何も難しいことでは Simics 上での Simics のデバッグ 投稿者 :Jakob Engblom,, 2012/12/05 私はたびたび書いたり話したりしていますが Simics は並列処理のバグのデバッグと マルチスレッドやマルチコアシステムの障害に対するデバッグには実に有効です 非常に複雑なアプリケーション 具体的に言えば Simics 自体の上で このことを証明した例を最近経験しました この例は Simics

More information

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac Actual4Test http://www.actual4test.com Actual4test - actual test exam dumps-pass for IT exams Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1 Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の までを処理し どれにも一致しない場合 default; から直後の までを処理する 但し 式や値 1 値 2は整数または文字である switch( 式 ) case 値 1: // コロン : です セミコロン ; と間違えないように!!

More information

Microsoft Word - Training10_プリプロセッサ.docx

Microsoft Word - Training10_プリプロセッサ.docx Training 10 プリプロセッサ 株式会社イーシーエス出版事業推進委員会 1 Lesson1 マクロ置換 Point マクロ置換を理解しよう!! マクロ置換の機能により 文字列の置き換えをすることが出来ます プログラムの可読性と保守性 ( メンテナンス性 ) を高めることができるため よく用いられます マクロ置換で値を定義しておけば マクロの値を変更するだけで 同じマクロを使用したすべての箇所が変更ができるので便利です

More information

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な 1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な OSS の場合 企業などから支援を受けて安定した財政基盤の下で先端的なソフトウェアを開発しています 企業にとっても

More information

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード]

Microsoft PowerPoint - B3-3_差替版.ppt [互換モード] SQiP2011 B3-3 状態遷移および機能連携に着 した業務シナリオテストの新 法 2011 年 9 9 株式会社 NTT データ技術開発本部プロアクティブ テスティング COE 岩 真治 所属 紹介 株式会社 NTT データ 主な業務 技術開発本部プロアクティブ テスティング COE 昨年 12/1 に設 先進的な検証 テストサービスの提供とそれを実現するための研究開発に取り組む専 組織 社内のソフトウェア開発標準プロセス

More information

Microsoft PowerPoint - Tsuzuki.ppt

Microsoft PowerPoint - Tsuzuki.ppt 探索的テストの適用事例 - まずは 探索的テストをやろまい!! - 三菱電機メカトロニクスソフトウエア株式会社 都築将夫 0/19 アジェンダ 現状分析 改善策立案 探索的テストの特徴 弱みの克服 探索的テストの強みを生かす 成果 & 効果 今後の課題 1/19 現状 担当製品のソフトウェア 規模 : 肥大 ( ライン数 : 数 10KL 数 100KL) 構造 : 複雑 ( サイクロマティック複雑度

More information