{"title":"An abstract axiomatization of pointer types","authors":"S. Meldal","doi":"10.1109/HICSS.1989.47999","DOIUrl":null,"url":null,"abstract":"Pointer ('reference' or 'access') types are extremely useful in programming, but are usually considered rather intractable in the context of formal verification. The author deals with this problem using the concept of collections and access types. He gives two examples of how this can be done. One approach, using the axiomatic method of J.V. Guttag and V. Horning (1978), is too specific, resulting in distinct semantics of program constructs that would be considered equivalent in most programming languages. The problem is addressed in a second axiomatization method, which reduces the expressiveness of the annotation language by reducing the number of operators on access values. A reinterpretation of the allocation operator in the programming language then gives the desired proof strength, but with a higher level of abstraction than in the standard formalization. Verification of a package defining a set type is given as an example.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HICSS.1989.47999","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
Pointer ('reference' or 'access') types are extremely useful in programming, but are usually considered rather intractable in the context of formal verification. The author deals with this problem using the concept of collections and access types. He gives two examples of how this can be done. One approach, using the axiomatic method of J.V. Guttag and V. Horning (1978), is too specific, resulting in distinct semantics of program constructs that would be considered equivalent in most programming languages. The problem is addressed in a second axiomatization method, which reduces the expressiveness of the annotation language by reducing the number of operators on access values. A reinterpretation of the allocation operator in the programming language then gives the desired proof strength, but with a higher level of abstraction than in the standard formalization. Verification of a package defining a set type is given as an example.<>