Systems, methods and computer program products for debugging...

Data processing: software development – installation – and managem – Software program development tool – Testing or debugging

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S116000, C717S131000, C717S126000

Reexamination Certificate

active

06463578

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to computer software development and, more particularly, to computer software debugging.
BACKGROUND OF THE INVENTION
Java is an object-oriented programming language developed by Sun Microsystems, Mountain View, California. Java is a portable and architecturally neutral language. Java source code is compiled into a machine-independent format that can be run on any machine with a Java runtime system known as the Java Virtual Machine (JVM). The JVM is defined as an imaginary machine that is implemented by emulating a processor through the use of software on a real machine. Accordingly machines running under diverse operating systems, including UNIX, Windows 95, Windows NT, and MacIntosh having a JVM can execute the same Java program.
Java Server Page (JSP) technology is a scripting language technology for controlling the content or appearance of Web pages through the use of server-side applications, known as “servlets.” Servlets are Java applications that run on a Web server to modify Web pages before they are sent to requesting clients. Servlets may be referred to as server-side applets or applications. Similar to the way applets run on a browser and extend a browser's capabilities, servlets run on a Java-enabled Web server and extend the Web server's capabilities. Servlets use classes and methods in the JavaSoft Java Servlet Application Programming Interface (API). The JavaSoft Java Servlet Application Programming Interface (API) is described at http://www.ibm.com/java/servexp/sedocd.html, which is incorporated herein by reference in its entirety. As is known to those skilled in this art, servlets may be local or remote. That is, servlets may reside on a Web server receiving a request from a Web client or may be located on a server remotely located from the Web server receiving a Web client request.
In response to a client request for a Web page, a JSP file referred to in the requested Web page typically is transformed into (or may call) one or more servlets that execute. A JSP file typically contains source code in a markup language, such as HyperText Markup Language (HTML) and Extensible Markup Language (XML). This source code typically includes all the information needed to call one or more servlets. A servlet typically generates an HTML response to a requesting client.
As is known to those of skill in the art, “debugging” is the process of locating and fixing or bypassing bugs (errors) in computer program code. Debugging tools are typically available for various software development environments and can be used to help identify coding errors. Many programming language packages include a debugger tool for checking code for errors as it is being written. A debugger tool typically facilitates stepwise (i.e., line-by-line) execution of program instructions that is frozen at prescribed execution intervals to allow user inspection of various aspects of program execution.
Conventional compilers for compiling JSP files into Java class files create an intermediate Java source file that is not visible to the JSP file creator. However, existing debugger tools for debugging a compiled Java class file typically displays the source code of the intermediate Java source file as the source of the Java class file, not the markup language source code of the JSP file. Unfortunately, because an intermediate Java source file is not created by the JSP file creator, the source code of an intermediate Java source file may be of little use to a developer in debugging the original JSP file. Accordingly, there is a need for a debugger that allows a developer to debug a generated Java class file by stepping through the source code of the original JSP file from which the Java class file was generated.
SUMMARY OF THE INVENTION
The present invention is directed to systems, methods and computer program products for debugging markup language source code of JSP files via Java class files generated therefrom. The markup language source code within a JSP file is converted to an intermediate Java source file when a client request is directed to the JSP file. The Java source file contains source code in the Java programming language. According to the present invention, non-executable comments are included within the Java source code of an intermediate Java source file to identify portions of the Java source code that correspond to respective portions of the markup language source code in the JSP file.
According to the present invention, debugging operations can be performed on a JSP file using a Java class file generated therefrom. A Java class file is subjected to introspection to locate a source file specifier that identifies the filename of a Java source file from which the Java class file was compiled. The Java class file is also subjected to introspection to identify one or more source-to-bytecode tables associated with the Java class file. A source-to-bytecode table includes information that associates bytecode therewithin to respective portions of Java source code within a Java source file identified by a source file specifier.
According to the present invention, the identified source-to-bytecode tables are modified to include information provided within the comments of the Java source file source code to link respective portions of the Java source code with respective portions of the markup language source code of the JSP file. This modification provides a link between respective bytecodes within the Java class file and respective portions of the markup language source code of the JSP file.
In addition, the located source file specifier is modified to indicate the JSP file as the source file from which the Java class file is compiled. This may be implemented by changing the file name of the Java source file in the source file specifier to the file name of the JSP file.
After the source-to-bytecode tables have been modified as described above and the source file specifier has been modified to indicate the JSP file as the source file of the Java class file, the Java class file can be executed within a JVM debugger tool to debug the markup language source code of the JSP file. The debugger tool is thereby “fooled” into believing that the markup language source code of the JSP file matches the bytecode of the compiled Java class file. A user can thereby step through the markup language source code during debugging operations.


REFERENCES:
patent: 5124989 (1992-06-01), Padawer et al.
patent: 5319645 (1994-06-01), Bassi et al.
patent: 5371747 (1994-12-01), Brooks et al.
patent: 5426648 (1995-06-01), Simamura
patent: 5432795 (1995-07-01), Robinson
patent: 5740440 (1998-04-01), West
patent: 5764989 (1998-06-01), Gustafsson et al.
patent: 5778230 (1998-07-01), Wimble et al.
patent: 5784553 (1998-07-01), Kolawa et al.
patent: 5848246 (1998-12-01), Gish
patent: 5892941 (1999-04-01), Khan et al.
patent: 5901315 (1999-05-01), Edwards et al.
patent: 6081665 (2000-06-01), Nilsen et al.
patent: 6119247 (2000-09-01), House et al.
patent: 6151618 (2000-11-01), Wahbe et al.
patent: 6226786 (2001-05-01), Hickman et al.
patent: 6256752 (2001-07-01), Blandy et al.
patent: 6260187 (2001-07-01), Cirne
patent: 6353897 (2002-03-01), Nock et al.
Title: A Formal Framework for Java Bytecode Language and verifier, author: Freund et al, ACM, Oct., 1999.*
Title: Criteria for Testing Exception-Handling constructs in Java Programs, Sinha et al, IEEE, Aug. 1999.*
Title: Java Development Environments (Panel), author: Wasserman, ACM, 1997.*
“Chapter 3, The Structure of the Java Virtual Machine,” The Java Virtual Machine Specification, Sun Microsystems, Inc., 1999 (http://java.sun.com/docs/books/vm . . . nd-edition/html/Overview.doc.html).

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Systems, methods and computer program products for debugging... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Systems, methods and computer program products for debugging..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Systems, methods and computer program products for debugging... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2999886

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.