{"title":"Applying Generalization Refactoring to Java Generic Programs","authors":"Lin Chen, Baowen Xu, Tianlin Zhou, Yuming Zhou","doi":"10.1109/WSCS.2008.16","DOIUrl":null,"url":null,"abstract":"In generalization refactoring, preconditions and allowable source code modifications depend on type constraints of the refactored program. Type constraints of parameterized types should be considered when applying the refactoring to generic programs, otherwise type errors may be brought into the refactored program. Some type constraint rules for Java generic programs are presented to verify the preconditions in the refactoring. The type constraints can be solved by traversing a type constraint graph. Based on the type constraint graph, a refactoring algorithm for extract interface is proposed.","PeriodicalId":378383,"journal":{"name":"IEEE International Workshop on Semantic Computing and Systems","volume":"65 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Workshop on Semantic Computing and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WSCS.2008.16","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
In generalization refactoring, preconditions and allowable source code modifications depend on type constraints of the refactored program. Type constraints of parameterized types should be considered when applying the refactoring to generic programs, otherwise type errors may be brought into the refactored program. Some type constraint rules for Java generic programs are presented to verify the preconditions in the refactoring. The type constraints can be solved by traversing a type constraint graph. Based on the type constraint graph, a refactoring algorithm for extract interface is proposed.