{"title":"递归程序的系统依赖图构造","authors":"P. Livadas, S. Croll","doi":"10.1109/CMPSAC.1993.404249","DOIUrl":null,"url":null,"abstract":"In a previous paper we demonstrated that a parse-tree-based system dependence graph (SDG) provides us with smaller and therefore more precise slices than a statement-based SDG. Furthermore, we described extensions to the SDG that were made to handle particular constructs found in ANSI C. In this paper, we describe a new method for the calculation of transitive dependences (in the presence of recursion) and therefore build a SDG that does not require calculation of the GMOD and GREF sets. Furthermore, this method does not require construction of a linkage grammar and its corresponding subordinate characteristic graphs. Additionally, we illustrate the versatility of the SDG as an internal program representation by briefly presenting a tool that we have developed that can perform interprocedural slicing, dicing, and ripple analysis in addition to other software engineering activities on programs written in a subset of ANSI C.<<ETX>>","PeriodicalId":375808,"journal":{"name":"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":"{\"title\":\"System dependence graph construction for recursive programs\",\"authors\":\"P. Livadas, S. Croll\",\"doi\":\"10.1109/CMPSAC.1993.404249\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In a previous paper we demonstrated that a parse-tree-based system dependence graph (SDG) provides us with smaller and therefore more precise slices than a statement-based SDG. Furthermore, we described extensions to the SDG that were made to handle particular constructs found in ANSI C. In this paper, we describe a new method for the calculation of transitive dependences (in the presence of recursion) and therefore build a SDG that does not require calculation of the GMOD and GREF sets. Furthermore, this method does not require construction of a linkage grammar and its corresponding subordinate characteristic graphs. Additionally, we illustrate the versatility of the SDG as an internal program representation by briefly presenting a tool that we have developed that can perform interprocedural slicing, dicing, and ripple analysis in addition to other software engineering activities on programs written in a subset of ANSI C.<<ETX>>\",\"PeriodicalId\":375808,\"journal\":{\"name\":\"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1993-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"9\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CMPSAC.1993.404249\",\"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 1993 IEEE 17th International Computer Software and Applications Conference COMPSAC '93","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1993.404249","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
System dependence graph construction for recursive programs
In a previous paper we demonstrated that a parse-tree-based system dependence graph (SDG) provides us with smaller and therefore more precise slices than a statement-based SDG. Furthermore, we described extensions to the SDG that were made to handle particular constructs found in ANSI C. In this paper, we describe a new method for the calculation of transitive dependences (in the presence of recursion) and therefore build a SDG that does not require calculation of the GMOD and GREF sets. Furthermore, this method does not require construction of a linkage grammar and its corresponding subordinate characteristic graphs. Additionally, we illustrate the versatility of the SDG as an internal program representation by briefly presenting a tool that we have developed that can perform interprocedural slicing, dicing, and ripple analysis in addition to other software engineering activities on programs written in a subset of ANSI C.<>