著者
沢田 篤史 野呂 昌満
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.1, pp.1_35-1_46, 2015

ソフトウェアアーキテクチャの設計結果は,開発対象であるソフトウェアシステムの完成時における機能や非機能に関する様々な特徴だけでなく,実装や検証,保守など,他の開発プロセスに多大な影響を及ぼす.高品質のシステムを開発するために,アーキテクチャ設計を支援する技術は重要である.また,システムの品質を適切に予測し,管理を可能とするためには,設計結果としてのアーキテクチャと,その設計過程において行われた判断を文書化することも重要である.長期間にわたって運用されるシステムにおいては,アーキテクチャ設計に関連する文書と,要求仕様,設計,実装などの他のソフトウェア構成要素との間の追跡可能性が求められる.本稿ではまず,高品質のソフトウェアシステム開発におけるソフトウェアアーキテクチャの重要性について解説する.アーキテクチャ設計と文書化に関連し,アーキテクチャスタイル,パターン,関心事,ビューなどの諸概念についてそれらの意味的関連も含めて説明する.さらに,アーキテクチャに関する設計判断の文書化技術,追跡性管理と知識管理の技術,それらを支援するツールの動向を解説する.
著者
亀谷 由隆 佐藤 泰介 周 能法 泉 祐介 岩崎 達也
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.24, no.4, pp.4_2-4_22, 2007 (Released:2007-12-31)

近年の人工知能分野においては,記号データ中に存在する不確実性をどう扱うかが大きな課題となっている.不確実性を扱うためには,まず確率モデルを構築し,その上で確率推論を行う方法が考えられる.更に近年では,記号列データや関係データベースなど,従来の単一の表データとしては表現できない,構造をもつデータの重要性が増しており,それらを扱うための一般的手法として,一階述語論理と確率の統合を目指す枠組みが数多く提案されている.その中の1つに確率論理プログラミング処理系PRISMがあるが,PRISMは宣言的な意味論,論理プログラムの高い記述力,効率的な組み込みの確率推論機構を備えており,確率モデリングに要する労力を大幅に省くことが期待される.本論文ではPRISM処理系のツールとしての側面に注目し,PRISMプログラムの記述例,処理系が提供する機能,処理速度に関するベンチマーク評価について述べる.
著者
森川 知哉 荒堀 喜貴 権藤 克彦
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.31, no.1, pp.1_103-1_109, 2014-01-27 (Released:2014-03-03)

未定義動作を伴う整数オーバーフロー(時限爆弾)は重大な脆弱性の原因となる.本論文では時限爆弾を軽量に効率よく検出する手法として6つの固定的な整数値(整数境界値)を使う方法を提案し,19のオープンソースに適用して定量的に評価した.その結果,整数境界値は従来のランダム法に比べて,平均で36.7%多くの時限爆弾を検出した.さらに,整数演算の未定義動作のうち,比較・ビット演算が61.3%を占めることと,比較・ビット演算とその他の演算での,整数境界値による時限爆弾の検出率には有意差がないという結果を得た.
著者
泉田 大宗 森 彰 二木 厚吉
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.29, no.4, pp.4_199-4_218, 2012-10-25 (Released:2012-11-25)

本稿では動的解析と静的解析を組み合わせたマルウェアの振る舞い解析手法について述べる.静的解析部ではバイナリコードを低レベルの記号式で解釈した上で静的単一代入形式に変換し,後方解析を行うことで間接ジャンプの行き先を可能な限り解決している.静的解析では解析しきれない制御フローに関しては動的解析によって補遺する.従来のバイナリコード解析手法ではC言語などの高級言語からコンパイルされたバイナリのみを対象としていたが,本手法ではマルウェアのようにそのような前提条件を満たさないバイナリも解析可能である.また,動的解析部としてハイパーバイザ機構を使った仮想環境を用いる試みについても述べる.
著者
片山 卓也
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.29, no.4, pp.4_32-4_39, 2012-10-25 (Released:2012-12-25)

長年にわたるソフトウェア進化の研究や実務経験にもかかわらず,ソフトウェアを適切に進化させることは容易ではなく,多くのシステムが進化作業の直後に障害を起こしている.この原因がどこにあるかをソフトウェア進化の基本に立ち戻って考え,なぜ進化は困難であるのか,それを克服するための技術課題はなにかを考えた.システムの開発に使われたプロセスの再実行という考えが,進化を考える上で基本的であることに着目し,プロセス主導進化の概念を提案し,これに基づいて進化のあり方や技術チャレンジについて述べた.
著者
岩間 太 立石 孝彰
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.2, pp.2_114-2_127, 2015-04-24 (Released:2015-06-30)

単体テスト時に利用する入力テストデータをCOBOLソースコードから生成するためのCOBOL記号実行器を構築した. この記号実行器の特徴はbit-vector logicに基づいてメモリ内バイトデータの記号値を扱うという点でありこれにより,バイトデータを直接操作するコードのテストデータ生成が可能になる.このような記号実行器によるテストデータ生成ツールはデータ表現の違いなどによる不具合が生じることの多いマイグレーションプロジェクト等において有用なものとなる.
著者
田村 直之 丹生 智也 番原 睦則
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.27, no.4, pp.4_183-4_196, 2010-10-26 (Released:2010-12-26)

