Patents Assigned to Compuware Corporation
-
Patent number: 6219829Abstract: A test management system is provided having high flexibility of test structuring capabilities, and fine-grained control over how tests are executed. The test management system is extensible; i.e., it can integrate with modern testing tools without requiring a modification of the system itself. More specifically, the test management system uses concepts such as encapsulation and inheritance in order to provide powerful test structuring and test execution capabilities and a framework for integrating with multiple “point tools” that create test cases or help analyze the state of a software program. As is the case with object-oriented software, the test management system is very extensible and new point tools can easily be integrated with the system. The test management system also allows reuse of “rules” specified at different levels in the test structure.Type: GrantFiled: February 8, 2000Date of Patent: April 17, 2001Assignee: Compuware CorporationInventors: Arunachallam Sivakumar, Stephen L. Kaufer
-
Patent number: 6186677Abstract: Instrumenting a computer program to provide instrumented byte code includes examining an initial intermediate representation of the program, selecting portions of the initial intermediate representation for instrumentation, and instrumenting the portions. Selecting the portions may include choosing portions of the initial intermediate representation corresponding to pointer arithmetic operations, operations that reads memory locations, operations that change memory locations, and/or operations that causes program variables to become defined or undefined within the program. Instrumenting the portions may include adding run time code that provides a user with an indication when a run time error occurs. The portions may subsequently be converted to byte code.Type: GrantFiled: April 23, 1998Date of Patent: February 13, 2001Assignee: Compuware CorporationInventors: David J. Angel, Farokh Morshed, David A. Seidel
-
Patent number: 6182146Abstract: A system, method, and software product dynamically determine network applications associated with any ports being used by packets on a network, allowing the packets to be properly routed, counted, and reported according to their applications. In one embodiment, an application-port mapping table stores static associations or mappings between applications and ports, as defined by a standards body or other source. The application-port mapping table is dynamically updated during runtime to reflect dynamic associations between applications and ports as extracted from packet data. The associations are identified by a packet analysis module which performs a two step verification of an application for a packet. In a first step, the packet analysis module applies the ports from a packet to the application-port mapping table to obtain a first application identifier. In a second, separate step, the packet analysis module applies identification logic to the packet to identify an application based on packet data.Type: GrantFiled: June 27, 1997Date of Patent: January 30, 2001Assignee: Compuware CorporationInventor: John Graham-Cumming, Jr.
-
Patent number: 6144961Abstract: A network monitoring and management system (10) is provided for use in conjunction with a computer network array (12) including a plurality of identifiable branch arrays known as LANS (14). The system (10) includes a sampling assembly () including a plurality of probe computers (42) situated along selected ones of the LANS (14) for "capturing" data packets (22) and building probe objects (52) corresponding thereto. The system (10) further includes an analysis assembly () including a database computer (98) for receiving a plurality of probe objects (52) and manipulating them with a database builder routine (96) into database objects (100), which are stored in a database (99). The database (99) is then subject to analysis routines in a database management system (138) which extract and display information relating to the operational parameters of the computer network array (12), including a network map (144), a plurality of conversation path maps (150) and performance specifications.Type: GrantFiled: March 21, 1997Date of Patent: November 7, 2000Assignee: Compuware CorporationInventor: Pierre de la Salle
-
Patent number: 6035426Abstract: The invention modifies an executing instance (target process) of an arbitrary computer program by replacing the heap manager in the target process. All functions in the process that manipulate dynamic memory are patched with replacement functions that implement improved heap management. The invention is applicable to any computer program that makes use of dynamic (heap) memory. In a second aspect of the invention, the improved heap implementation performs heap error checking in addition to managing heap storage. Alternative embodiments use the invention to improve performance (speed) using fast allocation algorithms, improve space efficiency of the program, or implement tracing of heap activity for debugging purposes.Type: GrantFiled: August 20, 1998Date of Patent: March 7, 2000Assignee: Compuware CorporationInventor: Arthur D. Applegate
-
Patent number: 6031990Abstract: A test management system is provided having high flexibility of test structuring capabilities, and fine-grained control over how tests are executed. The test management system is extensible; i.e., it can integrate with modern testing tools without requiring a modification of the system itself. More specifically, the test management system uses concepts such as encapsulation and inheritance in order to provide powerful test structuring and test execution capabilities and a framework for integrating with multiple "point tools" that create test cases or help analyze the state of a software program. As is the case with object-oriented software, the test management system is very extensible and new point tools can easily be integrated with the system. The test management system also allows reuse of "rules" specified at different levels in the test structure.Type: GrantFiled: April 15, 1997Date of Patent: February 29, 2000Assignee: Compuware CorporationInventors: Arunachallam Sivakumar, Stephen L. Kaufer
-
Patent number: 6016466Abstract: Determining execution time for a portion of software includes obtaining a first time stamp value at a beginning of the portion and obtaining a second time stamp value at an end of the portion. At least one of the first and second time stamp values is adjusted to compensate for any amount of time that the portion is swapped out in a multitasking operating system. The first time stamp value is subtracted from the second time stamp value to determine execution time. Determining execution time may also include providing a deltaout value that is initialized to zero prior to the portion being run for a first time. The deltaout value is incremented by an amount of time the portion is swapped out. The first time stamp value is compensated by subtracting the deltaout value therefrom and the second time stamp value is compensated by subtracting the deltaout value therefrom.Type: GrantFiled: May 14, 1998Date of Patent: January 18, 2000Assignee: Compuware CorporationInventors: Thomas Guinther, James Austin
-
Patent number: 6006263Abstract: A system and method is described for expediting the transfer of data in a network system wherein a user is coupled by a slow-speed data transfer facility to a first user environment which is the primary interface system for the user. The user begins the process by requesting the download of a data packet. The user interface sends a request for source information to the first user environment along its slow-speed data transfer facility. The response to the request consists of the source information of the data packet. The source information is received by the user interface, and is then sent to the second user environment having a fast-speed data transfer facility. The second user environment locates the data packet using the source information, and downloads the data packet to the user interface through the fast-speed data transfer facility.Type: GrantFiled: January 20, 1998Date of Patent: December 21, 1999Assignee: Compuware CorporationInventor: Michael A. Horwitz
-
Patent number: 5949972Abstract: The invention modifies an executing instance (target process) of an arbitrary computer program by replacing the heap manager in the target process. All functions in the process that manipulate dynamic memory are patched with replacement functions that implement improved heap management. The invention is applicable to any computer program that makes use of dynamic (heap) memory. In a second aspect of the invention, the improved heap implementation performs heap error checking in addition to managing heap storage. Alternative embodiments use the invention to improve performance (speed) using fast allocation algorithms, improve space efficiency of the program, or implement tracing of heap activity for debugging purposes.Type: GrantFiled: August 23, 1996Date of Patent: September 7, 1999Assignee: Compuware CorporationInventor: Arthur D. Applegate
-
Patent number: 5878420Abstract: A network monitoring and management system (10) is provided for use in conjunction with a computer network array (12) including a plurality of identifiable branch arrays known as LANS (14). The system (10) includes a sampling assembly (38) including a plurality of probe computers (42) situated along selected ones of the LANS (14) for "capturing" data packets (22) and building probe objects (52) corresponding thereto. The system (10) further includes an analysis assembly (40) including a database computer (98) for receiving a plurality of probe objects (52) and manipulating them with a database builder routine (96) into database objects (100), which are stored in a database (99). The database (99) is then subject to analysis routines in a database management system (138) which extract and display information relating to the operational parameters of the computer network array (12), including a network map (144), a plurality of conversation path maps (150) and performance specifications.Type: GrantFiled: October 29, 1997Date of Patent: March 2, 1999Assignee: Compuware CorporationInventor: Pierre de la Salle
-
Patent number: 5822585Abstract: An object-oriented framework is used to build cooperative objects. Objects can span processes on different machines connected by a network. The objects are used to build distributed or cooperative applications which execute in multiple environments without having to write significant additional code to enable such functionality. Each cooperative object has two parts: an agent object and a server object. Requests for services are made to agent objects by the application program (via an asynchronous interface) as if they were local objects. The server object performs the requested service in the server process, possibly using other server objects or systems (e.g., DB/2), and returns the result to the associated agent object. A Distributor and Dispatcher object in each process handle communication between agent and server objects. The Distributor receives all incoming messages and routes them to the appropriate objects in the process. The Dispatcher is used for sending messages to other objects.Type: GrantFiled: May 30, 1997Date of Patent: October 13, 1998Assignee: Compuware CorporationInventors: William Noble, Michael Knight, Karen Nelson-Katt