{"title":"程序反编译器","authors":"S. Letovsky","doi":"10.1109/HICSS.1989.48032","DOIUrl":null,"url":null,"abstract":"A description is given of CPU, a program analysis tool that converts programs into formal specifications. CPU takes as input a program plus a knowledge base of programming plans and finds instances of plans in the code. A technique called transformational analysis is used in which plans that are recognized in the code are replaced by descriptions of their goals. Both procedural plans and data-structuring plans can be recognized. The result of a transformational analysis is a hierarchical derivation of the program, where the topmost layer constitutes a formal specification for the input program, the bottommost layer is the original code, and the intermediate layers denote plans that were recognized in the program. This derivation can be used to generate summaries of the code and to answer questions about it.<<ETX>>","PeriodicalId":325958,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"A program anti-compiler\",\"authors\":\"S. Letovsky\",\"doi\":\"10.1109/HICSS.1989.48032\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A description is given of CPU, a program analysis tool that converts programs into formal specifications. CPU takes as input a program plus a knowledge base of programming plans and finds instances of plans in the code. A technique called transformational analysis is used in which plans that are recognized in the code are replaced by descriptions of their goals. Both procedural plans and data-structuring plans can be recognized. The result of a transformational analysis is a hierarchical derivation of the program, where the topmost layer constitutes a formal specification for the input program, the bottommost layer is the original code, and the intermediate layers denote plans that were recognized in the program. This derivation can be used to generate summaries of the code and to answer questions about it.<<ETX>>\",\"PeriodicalId\":325958,\"journal\":{\"name\":\"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1989-01-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"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.48032\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","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.48032","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A description is given of CPU, a program analysis tool that converts programs into formal specifications. CPU takes as input a program plus a knowledge base of programming plans and finds instances of plans in the code. A technique called transformational analysis is used in which plans that are recognized in the code are replaced by descriptions of their goals. Both procedural plans and data-structuring plans can be recognized. The result of a transformational analysis is a hierarchical derivation of the program, where the topmost layer constitutes a formal specification for the input program, the bottommost layer is the original code, and the intermediate layers denote plans that were recognized in the program. This derivation can be used to generate summaries of the code and to answer questions about it.<>