{"title":"Evaluating the accessor classification approach to detect abstract data types","authors":"J. Girard, Martin Würthner","doi":"10.1109/WPC.2000.852483","DOIUrl":null,"url":null,"abstract":"The article presents a reverse engineering approach to identify abstract data types (ADTs) in source code. For each structured type defined in a system, this approach assigns a role to functions related to this type. Then, using various heuristics, it associates these functions with types to form ADTs. A prototype tool has been implemented to support this approach. It has been applied to three C systems (each between 30-38 Kloc). The ADTs identified by the approach are compared to those identified by software engineers who did not know the proposed approach. In a case study, this approach has been shown to identify (in most cases), ADTs more accurately than four published techniques applied on the same systems. At the same time, the number of false positives produced by the approach is equal to or lower than that of any compared technique. The article also proposes refinements to the evaluation scheme used previously.","PeriodicalId":448149,"journal":{"name":"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension","volume":"21 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-06-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IWPC 2000. 8th International Workshop on Program Comprehension","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.2000.852483","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The article presents a reverse engineering approach to identify abstract data types (ADTs) in source code. For each structured type defined in a system, this approach assigns a role to functions related to this type. Then, using various heuristics, it associates these functions with types to form ADTs. A prototype tool has been implemented to support this approach. It has been applied to three C systems (each between 30-38 Kloc). The ADTs identified by the approach are compared to those identified by software engineers who did not know the proposed approach. In a case study, this approach has been shown to identify (in most cases), ADTs more accurately than four published techniques applied on the same systems. At the same time, the number of false positives produced by the approach is equal to or lower than that of any compared technique. The article also proposes refinements to the evaluation scheme used previously.