コンピュータ ソフトウェア
Print ISSN : 0289-6540
29 巻, 3 号
選択された号の論文の19件中1~19を表示しています
  • 田中 二郎
    2012 年 29 巻 3 号 p. 3_1
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
  • 権藤 克彦, 沢田 篤史, 丸山 勝久, 鷲崎 弘宜
    2012 年 29 巻 3 号 p. 3_2
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
  • 大森 隆行, 丸山 勝久, 林 晋平, 沢田 篤史
    2012 年 29 巻 3 号 p. 3_3-3_28
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    ソフトウェアは,利用者を満足させ続けるために絶えず進化しなければならない.本論文では,このようなソフトウェア進化に関連する研究を,手法,対象,目的という三つの視点から分類する基準を示す.その上で,それぞれの分類に基づき文献調査を行った結果を示す.この分類と調査の結果は,ソフトウェア進化分野の研究動向や研究の方向性を考察する足掛かりとなる.
  • 楠本 真二, 肥後 芳樹
    2012 年 29 巻 3 号 p. 3_29-3_38
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    本稿は,実証的アプローチに関するチュートリアルシリーズの一部として,ソフトウェアメトリクスの研究・実務における応用,特に研究成果の評価や組織におけるプロセス改善の評価での利用方法を中心に述べる.具体的には,評価目標に対してメトリクスを対応させるための枠組みの1つであるGQMパラダイム,評価対象のコンテキスト,著者等が過去に行った評価事例について紹介する.
  • 横尾 真, 岩崎 敦, 櫻井 祐子, 岡本 吉央
    2012 年 29 巻 3 号 p. 3_39-3_53
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    本編では非協力ゲーム(発展編)として,非協力ゲームの均衡概念で最も重要なものであるナッシュ均衡について詳しく述べる.2人ゼロサム標準形ゲームでは,プレイヤが選択可能な純粋戦略の個数に関する多項式時間でナッシュ均衡を計算できる.しかしながら,プレイヤが交互に行動を繰り返し選択するような複雑なゲームでは純粋戦略の個数が膨大となる.本編では,このような複雑な2人ゼロサムゲームの均衡を計算する例として,ポーカー等のカードゲームにおいてナッシュ均衡を計算するアルゴリズムを紹介する.一方,一般の有限2人標準形ゲームでは,ナッシュ均衡が多項式時間で計算可能かどうかが分かっていない.しかしながら,ナッシュ均衡の存在自体は証明されているので,PやNPのような判定問題に関する概念は,ナッシュ均衡計算問題の難しさを議論するためには適切ではない.本編では,ナッシュ均衡計算問題の難しさを議論する際に有用な問題のクラスであるPPAD,およびPPAD完全性について解説する.
  • 中島 震
    2012 年 29 巻 3 号 p. 3_54-3_69
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    実行時に機能振る舞いを変更する自己適応の技術は,様々な状況に対応するような柔軟さを示すシステム構成法として期待されている.柔軟さを持つ反面,開発時と実行時の境界が薄れており,系統的な開発の方法が明らかでない.現在提案されている自己適応システムは特定の実行アーキテクチャに依存するものが多く,自己適応の特徴的な性質がわかりにくい.本稿では,抽象レベルの高い宣言的な枠組みを提案し,PHP言語によるWebアプリケーションでのモデルベース自己適応アーキテクチャとの関連を示す.簡単なECサイトのWebアプリケーションに対して具体的な議論を行い,実験の結果を報告する.
  • 深谷 敏邦, 権藤 克彦
    2012 年 29 巻 3 号 p. 3_70-3_76
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    ポインタ解析はプログラムの最適化や静的解析に用いられる重要な技術であるが,計算量が大きく実用的なソフトウェアに対しては実行時間が大きいという問題がある.GPUは高い並列性計算能力を持ち,これを利用することで高速化が期待できるが,高速な実装方法は自明ではない.GPUの利用は,ハードウェアの特性やプログラミング環境の制限により容易ではなく,経験の蓄積が少ないため,試行錯誤が必要となる.本論文ではこの問題を解決するため,Andersenが提案したinclusion-baseのポインタ解析の高速な実装方を示す.この実装は行列演算を用い,疎行列の利用と行列演算に対する改良を行なっている.また我々はGDB(49万行)などの実用的な中規模ソフトウェア群によるベンチマークを行った.その結果GPUによる実装は全てのベンチマークでCPUによる実装よりも高速に動作し,また最大で14.4倍の高速化を達成した.
  • 佐藤 慎一, 猪原 健弘
    2012 年 29 巻 3 号 p. 3_77-3_90
    発行日: 2012/07/25
    公開日: 2012/09/25
    ジャーナル フリー
    ソフトウェア開発において,無駄な機能を実装しないために,顧客のニーズを満足する要求を獲得する必要がある.しかしながら,顧客のニーズを満足する要求が,ソフトウェア開発の目標に対する貢献度が高い要求であるとは限らない.そのため,要求仕様記述前の要求獲得段階で,貢献度と顧客のニーズに関する妥当性の間のコンフリクトが検出されるべきである.この問題に対して,著者等は要求獲得手法の1つであるゴール指向要求分析法に立脚し,このコンフリクトを検出する指標Dip(g)を提案している.しかし,その応用上の評価は未だ報告されておらず,応用上の問題は明らかにされていない.そこで本稿では,既存のゴールグラフに対する適用の結果,応用上の問題が発見されたことを報告する.また,ゴールグラフの簡約化を行うことで,発見された新たな問題を解決する手法を提案する.
  • 小飼 敬, 小山 恭平, 上田 賀一, 高橋 勇喜, 武澤 隆之, 中野 利彦
    2012 年 29 巻 3 号 p. 3_101-3_107
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    本研究では,著者らが以前より開発している情報制御システム記述言語の列車運行制御への適用について説明する.列車運行制御をこの記述言語によってモデル化し,Promela記述へ変換した内容をLTLによって検証する方法について説明する.列車運行制御は閉塞区間を基本構成とし,これらの関係で構成された路線に本手法を適用し,モデル設計の不具合を検出できた.
  • 内尾 静, 鵜林 尚靖, 亀井 靖高
    2012 年 29 巻 3 号 p. 3_108-3_114
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    ContextJ*などのコンテキスト指向プログラミング(COP)はコンテキストに依存した振る舞いを簡潔に表現でき,通常の振る舞いから分離できる.その1方で,デバッグが必ずしも容易ではないという問題がある.COPの実行過程やオブジェクトとコンテキスト間の依存関係が複雑になる場合が多いからである.このような問題に対処するため,本論文では,SMTベースのContextJ*デバッグ支援環境CJAdviserを提案する.CJAdviserでは,ContextJ*プログラムの実行トレースをコンテキスト依存グラフに変換し,それをSMTソルバーYicesを用いて解析する.CJAdviserを用いることにより,オブジェクトとコンテキスト間の様々な依存関係を調べることが可能となる.
  • 阿萬 裕久
    2012 年 29 巻 3 号 p. 3_115-3_120
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    コードレビューは重要な品質保証活動であるが,現実には予算や納期の都合により網羅的な実施が難しい場合も多い.そこで本論文では,限られた予算内で“どのモジュールを重点的にレビューすれば最も高い費用対効果を期待できるか”という問題に着目し,各モジュールでのフォールト潜在の可能性,レビューコスト及び他のモジュールとの結合関係を総合的に考慮した0-1計画問題として定式化する手法を提案している.そして,六種類のオープンソースソフトウェアに対するシミュレーション実験を行い,提案法の有効性について論じている.
  • 矢竹 健朗, 青木 利晃
    2012 年 29 巻 3 号 p. 3_121-3_142
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    RTOSの検証にモデル検査技術を適用する場合,RTOSの関数を呼び出すための環境を構築し,全体として閉じた系にする必要がある.既存の環境記述法として,非決定的な環境を構築する手法が存在するが,環境の詳細な振る舞いを正確に記述することが難しい.また,RTOSの環境においては,構成バリエーションの問題が存在する.つまり,環境を構成するタスクや資源,優先度の組み合わせが非常に多く,人手ですべてを構築することが現実的に不可能である.本稿では,UMLに基づき環境をモデル化する手法を提案する.我々の提案するモデル(環境モデル)では,環境の構成バリエーションと振る舞いを,クラス図と状態遷移図を用いて一般的かつ簡潔に記述することが可能である.また,環境生成器を用いて,環境モデルに記述された範囲内ですべての環境を自動生成することが可能である.現実問題への適用として,OSEK/VDX OS設計モデルについて,そのスケジューリング機能の正しさの検証を行った.
  • 鵜川 始陽, 信岡 孝佳, 海野 弘成, 湯淺 太一
    2012 年 29 巻 3 号 p. 3_143-3_156
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    ロックやメモリバリア命令の実行には多くのCPUサイクルを消費するため,並行GC(ごみ集め)では,書込みバリアからロックやメモリバリア命令を排除することが容易なインクリメンタルアップデートGCが使われることが多い.しかし,インクリメンタルアップデートGCの通常の実装では,マークフェーズ後にミューテータを止めて多くのオブジェクトをマークする可能性があり,実時間アプリケーションには向かない.本論文では,この処理が必要のないスナップショットGCを使った並行GCを提案する.提案するGCでは,ロックやメモリバリア命令の頻繁な使用を避けるために,ミューテータは書込みの履歴を溜めておいて,GCとハンドシェイクすることで,履歴をまとめてGCに渡す.このGCをDalvik VMに実装し,評価を行った.
  • 角田 雅照, 門田 暁人, 松本 健一, 押野 智樹
    2012 年 29 巻 3 号 p. 3_157-3_163
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    本論文では,ユーザ企業のソフトウェア保守のコストを抑えることを目的として,保守の作業効率と関連のある(影響する)特性を明らかにする.技術者あたり保守量(保守プログラム本数/技術者数)を作業効率と定義し,財団法人経済調査会により企業横断的に収集された,ソフトウェア保守に関するデータセットを用いて分析を行った.重回帰分析を適用した結果,ユーザが(コストを抑えるために)制御可能で,かつ技術者あたり保守量と関連のある特性は,保守プロセスの標準化状況であることがわかった.プロセスを標準化することにより,技術者あたり保守量がおおむね8倍(少なく見積もると2倍,多く見積もると35倍)程度改善することが期待される.
  • 坂野 遼平, 佐藤 晴彦, 小山 聡, 栗原 正仁
    2012 年 29 巻 3 号 p. 3_164-3_180
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    構造化オーバレイは,大規模なノード群におけるノード同士の自律分散的な相互検索を実現する技術であり,特に分散ハッシュテーブルとしての活用で知られている.しかし,従来の構造化オーバレイでは完全一致検索以外の高度な検索機能を実現し難いことが弱点とされてきた.部分一致検索もそのひとつであり,今までにキーをn-gramに分割する等いくつかの手法が提案されてきたが,それら既存手法では部分文字列の出現頻度偏りに弱くノード毎の負荷が偏ってしまう等の問題があった.そこで本稿では,範囲検索が可能な構造化オーバレイであるSkip Graphに,文字列検索に適したデータ構造である接尾辞配列の概念を組み合わせた新しい部分一致検索手法を提案する.提案手法及び既存手法の双方についてシミュレーション実験を実施することで,提案手法がノード数Nに対しO(log N)の検索時間を達成しつつ,従来手法で問題となっていたノード負荷の偏りを解消する等多くの利点を持つことを確認した.
  • 夏 沛, 眞鍋 雄貴, 吉田 則裕, 井上 克郎
    2012 年 29 巻 3 号 p. 3_181-3_187
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    Finding code clones in the open source systems is important for efficient and safe reuse of existing open source software. In this paper, we propose a novel search model, open code clone search, to explore code clones in open source repositories on the Internet. Based on this search model, we have designed and implemented a prototype system named OpenCCFinder. This system takes a query code fragment as its input, and returns the code fragments containing the code clones with the query. It utilizes publicly available code search engines as external resources. Using OpenCCFinder, we have conducted several case studies for Java code. These case studies show the applicability of our system.
  • Michael PERSCHEID, Michael HAUPT, Robert HIRSCHFELD, 増原 英彦
    2012 年 29 巻 3 号 p. 3_188-3_211
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    Debugging failing test cases, particularly the search for failure causes, is often a laborious and timeconsuming activity. With the help of spectrum-based fault localization developers are able to reduce the potentially large search space by detecting anomalies in tested program entities. However, such anomalies do not necessarily indicate defects and so developers still have to analyze numerous candidates one by one until they find the failure cause. This procedure is inefficient since it does not take into account how suspicious entities relate to each other, whether another developer is better qualified for debugging this failure, or how erroneous behavior comes to be.
    We present test-driven fault navigation as an interconnected debugging guide that integrates spectrumbased anomalies and failure causes. By analyzing failure-reproducing test cases, we reveal suspicious system parts, developers most qualified for addressing localized faults, and erroneous behavior in the execution history. The Paths tool suite realizes our approach: PathMap supports a breadth first search for narrowing down failure causes and recommends developers for help; PathFinder is a lightweight back-in-time debugger that classifies failing test behavior for easily following infection chains back to defects. The evaluation of our approach illustrates the improvements for debugging test cases, the high accuracy of recommended developers, and the fast response times of our corresponding tool suite.
  • Dotri QUOC, 小堀 一雄, 吉田 則裕, 肥後 芳樹, 井上 克郎
    2012 年 29 巻 3 号 p. 3_212-3_218
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    In object-oriented programs, access modifiers are used to control the accessibility of fields and methods from other objects. Choosing appropriate access modifiers is one of the key factors for easily maintainable programming. In this paper, we propose a novel analysis method named Accessibility Excessiveness (AE) for each field and method in Java program, which is discrepancy between the access modifier declaration and its real usage. We have developed an AE analyzer - ModiChecker which analyzes each field or method of the input Java programs, and reports the excessiveness. We have applied ModiChecker to various Java programs, including several OSS, and have found that this tool is very useful to detect fields and methods with the excessive access modifiers.
  • 菅原 真司, 本多 謙吾, 石橋 豊
    2012 年 29 巻 3 号 p. 3_219-3_231
    発行日: 2012/07/25
    公開日: 2012/08/20
    ジャーナル フリー
    This paper proposes a monitoring method for information retrieval from the sources in large-scale networks, which tries to achieve the maximum gain of user utility with the minimum source observation cost. Generally, information accumulated in a network is being updated every second and the contents which have been downloaded by network users become obsolete as time passes. User utility, which is obtained by the users when they get their target information successfully, declines with the elapsed time from the instant of placing a retrieval request or the content's renewal. Accordingly, the proposed monitoring method adjusts its observation intervals according to the information sources' update intervals considering user utility decrease and monitoring cost caused by the observation of sources. The usefulness of the proposal is confirmed by computer simulations, which illustrate that it is effective especially in the condition that the expense of the observations is neither extremely emphasized nor neglected. In addition, a prototype of the monitoring system which implemented the proposal is developed and some monitoring experiments in the real Internet environment are conducted. The results show that the proposed method seems to be available in the case where the conditions are close to those of the simulations.
feedback
Top