コンピュータ ソフトウェア
Print ISSN : 0289-6540
32 巻 , 1 号
選択された号の論文の23件中1~23を表示しています
  • 石川 裕
    2015 年 32 巻 1 号 p. 1_1
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 林 晋平, 川端 英之
    2015 年 32 巻 1 号 p. 1_2
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 五十嵐 淳
    2015 年 32 巻 1 号 p. 1_3-1_9
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 大沢 英一
    2015 年 32 巻 1 号 p. 1_10-1_13
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 栗原 聡
    2015 年 32 巻 1 号 p. 1_14-1_17
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 原田 康徳
    2015 年 32 巻 1 号 p. 1_18-1_26
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 片山 卓也
    2015 年 32 巻 1 号 p. 1_27-1_34
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 沢田 篤史, 野呂 昌満
    2015 年 32 巻 1 号 p. 1_35-1_46
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
    ソフトウェアアーキテクチャの設計結果は,開発対象であるソフトウェアシステムの完成時における機能や非機能に関する様々な特徴だけでなく,実装や検証,保守など,他の開発プロセスに多大な影響を及ぼす.高品質のシステムを開発するために,アーキテクチャ設計を支援する技術は重要である.また,システムの品質を適切に予測し,管理を可能とするためには,設計結果としてのアーキテクチャと,その設計過程において行われた判断を文書化することも重要である.長期間にわたって運用されるシステムにおいては,アーキテクチャ設計に関連する文書と,要求仕様,設計,実装などの他のソフトウェア構成要素との間の追跡可能性が求められる.本稿ではまず,高品質のソフトウェアシステム開発におけるソフトウェアアーキテクチャの重要性について解説する.アーキテクチャ設計と文書化に関連し,アーキテクチャスタイル,パターン,関心事,ビューなどの諸概念についてそれらの意味的関連も含めて説明する.さらに,アーキテクチャに関する設計判断の文書化技術,追跡性管理と知識管理の技術,それらを支援するツールの動向を解説する.
  • 崔 恩瀞, 藤原 賢二, 吉田 則裕, 林 晋平
    2015 年 32 巻 1 号 p. 1_47-1_59
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
    リファクタリングとは,ソフトウェアの外部的振る舞いを変化させることなく,内部の構造を改善するプロセスを指す.研究者・実務者ともに,開発プロジェクトにおいて過去に実施されたリファクタリングを知りたいという要求がある.そこで,リファクタリングの実施を自動的に検出する手法(リファクタリング検出手法)が数多く提案されている.これらの手法は,多様な国際会議や論文誌において発表されており,研究者や実務者にとって研究成果を概観することは容易ではない.本稿では,リファクタリング検出手法の中でも,盛んに研究が行われている成果物の変更履歴解析に基づく手法を中心に紹介を行う.まず,本稿におけるリファクタリング検出の定義および分類について述べる.その後,成果物の変更履歴解析に基づく手法を紹介し,今後行われる研究の方向性について考察を行う.
  • 大森 隆行, 林 晋平, 丸山 勝久
    2015 年 32 巻 1 号 p. 1_60-1_80
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
    統合開発環境における開発者の操作履歴を扱う手法について調査を行った.主としてソフトウェア進化研究における引用を想定し,細粒度なソースコード変更の内容を扱うことができる手法を調査対象とした.本論文では,これらの手法を,基盤となる統合開発環境,操作履歴記録手法,操作履歴応用手法の3層のモデルで捉える.これらの手法の特性を整理した後,それぞれの記録手法,応用手法の概要を紹介する.
  • 寺田 努
    2015 年 32 巻 1 号 p. 1_92-1_93
    発行日: 2015/01/26
    公開日: 2015/03/26
    ジャーナル フリー
  • 酒井 政裕, 今井 健男
    2015 年 32 巻 1 号 p. 1_103-1_119
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    SAT問題は,命題論理式の充足可能性問題,すなわち命題変数を含む論理式に対し,その論理式を真にするような命題変数への値の割り当てが存在するかを決定する問題である.SATは古典的なNP完全問題であり,計算量的には難しい問題であるものの,近年のアルゴリズムの改良とハードウェアの進化によって著しい高性能化が実現された結果として,様々な分野への応用が行われている.本稿ではSATにまつわる研究で現在活発な領域として,関連する問題クラスへの応用やそれにまつわる研究分野との間の交流について,調査し,紹介する.
  • 大森 隆行, 桑原 寛明, 丸山 勝久
    2015 年 32 巻 1 号 p. 1_120-1_135
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    Although code completion is inevitable for effective code editing on integrated development environments, existing code completion tools can be improved. A previous study noted that developers sometimes perform ineffective repetitions of the same code completion operations. Hence, this paper introduces a statement, “A more recently inserted code completion candidate should be given a higher rank among previously inserted items in the candidate list.” To confirm this statement, this paper examines the following three points. First, an experiment using operation histories is presented to reconfirm that developers more frequently repeat recent code completion operations. Second, a tool called RCC Candidate Sorter is presented. It alters the sorting algorithm of the default Eclipse code completion tool to prioritize candidates inserted by recent code completion. Finally, an experiment is conducted to evaluate the performance of the tool. The experimental result shows that it outperforms an existing method.
  • 桑原 寛明, 國枝 義敏
    2015 年 32 巻 1 号 p. 1_136-1_146
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    本論文では,情報流解析における型エラーを修正するために必要な Declassifiersの配置箇所の候補を挙げる手法を提案する.Declassifiersの配置は不正な情報流を解消する有効な手段であるが,Declassifiersを手作業で適切に配置することはそれほど容易ではない.提案手法により,開発者は挙げられた候補に従ってDeclassifiersを記述するだけで不正な情報流を解消できる.本論文では,提案手法の挙げる候補が型エラーを解消することと,少なくとも1つの候補が挙げられることを示した上で,提案手法をプロトタイプツールに実装し,単純なプログラムに適用した例を挙げる.
  • 小形 真平, 早川 弘基, 海谷 治彦, 海尻 賢二
    2015 年 32 巻 1 号 p. 1_147-1_160
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    e-commerceサイト等のWebシステムにおいて,ユーザは一般にミスや心変わりから値を頻繁に再入力するため,目的を達成するまで入力値を一時保存する入力保存機能は役立つ.しかし,本機能は上流工程で決定される入力値の作成/更新タイミング等に依存するが,本機能の分析・設計を支援する方法はない.本論文は,入力保存機能を含めた画面遷移モデルを表せるようにUML記法を拡張し,画面遷移とシナリオを表す方法とユーザの入力する値の量を見積るユーザビリティ評価方法を提案する.そして,提案方法の有効性を示すため,手動ではユーザの入力負担を定量的に算出し,どの程度改善できそうかを示すことが困難であることと,提案方法で見積った値の高さとユーザが感じる負担の大きさは順序的に関係があることを実験にて実証し,提案方法による開発者の負担が従来方法(手動プロトタイピング)と比べて低いことを実験結果に基づいた考察により示した.
  • 松本 雄磨, 小林 直樹, 海野 広志
    2015 年 32 巻 1 号 p. 1_161-1_178
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    近年,Kobayashiらは高階木変換器HMTTの検証手法を提案した.HMTTは高階関数型木構造処理プログラムの一種であり,その検証の目的は,HMTTが与えられた入出力木の仕様を満たすか否かを判定することである.彼らの手法では,木構造データを入出力仕様を表すオートマトンを用いて抽象化することにより,HMTT検証問題を高階モデル検査問題に帰着させる.しかしながら,彼らの手法では,検証に失敗した場合に実際に仕様に対する反例があるのか否かを判断することができなかった.そこで,本論文では,帰着後の高階モデル検査問題に対する反例を用いて対応するHMTT検証問題の反例を構成する方法を示す.また,対応する反例が存在しない場合に抽象化に用いるオートマトンの状態を分割し,検証の精度を改良する方法を提案する.さらに提案手法に基づいてHMTT検証器を改良し,その有効性を示す実験結果を報告する.
  • 佐藤 洸一, 菊池 健太郎, 青戸 等人, 外山 芳人
    2015 年 32 巻 1 号 p. 1_179-1_193
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    項書き換えシステム上の帰納的定理の自動証明手法として書き換え帰納法(Reddy, 1989)が提案されている.しかし,書き換え帰納法は末尾再帰による関数定義が含まれると有効に働かない場合が多い.一方,プログラムの自動検証を容易にすることを目的としたプログラム変換法として,文脈移動法および文脈分割法(Giesl, 2000)が提案されている.これらの手法は,末尾再帰プログラムを自動検証に適した単純再帰プログラムへと変換する.本論文では,項書き換えシステムに対する文脈移動法・文脈分割法の正当性を証明し,それらが書き換え帰納法による帰納的定理の証明に有効であることを明らかにする.
  • 遠藤 誠典, 百足 勇人, 森畑 明昌, 上野 雄大, 大堀 淳
    2015 年 32 巻 1 号 p. 1_194-1_212
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    既存のプログラムを再利用したり,複数人でプログラムを開発したりする際など,コードを読み内容を理解する必要に迫られることは少なくなく,これを支援するツールが求められる.本論文では,関数型プログラム向けのコードリーディング支援ツールの試作について報告する.我々の試作は,関数型プログラムはデータフローによって計算を行っており,データフローは変数に代表される名前の依存関係によって表現される,との洞察に基づいている.これをふまえ,本試作は,コンパイラを用いて名前の依存関係を取得し,その情報を以下の2つの機能として提示する.1つは,名前の参照位置からその定義位置へエディタ上でカーソルを移動させる機能である.これはデータフローを追跡するのに役立つ.もう1つは,変数や関数の依存関係をもとにファイル間の依存関係を可視化する機能であり,これにより各モジュールがどのモジュールで定義された資源を利用しているかを直感的に把握できる.
  • 山本 雅基, 小林 隆志, 宮地 充子, 奥野 拓, 粂野 文洋, 櫻井 浩子, 海上 智昭, 春名 修介, 井上 克郎
    2015 年 32 巻 1 号 p. 1_213-1_219
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    本論文では,協働教育の教育効果を測定するための新しい手法について提案して,実証評価する.分野・地域を越えた実践的情報教育協働ネットワークenPiTでは,全国の大学院生に対して,情報技術の実践力を高める教育を実施している.実践力の育成を目的とする教育協働における教育効果の測定には,2つの課題が挙げられる.第一に,実践力は専門知識の定着を問うテストでは測定困難である.第二に,履修カリキュラムが異なる受講生を共通の指標で評価することも困難である.本論文では,学習経験を問う質問紙と行動特性を計測するテストを併用することにより,履修カリキュラムが異なる受講生の実践力を統一の基準で評価する手法を提案し,enPiTで実証評価した.
  • 伊達 浩典, 石尾 隆, 松下 誠, 井上 克郎
    2015 年 32 巻 1 号 p. 1_220-1_226
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    A coding pattern is a sequence of method calls and control structures, which appears repeatedly in source code. In this paper, we have extracted coding patterns of each version of ten Java programs, and then explored the number of versions in which the coding patterns appear. This paper reports the characteristics of coding patterns over versions. While learning from coding patterns is expected to help developers to perform appropriate modifications and enhancements for the software, many coding patterns are unstable as similar to the result of clone genealogy research.
  • 戸田 航史, 亀井 靖高, 濱崎 一樹, 吉田 則裕
    2015 年 32 巻 1 号 p. 1_227-1_233
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    本研究の目的は,OSSにおけるパッチのレビュー経験および開発経験がレビューに要する時間に与える影響を分析することである.影響の分析にはChromiumプロジェクトのバージョン管理およびレビュー管理システムから得られるデータを用いた.分析の結果,レビュー経験(回数),パッチ開発経験(投稿回数)のどちらもレビューにかかる時間と強い負の相関がある事が分かった.またバグ管理システムから得られるデータを追加し,前述のデータを組合わせて分析を行った結果,レビュー時間の短縮はパッチに含まれるバグの見逃されやすさに対して有意な影響を及ぼさない事が分かった.
  • 海津 智宏, 磯部 祥尚, 鈴木 正人
    2015 年 32 巻 1 号 p. 1_234-1_252
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    コンポーネントを利用したソフトウェアを設計する際,シーケンス図が幅広く利用されている.しかし,従来シーケンス図の正しさを自動的に検証することは困難であった.我々はシーケンス図を検証するために SDVerifierというツールを開発している.SDVerifierはシーケンス図を CSPのプロセスに変換することによって,既存のモデル検査器で検証可能とする.また,モデル検査器が出力する反例を逆変換して元のシーケンス図に戻すことによって,問題が発見された場合に効率的に原因を調査できる.本論文では,SDVerifierの機能を説明し,実システムでの試行によりその有効性を確認したことを報告する.
  • 高野 保真, 岩崎 英哉, 佐藤 重幸
    2015 年 32 巻 1 号 p. 1_253-1_287
    発行日: 2015/01/26
    公開日: 2015/02/11
    ジャーナル フリー
    関数型言語 Haskellは,遅延評価を標準とするプログラミング言語であり,近年注目を集めている.デファクトスタンダードの処理系である Glasgow Haskell Compiler(GHC)は多くの研究の基盤として用いられ,新しい言語概念など先進的な研究成果が取り入れられている.その一方で,GHCの実装は巨大で複雑になってきており,GHCに新機能を導入することは障壁が高くなってしまった.このような状況において,我々は実行時メモリの効率化を目指して,遅延オブジェクトを再利用する手法を提案し,GHCに実装してきた.我々が提案した手法は,コンパイル時にプログラム変換を行い,再利用対象とする遅延オブジェクトへの参照を単一にした上で,遅延オブジェクトを破壊的に書き換えて再利用する.その基本的な機構は既に先行論文において述べ,メモリ削減の効果も確認済みである.本論文は,再利用手法を実現するために考えられる各種手法の実装方法,および,それらの手法の得失・取捨選択に関する議論を詳細に行う.また,再利用手法の基本的な機構の実装で培った経験を生かし実装した,再利用手法の改善技法をいくつか提案する.それらの技法を導入することにより,実行時間に関するオーバヘッドを低く抑えることが可能であることを実験により確認した.最後に,GHCを研究の基盤に用いた経験より得られた遅延型関数型言語処理系に関する知見についても述べる.特に,GHCが Haskellで記述されていることは,処理系の拡張性に大きく貢献していることが分かった.
feedback
Top