{"title":"Change and adaptive maintenance detection in Java software systems","authors":"Derek Rayside, Scott Kerr, K. Kontogiannis","doi":"10.1109/WCRE.1998.723171","DOIUrl":null,"url":null,"abstract":"Java is a relatively new programming language that is gaining popularity due to its network-centric features and platform independence (Write Once, Run Anywhere). This popularity has caused rapid evolution in the libraries that are available for Java applications. This evolution, in combination with Java's run-time linking, may cause incompatibilities between an application and the library it depends on: an application may execute with a different library version than the one it was compiled for. This paper presents techniques to automatically detect change in a library from its bytecode (binary) representation, and to apply the impact of those changes to any Java application. This paper also includes results of change detection experiments performed on the standard Java library (JDK).","PeriodicalId":345730,"journal":{"name":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-10-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.1998.723171","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15
Abstract
Java is a relatively new programming language that is gaining popularity due to its network-centric features and platform independence (Write Once, Run Anywhere). This popularity has caused rapid evolution in the libraries that are available for Java applications. This evolution, in combination with Java's run-time linking, may cause incompatibilities between an application and the library it depends on: an application may execute with a different library version than the one it was compiled for. This paper presents techniques to automatically detect change in a library from its bytecode (binary) representation, and to apply the impact of those changes to any Java application. This paper also includes results of change detection experiments performed on the standard Java library (JDK).
Java是一种相对较新的编程语言,由于其以网络为中心的特性和平台独立性(Write Once, Run Anywhere)而越来越受欢迎。这种流行导致了可用于Java应用程序的库的快速发展。这种演变,再加上Java的运行时链接,可能会导致应用程序与其所依赖的库之间的不兼容:应用程序可能使用不同于编译时使用的库版本执行。本文介绍了从字节码(二进制)表示自动检测库更改的技术,并将这些更改的影响应用于任何Java应用程序。本文还包括在标准Java库(JDK)上执行的变更检测实验的结果。