@techreport{oai:ipsj.ixsq.nii.ac.jp:00186617, author = {小泉, 雄太 and 荒堀, 喜貴 and 権藤, 克彦}, issue = {27}, month = {Mar}, note = {メモリリークは,不要なオブジェクトが将来増えることはない低脅威リークと,不要なオブジェクトが将来増え続ける高脅威リークに脅威度の観点から分類できる.この分類は一定の基準でまとめられたオブジェクト群 (グループ) にも適用可能である.従来の Staleness 解析のような全てのオブジェクトに対して特定の指標でリークの評価 / 報告をするリーク検出手法では,高脅威リークが低脅威リークの報告に埋没する可能性や,高脅威リークの即時判定ができないなどの問題がある.また,バイナリレベルでの解析においては,型情報のようなグループ化に適した情報の取得が困難な現状がある.本研究の提案手法である Pikelet は,バイナリコードを対象に高脅威のリークを高精度に検出することを目的とした動的メモリリーク検出手法である.高脅威リークの漸次的な特性から,グループサイズの成長過程を測定することで高脅威リークのグループを高精度で検出する.また,バイナリ解析で実現可能なグループ化の手段としてオブジェクト割り付け時の calling context を用いる.オブジェクトのグループ化と,グループの成長から脅威度を導出することで,Pikelet は新たに生成されたオブジェクトの危険度を即時判断し,プログラムに差し迫った脅威をより正確に報告する.実用プログラムを対象とする実験の結果,Pikelet は既存研究に比べて高脅威リークオブジェクト群の検知において精度の向上を示した (同一実行内での計測結果の平均で Recall は 22 ポイント,Precision は 80 ポイントの精度向上を達成した).また,実行オーバーヘッドは既存手法と同程度に収まることを確認した.}, title = {高脅威メモリリークのバイナリレベル動的検出法}, year = {2018} }