著者
権藤 克彦 明石 修 伊知地 宏 岩崎 英哉 河野 健二 豊田 正史 上田 和紀
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.26, no.4, pp.4_17-4_29, 2009-10-27 (Released:2009-12-27)

「ソフトウェア開発で得られる経験や知見を成果とする論文(=ソフトウェア論文)を書くことは難しい」とよく言われますが,「なぜ難しいのか」の分析はこれまで十分にはなされていません.本論文では本誌のソフトウェア論文特集を編集した経験から,「ソフトウェア論文を書くことがなぜ難しい(と感じる)のか」の分析を試みます.問題は「著者の作文の問題」だけではなく,ソフトウェア自体,ソフトウェア工学,査読者,社会状況にも要因があることを示します.要因が多岐に渡るので結論を短く言うことが難しいです.あえて言えば「著者の作文技術にも問題はあるが,(著者の責任ではない)本質的な難しさも別にあるので,著者が自らハードルを上げてしまうことは避けるべき」「ソフトウェア論文の追試としての価値を査読者は評価すべき」です.また作文技術の問題を解決する一助として,ソフトウェア論文の執筆チェックリストを最後に示します.
著者
権藤 克彦 新山 祐介 荒堀 喜貴
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.39, no.4, pp.4_97-4_128, 2022-10-25 (Released:2022-11-22)

本論文ではSwift言語のARC機能により発生する強い循環参照やメモリリークを自動的に検知する新しいツールUCDetectorを提案する.Swift言語の「静的型付けで安全な言語でありながら低レベルなプログラミングが可能」という特徴,SwiftリフレクションAPI,デバッガ lldb Pyton APIを用いることで,簡易かつコンパクトな実装が可能だったこと,その際に自明ではない様々な障壁があったことを知見として本論文では報告する.また,実装した循環参照検知器の精度と効率に対する予備評価の結果も報告する.
著者
芝端紹公 権藤克彦
雑誌
ウィンターワークショップ2014・イン・大洗 論文集
巻号頁・発行日
vol.2014, pp.67-68, 2014-01-16

「日常的なコミュニケーション(世間話)はコミュニケーション障壁を下げ,結果としてデスマーチのリスクを低下できる」と仮説を立て,世間話の有無による小さな対照実験を行った.その結果,有意な差は出なかった.デスマーチの再現は難しいなどの知見を得た.
著者
小泉 雄太 荒堀 喜貴 権藤 克彦
雑誌
研究報告ソフトウェア工学(SE) (ISSN:21888825)
巻号頁・発行日
vol.2018-SE-198, no.27, pp.1-8, 2018-03-02

メモリリークは,不要なオブジェクトが将来増えることはない低脅威リークと,不要なオブジェクトが将来増え続ける高脅威リークに脅威度の観点から分類できる.この分類は一定の基準でまとめられたオブジェクト群 (グループ) にも適用可能である.従来の Staleness 解析のような全てのオブジェクトに対して特定の指標でリークの評価 / 報告をするリーク検出手法では,高脅威リークが低脅威リークの報告に埋没する可能性や,高脅威リークの即時判定ができないなどの問題がある.また,バイナリレベルでの解析においては,型情報のようなグループ化に適した情報の取得が困難な現状がある.本研究の提案手法である Pikelet は,バイナリコードを対象に高脅威のリークを高精度に検出することを目的とした動的メモリリーク検出手法である.高脅威リークの漸次的な特性から,グループサイズの成長過程を測定することで高脅威リークのグループを高精度で検出する.また,バイナリ解析で実現可能なグループ化の手段としてオブジェクト割り付け時の calling context を用いる.オブジェクトのグループ化と,グループの成長から脅威度を導出することで,Pikelet は新たに生成されたオブジェクトの危険度を即時判断し,プログラムに差し迫った脅威をより正確に報告する.実用プログラムを対象とする実験の結果,Pikelet は既存研究に比べて高脅威リークオブジェクト群の検知において精度の向上を示した (同一実行内での計測結果の平均で Recall は 22 ポイント,Precision は 80 ポイントの精度向上を達成した).また,実行オーバーヘッドは既存手法と同程度に収まることを確認した.
著者
権藤 克彦 冨永 和人
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.27, no.2, pp.2_93-2_99, 2010-04-27 (Released:2010-05-17)

