{"title":"代数数据类型的抽象解释","authors":"T. Jensen","doi":"10.1109/ICCL.1994.288374","DOIUrl":null,"url":null,"abstract":"This paper is concerned with the static analysis of programs over recursive data structures such as lists and trees. In particular, we consider the analysis of uniform properties i.e., properties pertaining only to the content of a data structure. We first present an axiomatic description of properties of sum types and algebraic types and use the theory of powerdomains to construct lattices modelling the logic of the axiomatisations. In addition to a new analysis of sum types based on logic, this provides a systematic way of defining abstract lattices for arbitrary algebraic data types. We provide a detailed description of the lattice for analysing lists and show how our developments generalise existing frameworks proposed by Wadler (1987) and Nielson and Nielson (1992). Finally, we show how abstract interpretations of well known list operations can be defined over these lattices.<<ETX>>","PeriodicalId":137441,"journal":{"name":"Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1994-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":"{\"title\":\"Abstract interpretation over algebraic data types\",\"authors\":\"T. Jensen\",\"doi\":\"10.1109/ICCL.1994.288374\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"This paper is concerned with the static analysis of programs over recursive data structures such as lists and trees. In particular, we consider the analysis of uniform properties i.e., properties pertaining only to the content of a data structure. We first present an axiomatic description of properties of sum types and algebraic types and use the theory of powerdomains to construct lattices modelling the logic of the axiomatisations. In addition to a new analysis of sum types based on logic, this provides a systematic way of defining abstract lattices for arbitrary algebraic data types. We provide a detailed description of the lattice for analysing lists and show how our developments generalise existing frameworks proposed by Wadler (1987) and Nielson and Nielson (1992). Finally, we show how abstract interpretations of well known list operations can be defined over these lattices.<<ETX>>\",\"PeriodicalId\":137441,\"journal\":{\"name\":\"Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)\",\"volume\":\"5 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1994-05-16\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"9\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCL.1994.288374\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 1994 IEEE International Conference on Computer Languages (ICCL'94)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCL.1994.288374","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
This paper is concerned with the static analysis of programs over recursive data structures such as lists and trees. In particular, we consider the analysis of uniform properties i.e., properties pertaining only to the content of a data structure. We first present an axiomatic description of properties of sum types and algebraic types and use the theory of powerdomains to construct lattices modelling the logic of the axiomatisations. In addition to a new analysis of sum types based on logic, this provides a systematic way of defining abstract lattices for arbitrary algebraic data types. We provide a detailed description of the lattice for analysing lists and show how our developments generalise existing frameworks proposed by Wadler (1987) and Nielson and Nielson (1992). Finally, we show how abstract interpretations of well known list operations can be defined over these lattices.<>