本論文では,SAT変換に基づく制約ソルバーであるSugarの概要とその性能評価結果について述べる.Sugarは,制約充足問題(CSP),制約最適化問題(COP)および最大制約充足問題(Max-CSP)を,命題論理の充足可能性判定問題(SAT問題) に変換し,MiniSat等の高速なSATソルバーを用いて求解を行うシステムである.SAT変換には,order encodingと名付けた新しい方法を用いており,従来広く用いられているdirect encodingやsupport encodingよりも,多くの問題に対して高速な求解が可能である.本論文では,order encodingの説明を含めたSugarの概要について述べた後,2008年に開催された第3回国際CSPソルバー競技会およびMax-CSPソルバー競技会での結果を基にSugarの性能評価結果を報告する.なお,Sugarは同競技会の10部門のうち4部門で第1位となった.
著者
原田 恵雨 鈴木 育男 山本 雅人 古川 正志
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.28, no.1, pp.1_127-1_134, 2011-01-25 (Released:2011-02-18)

本論文では,二部グラフのコミュニティ対応関係を考慮したコミュニティ分割を定量的に評価する指標である二部モジュラリティを提案し,すべてのコミュニティ分割のパターンに対する二部モジュラリティの分布を調査することにより,その妥当性を示す.さらに,提案した二部モジュラリティを用いたコミュニティ分割手法を提案し,人工的に生成した二部グラフに対し適用することで,その有効性を示す.
著者
横山 大作 近山 隆
出版者
日本ソフトウェア科学会
雑誌
日本ソフトウェア科学会大会講演論文集 日本ソフトウェア科学会第19回大会 (ISSN:13493515)
巻号頁・発行日
pp.2A3, 2002-09-11 (Released:2003-10-28)

近年、計算機のメモリ階層は深化し、RAM モデルと現実との乖離は著しいものがある。また、クラスタや大規模分散計算等、各計算機間の通信遅延やその違いを無視できない並列環境が一般的になっているが、現状の並列計算コストモデルは、通信遅延の差異を考慮しないものや特定のネットワークトポロジに特化したものしか存在しない。我々は、単一計算機内のメモリ階層から計算機間のネットワーク遅延の差異までを統一的に記述できる計算量モデル、「計算連続体モデル」を提案した。本稿では、このモデルの検証の基礎となる仮想機械の仕様について述べる。
著者
日高 宗一郎 Jean BÉZIVIN 胡 振江 Frédéric JOUAULT
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.32, no.2, pp.2_63-2_78, 2015-04-24 (Released:2015-06-30)

モデル駆動工学では,メタモデルはモデルに対する型システムのようなものを提供し,モデルによるシステムの表現を正確に,定型的かつ強力に支援する.メタモデルは更にメタメタモデルで型付けられ,メタモデルで型付けられるモデルとあわせた三階層構造をなすことは前稿で概説した.本稿では,この構造の形式的な定義を与えるだけでなく,これらがすべて抽象モデルとして統一的に扱えることを示す.メタモデルは上記の重要な役割を果たすものの,モデルについて推論したり,より汎用的に処理を適用するには十分ではない.そこでもう1つ必要な概念がモデル変換である.モデル駆動工学では,モデル自体を直接更新するよりは,変換によって次々と新しいモデルを生成していく方法が推奨される.この構成的アプローチは,異なるツールの間の相互運用性を高める等の利点をもたらす.更に,モデル駆動工学では変換自体もモデルで表現され,上記の統一的扱いに組み込まれる.本稿では,モデル駆動工学の真骨頂とも言えるこのような統一的扱いと,このような構成的アプローチによるいくつかのモデル管理手法についても解説する.
著者
古瀬 淳
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.22, no.2, pp.2_90-2_94, 2005-04-26 (Released:2008-09-09)

Extensional polymorphismは関数型言語ML上での非パラメトリック多相性を実現するための枠組の一つであり,generic valueという,純粋なパラメトリック多相性の下では不可能な機能を提供する.我々は型ディスパッチと型パターンマッチを利用したgeneric valueの既存のコンパイルにおける意味論と効率の問題を指摘し,新たに「フロー」と呼ばれる,型付け情報を整数グラフに変換した物をディスパッチする変換方法を提案する.フローを使うことで,より自然な意味論に沿った変換が可能になり,多重定義値の呼び出しの効率も改善される.
著者
石田 慎一 原島 真吾 鯉渕 道紘 川島 英之 西 宏章
出版者
日本ソフトウェア科学会
雑誌
コンピュータソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.29, no.4, pp.59-73, 2012-10-25
参考文献数
15

近年,ルータやゲートウエイが取得可能な情報を使って新たなサービスを提供する試みが提案,検討されている.従来,NIDS (Network Intrusion Detection System)構築のため,ゲートウェイ上でレイヤ7での情報検出を可能とするソフトウェア実装は存在したが,アプリケーションプロトコルのHTTP/1.1のgzip encodeやchunk encodeに対応し,情報の検索と抽出を主目的とした実装は公開されていない.そこで本論文ではlibpcapを利用してLinuxゲートウェイのethデバイスやpcapファイルのトラヒックからTCPストリーム再構築と前記HTTPのデコードを行い,文字列抽出を実現するオープンソース・ソフトウエアSLIM (Smart Linux Interface Monitor)を実装,評価した.SLIMにおいて使用メモリ量を削減するため,コンテキストスイッチを利用したパケット単位のTCPストリーム再構築を独自に実装した.評価結果より,SLIMはオンライン解析を行った場合,ゲートウェイ上で21.3Mbpsの処理が可能であり,pcapファイルを直接処理した上でPostgreSQLに保存した場合86.8Mbps, ファイルとして保存した場合1.12Gbpsを達成した.また,オフライン解析を行った場合,1.5TB・最大73万コネクションを含むコアネットワークの仮想トラヒックを解析可能であることを示した.この時,使用メモリ量は5.87GBであった.また,SLIMは研究室ゲートウェイで3ヶ月以上安定して連続動作に成功した.