Cプログラム中の#includeの正しさをチェックするツール「簡単#include検査君」を開発した.教科書用の158個の小さなサンプルコードに実験的に適用し,58個のファイルから#includeミスを発見できた.経験として,ツールは#includeミスの発見に非常に有効だったこと,この成功は「使い捨てツール」のアイデアを裏付けること,#includeミスは予想よりもはるかに多かったこと,などを述べる.
著者
森川 知哉 荒堀 喜貴 権藤 克彦
出版者
日本ソフトウェア科学会
雑誌
コンピュータ ソフトウェア (ISSN:02896540)
巻号頁・発行日
vol.31, no.1, pp.1_103-1_109, 2014-01-27 (Released:2014-03-03)

未定義動作を伴う整数オーバーフロー(時限爆弾)は重大な脆弱性の原因となる.本論文では時限爆弾を軽量に効率よく検出する手法として6つの固定的な整数値(整数境界値)を使う方法を提案し,19のオープンソースに適用して定量的に評価した.その結果,整数境界値は従来のランダム法に比べて,平均で36.7%多くの時限爆弾を検出した.さらに,整数演算の未定義動作のうち,比較・ビット演算が61.3%を占めることと,比較・ビット演算とその他の演算での,整数境界値による時限爆弾の検出率には有意差がないという結果を得た.
著者
鮎川 力也 権藤 克彦 荒堀 喜貴
出版者
一般社団法人電子情報通信学会
雑誌
電子情報通信学会論文誌. D, 情報・システム (ISSN:18804535)
巻号頁・発行日
vol.95, no.2, pp.217-224, 2012-02-01
参考文献数
15

C言語のコンパイラ最適化器,ガベージコレクタ,及びファイナライザの相互作用によって誤解放の問題が生じ得る.この問題は.volatileなど,現在のC言語の機能では適切には解決できない.本論文では,この問題の適切な解決方法として新しい型修飾子strict_lifetimeを提案し,strict_lifetimeは保守性などの点で適切な解決方法であることを論じる.また,strict_lifetimeをGCCに実装し,CRubyに対する有効性を調査した結果,実装コストと実行コストが小さく,誤解放を防ぐ効果も高いという結果を得た.
著者
権藤 克彦
出版者
東京工業大学
雑誌
若手研究(B)
巻号頁・発行日
2002

前年度まででスライサとビジュアライザの基本的な研究・開発は終了した.本年度は,我々が開発したANSI C用XMLマークアップ言語であるACMLの応用と,昨年度までの研究で判明した「XMLを用いたソースレベルのデータ統合方式」の欠点をより解明・解決する研究を行った.1.ACMLを用いたプログラム情報抽出システムAXESの設計.昨年度までで実現したスライサとビジュアライザをさらに進めた応用事例として,構文要素を用いたパターン(例えば,@if($exp=$exp){})を与えることで,ソースコードの一部を検索できるプログラム情報抽出システムの設計を行った.この機能は,例えば既存のクロスリファレンサ(例えば,GNU GLOBAL, LXR, SPIE, Cxref)にない機能であり,ソースコードに対するより高度で柔軟な検索を可能とする点で意義が大きい.2.DWARF2デバッグ情報を用いたバイナリレベル・データ統合方式の評価.ソースレベルのデータ統合方式は,コンパイラの独自拡張や規格の未規定動作への対応が困難であることが判明したため,昨年度からバイナリレベルのデータ統合方式の設計・実装を開始し,本年度は本方式を用いて実装したクロスリファレンサやコールグラフ生成系の性能や開発効率の評価を行い,本方式の有効性を明らかにした.特に,組込みソフトウェア分野など,本質的にC言語が必要なソフトウェアに対しても本方式が有効であること,一部に不完全なデータ統合を許す「軽量なデータ統合方式」が有用であることを示した.