CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Verified resource guarantees for heap manipulating programs

E. Albert ; Richard Bubel (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; S. Genaim ; Reiner Hähnle (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; G. Román-Díez
Lecture Notes in Computer Science. 15th International Conference on Foundations of Software Science and Computational Structures, Tallinn, 24 March - 1 April 2012 (0302-9743). Vol. 7212 (2012), p. 130-145.
[Konferensbidrag, refereegranskat]

Program properties that are automatically inferred by static analysis tools are generally not considered to be completely trustworthy, unless the tool implementation or the results are formally verified. Here we focus on the formal verification of resource guarantees inferred by automatic cost analysis. Resource guarantees ensure that programs run within the indicated amount of resources which may refer to memory consumption, to number of instructions executed, etc. In previous work we studied formal verification of inferred resource guarantees that depend only on integer data. In realistic programs, however, resource consumption is often bounded by the size of heap-allocated data structures. Bounding their size requires to perform a number of structural heap analyses. The contributions of this paper are (i) to identify what exactly needs to be verified to guarantee sound analysis of heap manipulating programs, (ii) to provide a suitable extension of the program logic used for verification to handle structural heap properties in the context of resource guarantees, and (iii) to improve the underlying theorem prover so that proof obligations can be automatically discharged.

Nyckelord: Cost analysis, Formal verifications, Memory consumption, Program logic, Program properties, Proof obligations, Resource consumption, Sound analysis, Theorem provers, Cost accounting, Data structures, Integer programming, Software engineering, Static analysis

Denna post skapades 2012-07-06. Senast ändrad 2016-07-26.
CPL Pubid: 160193


Läs direkt!

Länk till annan sajt (kan kräva inloggning)