{"title":"用高阶动态类型语言对大型代码库进行语义导航","authors":"S. Spoon, O. Shivers","doi":"10.1109/WCRE.2005.29","DOIUrl":null,"url":null,"abstract":"Chuck is a new code browser that allows navigation of a code base along semantic structures, such as data-flow and higher-order control-flow relationships. Employing the fast DDP type inferencer, it is effective on dynamically typed code bases an order of magnitude larger than the code bases supported by previous browsers. Chuck supports the full Smalltalk language, and is now shipped as a standard component of the Squeak open-source Smalltalk system, where it routinely works with code bases exceeding 300,000 lines of code. Chuck's implementation is tuned for interactive use, and is transparently integrated with the Squeak system's existing code-browsing tools. Thus, it provides semantic navigation of a live code base that is still being edited without requiring long pauses for reanalysis due to edits of the code.","PeriodicalId":119724,"journal":{"name":"12th Working Conference on Reverse Engineering (WCRE'05)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Semantic navigation of large code bases in higher-order, dynamically typed languages\",\"authors\":\"S. Spoon, O. Shivers\",\"doi\":\"10.1109/WCRE.2005.29\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Chuck is a new code browser that allows navigation of a code base along semantic structures, such as data-flow and higher-order control-flow relationships. Employing the fast DDP type inferencer, it is effective on dynamically typed code bases an order of magnitude larger than the code bases supported by previous browsers. Chuck supports the full Smalltalk language, and is now shipped as a standard component of the Squeak open-source Smalltalk system, where it routinely works with code bases exceeding 300,000 lines of code. Chuck's implementation is tuned for interactive use, and is transparently integrated with the Squeak system's existing code-browsing tools. Thus, it provides semantic navigation of a live code base that is still being edited without requiring long pauses for reanalysis due to edits of the code.\",\"PeriodicalId\":119724,\"journal\":{\"name\":\"12th Working Conference on Reverse Engineering (WCRE'05)\",\"volume\":\"8 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-11-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"12th Working Conference on Reverse Engineering (WCRE'05)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/WCRE.2005.29\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"12th Working Conference on Reverse Engineering (WCRE'05)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.2005.29","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Semantic navigation of large code bases in higher-order, dynamically typed languages
Chuck is a new code browser that allows navigation of a code base along semantic structures, such as data-flow and higher-order control-flow relationships. Employing the fast DDP type inferencer, it is effective on dynamically typed code bases an order of magnitude larger than the code bases supported by previous browsers. Chuck supports the full Smalltalk language, and is now shipped as a standard component of the Squeak open-source Smalltalk system, where it routinely works with code bases exceeding 300,000 lines of code. Chuck's implementation is tuned for interactive use, and is transparently integrated with the Squeak system's existing code-browsing tools. Thus, it provides semantic navigation of a live code base that is still being edited without requiring long pauses for reanalysis due to edits of the code.