Aziz Nanthaamornphong, Anawat Leatongkam, Thanyarat Kitpanich, Pongsakorn Thongnuan
{"title":"基于字节码的类依赖提取工具:Bytecode-CDET","authors":"Aziz Nanthaamornphong, Anawat Leatongkam, Thanyarat Kitpanich, Pongsakorn Thongnuan","doi":"10.1109/ICITEED.2015.7408903","DOIUrl":null,"url":null,"abstract":"Program comprehension is an important task in the software maintenance process. One of the challenges faced by Java developers is the inability to determine the correct number of class dependencies. The ability to recover class dependencies would help developers to understand the design of an existing system prior to modifying it. Many Java dependency analysis tools for this purpose have been proposed, but few are able to analyze the dependency types associated with Java bytecode. In this paper, we propose a reverse engineering tool to extract the dependencies from a compiled Java program. The tool provides a visualization of the recovered dependencies in a form that facilitates the developer's ability to examine the classes and class relationships in the software system. The resulting dependency extraction capability will also enhance software maintenance and evolution. The results of experiments conducted with the intent of evaluating the proposed tool demonstrate both its accuracy and a few of its limitations.","PeriodicalId":207985,"journal":{"name":"2015 7th International Conference on Information Technology and Electrical Engineering (ICITEE)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Bytecode-based class dependency extraction tool: Bytecode-CDET\",\"authors\":\"Aziz Nanthaamornphong, Anawat Leatongkam, Thanyarat Kitpanich, Pongsakorn Thongnuan\",\"doi\":\"10.1109/ICITEED.2015.7408903\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Program comprehension is an important task in the software maintenance process. One of the challenges faced by Java developers is the inability to determine the correct number of class dependencies. The ability to recover class dependencies would help developers to understand the design of an existing system prior to modifying it. Many Java dependency analysis tools for this purpose have been proposed, but few are able to analyze the dependency types associated with Java bytecode. In this paper, we propose a reverse engineering tool to extract the dependencies from a compiled Java program. The tool provides a visualization of the recovered dependencies in a form that facilitates the developer's ability to examine the classes and class relationships in the software system. The resulting dependency extraction capability will also enhance software maintenance and evolution. The results of experiments conducted with the intent of evaluating the proposed tool demonstrate both its accuracy and a few of its limitations.\",\"PeriodicalId\":207985,\"journal\":{\"name\":\"2015 7th International Conference on Information Technology and Electrical Engineering (ICITEE)\",\"volume\":\"6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 7th International Conference on Information Technology and Electrical Engineering (ICITEE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICITEED.2015.7408903\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 7th International Conference on Information Technology and Electrical Engineering (ICITEE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICITEED.2015.7408903","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Bytecode-based class dependency extraction tool: Bytecode-CDET
Program comprehension is an important task in the software maintenance process. One of the challenges faced by Java developers is the inability to determine the correct number of class dependencies. The ability to recover class dependencies would help developers to understand the design of an existing system prior to modifying it. Many Java dependency analysis tools for this purpose have been proposed, but few are able to analyze the dependency types associated with Java bytecode. In this paper, we propose a reverse engineering tool to extract the dependencies from a compiled Java program. The tool provides a visualization of the recovered dependencies in a form that facilitates the developer's ability to examine the classes and class relationships in the software system. The resulting dependency extraction capability will also enhance software maintenance and evolution. The results of experiments conducted with the intent of evaluating the proposed tool demonstrate both its accuracy and a few of its limitations.