{"title":"Program Comprehension","authors":"V. Rajlich, Leon A. Wilson","doi":"10.1081/E-ESE-120044350","DOIUrl":null,"url":null,"abstract":"This paper presents a case study for the GraBaTs'09 tool contest. Program comprehension may bene t from graph and transformation techniques because they enable custom queries, and complex query results (i.e., graphs). However, there is one main issue to address: scalability. Software developers need tools that help them understand large code bases. For instance, the Java Development Tools from Eclipse consists of around six thousand Java classes, which translate into roughly ve million nodes in the corresponding graph. We propose two independent tasks in order to evaluate the adequacy of transformation tools to program comprehension and similarly demanding tasks. The rst one exercises the scalability of tools by requiring them to lter large input graphs. The associated test-case contains a set of graphs of increasing size that should help comparing tools. The second task exercises the genericity of the tools. A tool that solves both tasks demonstrates that it scales, and that it does not trade scalability for genericity.","PeriodicalId":386020,"journal":{"name":"Encyclopedia of Software Engineering","volume":"33 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"54","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Encyclopedia of Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1081/E-ESE-120044350","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 54
Abstract
This paper presents a case study for the GraBaTs'09 tool contest. Program comprehension may bene t from graph and transformation techniques because they enable custom queries, and complex query results (i.e., graphs). However, there is one main issue to address: scalability. Software developers need tools that help them understand large code bases. For instance, the Java Development Tools from Eclipse consists of around six thousand Java classes, which translate into roughly ve million nodes in the corresponding graph. We propose two independent tasks in order to evaluate the adequacy of transformation tools to program comprehension and similarly demanding tasks. The rst one exercises the scalability of tools by requiring them to lter large input graphs. The associated test-case contains a set of graphs of increasing size that should help comparing tools. The second task exercises the genericity of the tools. A tool that solves both tasks demonstrates that it scales, and that it does not trade scalability for genericity.