配列を入力引数とする関数の検証のための分離論理の拡張
書誌事項
- タイトル別名
-
- Extension of Separation Logic toward Verification of Functions Passed Arrays as Arguments
この論文をさがす
抄録
C言語などにおいて配列を入力引数とする関数は入力配列の先頭のアドレスのみを受け取ることで間接的に配列を受け取る.そのため,そのような関数は様々なサイズの配列を受け取る可能性がある.そのような関数を検証するにあたって入力配列のサイズを任意ととらえ,事前条件においても任意のサイズのヒープに関する性質の記述が必要である.分離論理では線形リストを表現する再帰定義された述語を応用すればそのようなヒープを表現することは可能だが,連続するヒープをわざわざそのような述語を用いて検証するのは冗長である.本発表では,整数式でサイズを表したヒープ表現を導入することで分離論理を拡張し,その拡張に応じて分離論理の推論規則も拡張する.
As in the C programming language, a function passed an array as one of its arguments receives only a pointer to the first element of the array, and acts as if the entire array is recieved. For this reason, we cannot expect the fixed size of arrays that the function receives. To verify the function, considering the array size unknown, we must write assertions for e.g., pre-/post- conditions that specify properties on arrays (i.e., heaps) with the arbitrary size. In the framework of separation logic, we can specify such heaps by using a recursively-defined predicate indicating that a given pointer refers to the first element of a linear list. Though, such a predicate would be overspecified for representing heaps for arrays where each element is located at the next cell of the previous element. In this presentation, we extend separation logic by introducing a notation for heaps, the size of which can be specified by non-ground expressions over the integers. We also extend inference rules of separation logic for the extension of the syntax.
収録刊行物
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 10 (1), 29-29, 2017-01-06
- Tweet
キーワード
詳細情報 詳細情報について
-
- CRID
- 1050282812884992512
-
- NII論文ID
- 170000148336
-
- NII書誌ID
- AA11464814
-
- ISSN
- 18827802
-
- Web Site
- http://id.nii.ac.jp/1001/00176518/
-
- 本文言語コード
- ja
-
- 資料種別
- article
-
- データソース種別
-
- IRDB
- CiNii Articles