Browse Prior Art Database

Runtime Code Review Analysis

IP.com Disclosure Number: IPCOM000013267D
Original Publication Date: 2003-Jun-18
Included in the Prior Art Database: 2003-Jun-18
Document File: 2 page(s) / 40K

Publishing Venue

IBM

Abstract

Java instrumentation of byte code at runtime is a common technique for insertion of application monitoring. Quantitative data such as method response times and invocation counts are currently collected through instrumentation. This disclosure extends the Java instrumentation technique adding a rules based engine to perform code "review" type analysis to ascertain if the code adheres to commonly accepted best practices. This allows for the user of this idea to make quick determinations if the running code is of acceptable quality or not.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Runtime Code Review Analysis

This scenario is for Java* and WebSphere Application Server* based applications and is applicable to most any Java/JVM/ J2EE based platform.

An administration/infrastructure team at customer sites typically manages J2EE-based applications on centralized production servers. They are typically not involved in the software development of the application. The application could have originated in-house or purchased from a third party vendor/contractors. The infrastructure team supporting the application in production has no ability to make any examination of the delivered Java byte code to understand the problems they may see in the production or test environments. There are generally accepted "good" or "best" programming practices. For example, when closing a JDBC resource it must be done in the finally block and not in the try or catch blocks Another generally accepted programming practice is rethrowing a caught exception is a waste of CPU cycles. Such rules could be checked within the Java byte code at runtime for adherence, or lack thereof, to generally accepted coding standards. A score is assigned that weighs the number of rules violated and the frequency of violations. - The solution is not currently available. - May slow down the runtime environment performing the analysis. Though, if the instrumentation is split off from the analysis component then improvements can be made for performance.

The proposed solution is an extension of currently available Java instrumentation or Aspect Oriented Programming adding a rules based engine capable of analyzing application code. The analysis includes a variety of commonly accepted programming practices that performs the analysis in realtime as the application is running.

The working...