Including Instrumentation And Profiling Patents (Class 717/130)
-
Patent number: 8881115Abstract: Debugging source code includes: tracking, by a debugger during a debug session, duration of user examination of source code locations; providing, by the debugger to an optimizing compiler, a source code examination profile specifying source code locations examined by the user during the debug session; and receiving, by the debugger from the optimizing compiler: compiled source code for debugging, the compiled source code comprising, at each of one or more source code locations specified in the source code examination profile: a snapshot before the source code of the source code location, followed by an expanded snapshot, the expanded snapshot including computer program instructions to enable, during a debug session, examination of variable values changing during execution of the source code at the source code location; and a recording of snapshot locations and expanded snapshot locations.Type: GrantFiled: April 17, 2012Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventors: Cary L. Bates, Justin K. King, Lee Nee
-
Publication number: 20140325489Abstract: A method of analyzing a software program includes compiling the software program into an intermediate representation. The method also includes finding an instruction in the intermediate representation that matches a pattern in a check pattern. The method also includes generating an instrumented intermediate representation in which the instruction is modified according to an action specified in the check pattern. The method also includes symbolically executing the instrumented intermediate representation.Type: ApplicationFiled: April 30, 2013Publication date: October 30, 2014Applicant: FUJITSU LIMITEDInventor: Hiroaki YOSHIDA
-
Patent number: 8875108Abstract: A method of detecting a bottleneck in a data flow program includes executing the data flow program, wherein the data flow program comprises a kernel, determining a percentage of time the kernel spends on a computation, and determining the kernel to be a bottleneck upon comparing the percentage of time the kernel spends on the computation to a condition.Type: GrantFiled: January 12, 2012Date of Patent: October 28, 2014Assignee: International Business Machines CorporationInventors: Yoonseo Choi, Cheng-Hong Li
-
Patent number: 8875106Abstract: A method, computer program product, and system for automating a test environment is provided. The method may include providing, at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween. The method may further include inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test. The method may also include automatically modifying, via the computing device, the class-under-test at runtime.Type: GrantFiled: March 30, 2012Date of Patent: October 28, 2014Assignee: International Business Machines CorporationInventors: Mauro Arcese, Marco Imperia, Marco Mattia, Genoveffa Nacchia, Leonardo Rosati, Stefano Sidoti
-
Publication number: 20140317747Abstract: An exemplary method includes performing a first static analysis to locate elements within a program and instrumenting the program to enable a subsequent dynamic analysis based on the located elements. The method includes executing the instrumented program and performing during execution analysis to determine individual sets of statements in the program affected by a corresponding element. The method includes partitioning the sets of statements into partitions based on one or more considerations, each partition including one or more of the elements. The method includes performing a second static analysis on the partitions of the program to produce results and outputting the results. The method may be performed for, e.g., security (e.g., taint) analysis, buffer overflow analysis, and typestate analysis. Apparatus and program products are also disclosed.Type: ApplicationFiled: April 17, 2013Publication date: October 23, 2014Applicant: International Business Machines CorporationInventors: Omer Tripp, Marco Pistoia, Salvatore A. Guarnieri
-
Publication number: 20140317748Abstract: An exemplary apparatus and computer program product are disclosed which employ a method that includes performing a first static analysis to locate elements within a program and instrumenting the program to enable a subsequent dynamic analysis based on the located elements. The method includes executing the instrumented program and performing during execution analysis to determine individual sets of statements in the program affected by a corresponding element. The method includes partitioning the sets of statements into partitions based on one or more considerations, each partition including one or more of the elements. The method includes performing a second static analysis on the partitions of the program to produce results and outputting the results. The method may be performed for, e.g., security (e.g., taint) analysis, buffer overflow analysis, and typestate analysis.Type: ApplicationFiled: September 12, 2013Publication date: October 23, 2014Applicant: International Business Machines CorporationInventors: Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
-
Patent number: 8869118Abstract: System aware performance counters including a processor for performing a method that includes executing a predefined code segment of an application, the executing on a processor. The executing includes executing an instrumented thread included in the predefined code segment. The method includes performing a first action associated with executing the instrumented thread in the predefined code segment, and registering the instrumented thread. A performance counter associated with the predefined code segment is started. Also, the execution of the predefined code segment is paused and the performance counter is paused. The method further includes performing a second action associated with pausing the executing of the predefined code segment. The executing of the predefined code segment is resumed and the performance counter is resumed responsive to resuming the executing of the predefined code segment. Also, a third action associated with resuming executing the predefined code segment is performed.Type: GrantFiled: June 1, 2011Date of Patent: October 21, 2014Assignee: International Business Machines CorporationInventors: Raymond M. Higgs, George P. Kuch, Bruce H. Ratcliff
-
Patent number: 8863094Abstract: Provided are techniques for receiving an error inject script that describes one or more error inject scenarios that define under which conditions at least one error inject is to be executed and compiling the error inject script to output an error inject data structure. While executing code that includes the error inject, an indication that an event has been triggered is received, conditions defined in the one or more error inject scenarios are evaluated using the error inject data structure, and, for each of the conditions that evaluates to true, one or more actions defined in the error inject script for the condition are performed.Type: GrantFiled: May 18, 2010Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventor: Cheng-Chung Song
-
Patent number: 8863091Abstract: A computer is programmed with multiple software programs to record structures including (a) unstructured information to denote a transition between portions of code, and (b) metadata related to one or more attributes of the information. In addition, the computer writes two additional types of structures: section type, and dump type. The section type structure has metadata to indicate a beginning and an end, to bracket a group of structures located therebetween. The dump type has a dump header and a dump body. The dump header includes a symbol to indicate it's of dump type. The dump body is a set of values of an object used by the software program(s) during execution by the computer. A group of structures, within a section type, may include structures of each of the trace record type, dump type and section type.Type: GrantFiled: August 8, 2008Date of Patent: October 14, 2014Assignee: Oracle International CorporationInventors: Benoit Dageville, Amirali S. Valiani, Hailing Yu, Gary Ngai
-
Patent number: 8863089Abstract: Analysis data from the execution of a computer program is collected. The analysis data may include samples of two different types of performance data from the execution of the computer program. Performance data may include sampled hardware performance counter data and sampled executing functions. The performance data is used to create a composite view of the data. The composite view may allow a user to efficiently correlate the different types of performance data by using a colored visual display.Type: GrantFiled: May 5, 2011Date of Patent: October 14, 2014Assignee: Nintendo Co., Ltd.Inventors: Steve Rabin, Chad Hinkle
-
Patent number: 8863093Abstract: A method to instrument program code for a virtual machine that comprises, in the course of loading a class to a virtual machine, adding code to the class to declare a field that corresponds to a field declared in a first bootstrap class.Type: GrantFiled: March 6, 2009Date of Patent: October 14, 2014Assignee: Coverity, Inc.Inventors: Andy Chou, John Kodumal
-
Publication number: 20140304688Abstract: A method and system for generating and processing test cases for effective black box testing of software applications is provided. Test cases are automatically generated based on parameters that are identified from automated manual test cases associated with business models. The generated automated test cases cover one or more paths in the business models. Further, the automated test cases are optimized by determining minimal path covered by the automated test cases in the business models. The optimization is performed based on analysis of the one or more paths covered by the automated test cases in the business models. Furthermore, code coverage data of the optimized test cases are obtained by execution of the optimized test cases. Finally, based on the code coverage data and predetermined conditions, the optimized test cases are analyzed for at least prioritization and further optimization of the optimized test cases for effective black box testing.Type: ApplicationFiled: June 23, 2014Publication date: October 9, 2014Inventors: Anant Ramdev Bhat, Giripriya MeenakshiSundaram, Naveen Kumar
-
Patent number: 8856753Abstract: Processor performance in executing a section of software code is measured. A clock associated with the section of software code. It is detected that the section of software code is beginning to be executed. In response, the clock associated with the section of software code is started. It is then detected that the section of software code is no longer being executed. In response, the clock associated with the section of software code is stopped. The clock is stopped and restarted as the section of software code temporarily stops execution to cede control to other sections of software code. Ultimately, a value of the clock associated with the section of software code is output, where the value corresponds to the processor performance in executing the section of software code.Type: GrantFiled: April 18, 2008Date of Patent: October 7, 2014Assignee: International Business Machines CorporationInventor: Gopikrishnan Varadarajulu
-
Patent number: 8850402Abstract: Methods, systems, and products for determining performance of a software entity running on a data processing system. The method comprises allowing extended execution of the software entity without monitoring code. The method also comprises intermittently sampling behavior data for the software entity. Intermittently sampling behavior data may be carried out by injecting monitoring code into the software entity to instrument the software entity, collecting behavior data by utilizing the monitoring code, and removing the monitoring code. The method also comprises repeatedly performing iterations of the allowing and sampling steps until collected behavior data is sufficient for diagnosing performance of the software entity. The method may further comprise analyzing the collected behavior data to diagnose performance of the software entity.Type: GrantFiled: May 22, 2009Date of Patent: September 30, 2014Assignee: International Business Machines CorporationInventors: Randall Ray Heisch, Bret Ronald Olszewski
-
Patent number: 8850403Abstract: Implementations of the present disclosure provide methods including executing a profiling session to profile one or more applications running on a virtual machine executed on a server, collecting profiling data over a first time interval during the profiling session, receiving user input generated at a client device, the client device being in communication with the server, in response to the user input, generating a snapshot corresponding to a subset of the profiling data, the snapshot being identified based on a second time interval that is within the first time interval, and transmitting the profiling data to generate a snapshot view for display on a client device, the snapshot view corresponding to the subset of the profiling data.Type: GrantFiled: December 4, 2009Date of Patent: September 30, 2014Assignee: SAP AGInventors: Michael Wintergerst, Dietrich Mostowoj, Ralf Schmelter
-
Patent number: 8849985Abstract: A system and method for on-the-fly instrumentation of a rich Web-site is disclosed herein. On a server-side, a plurality of objects of an HTML page are modified by adding additional instrumentation code and attributes to create a modified HTML page, which is served to a client-side.Type: GrantFiled: December 1, 2008Date of Patent: September 30, 2014Assignee: Appcelerator, Inc.Inventors: Paul Colton, Uri Sarid, Kevin Edward Lindsey
-
Patent number: 8843932Abstract: Execution of a computer program on a multiprocessor system is monitored to detect possible excess parallelism causing resource contention and the like and, in response, to controllably limit the number of processors applied to parallelize program components.Type: GrantFiled: January 12, 2011Date of Patent: September 23, 2014Assignee: Wisconsin Alumni Research FoundationInventors: Gurindar S. Sohi, Srinath Sridharan, Gagan Gupta
-
Patent number: 8843901Abstract: A tracing system may perform cost analysis to identify burdensome or costly trace objectives. For a burdensome objective, two or more objectives may be created that can be executed independently. The cost analysis may include processing, storage, and network performance factors, which may be budgeted to collect data without undue performance or financial drains on the application under test. A larger objective may be recursively analyzed to break the larger objective into smaller objectives which may be independently deployed.Type: GrantFiled: February 12, 2013Date of Patent: September 23, 2014Assignee: Concurix CorporationInventors: Russell S. Krajec, Ying Li
-
Patent number: 8843898Abstract: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.Type: GrantFiled: August 14, 2012Date of Patent: September 23, 2014Assignee: International Business Machines CorporationInventors: William P. Alexander, III, Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
-
Patent number: 8843909Abstract: A method for transforming a procedural program having procedural language code into an object-oriented distributed software program is provided. A procedural program is transformed into intermediate client-server code. The intermediate client-server code is partitioned into an N-tier application program.Type: GrantFiled: July 8, 2004Date of Patent: September 23, 2014Assignee: CA, Inc.Inventors: David L. Tondreau, Jr., John P. Mahony
-
Publication number: 20140282431Abstract: Embodiments provide systems, methods, and computer program products for dynamically hooking multiple levels of application code. A server receives identifying information that identifies a target function of a target application to hook. The server pauses a target process of the target application. The server locates the target function within the target application code based on the received identifying information. The server then hooks the located function outside of the target application, thereby creating hooked code during application runtime.Type: ApplicationFiled: March 14, 2014Publication date: September 18, 2014Applicant: Riverbed Technology, Inc.Inventor: John J. DELIO, JR.
-
Publication number: 20140282430Abstract: The current application is directed to crosscutting functionalities, including byte-code instrumentation, error logging, and other such crosscutting functionalities. These crosscutting functionalities generally violate, or run counter to, modern code-development strategies and programming-language features that seek to partition logic into hierarchically organized compartments and modules with related functionalities, attribute values, and other common features. In particular, the current application is directed to byte-code instrumentation introduced into a computer program for collecting data, such as execution traces, elapsed times for routine execution, and other information at run time for logging and subsequently manual, semi-automatic, or automatic analysis. The current application is particularly directed to byte-code instrumentation that automatically filters collected data in order to log only data having greatest value for subsequent analysis.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: Pivotal Software, Inc.Inventors: John Victor Kew, Jonathan Travis
-
Publication number: 20140282429Abstract: Algorithm selection for collective operations in a parallel computer that includes a plurality of compute nodes may include: profiling a plurality of algorithms for each of a set of collective operations, including for each collective operation: executing the operation a plurality times with each execution varying one or more of: geometry, message size, data type, and algorithm to effect the collective operation, thereby generating performance metrics for each execution; storing the performance metrics in a performance profile; at load time of a parallel application including a plurality of parallel processes configured in a particular geometry, filtering the performance profile in dependence upon the particular geometry; during run-time of the parallel application, selecting, for at least one collective operation, an algorithm to effect the operation in dependence upon characteristics of the parallel application and the performance profile; and executing the operation using the selected algorithm.Type: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: INTERNATIONAL BUSINESS MACHINES CORPORATION
-
Patent number: 8838801Abstract: A method for cloud optimization using workload analysis is provided in the illustrative embodiments. An architecture of a workload received for execution in a cloud computing environment is identified. The cloud computing environment includes a set of cloud computing resources. A section of the workload is identified and marked for static analysis. Static analysis is performed on the section to determine a characteristic of the workload. A subset of the set of cloud computing resources is selected such that a cloud computing resource in the subset is available for allocating to the workload and has a characteristic that matches the characteristic of the workload as determined from the static analysis. The subset of cloud computing resources is suggested to a job scheduler for scheduling the workload for execution.Type: GrantFiled: July 16, 2012Date of Patent: September 16, 2014Assignee: International Business Machines CorporationInventors: Sangram Alapati, Prathiba Kumar, Gowri Palani, Rajan Ravindran, Satish Kumar Sadasivam
-
Patent number: 8839208Abstract: Systems and methods for rating interestingness of profiling data subsets are described. Profiling data including a set of nodes associated with at least one executed computer program is received. The profiling data contains a first set of scores corresponding to the resource consumption of the nodes. A second set of scores is identified from the profiling data, wherein a score of the second set of scores indicates a combined resource consumption of a corresponding node of the set of nodes and at least one other node of the set of nodes related to the corresponding node. An interestingness rate is evaluated for groups of nodes of the set of nodes based on the corresponding scores. The group of nodes with the highest, or satisfactory high value of the calculated interestingness rate is presented.Type: GrantFiled: December 16, 2010Date of Patent: September 16, 2014Assignee: SAP AGInventors: Ralf Schmelter, Dietrich Mostowoj, Johannes Scheerer, Steffen Schreiber, Michael Wintergerst
-
Patent number: 8839209Abstract: A method for software performance analysis and debugging in a multi-tenant database network system is provided. In at least one embodiment, sampling is achieved using configuration files of each server cluster. Knowledge of the host names of each server in the cluster enables a profiler to target a single server for each sample, thereby facilitating a round-robin sample across a clustered server environment such that a CPU's load and processing cost associated to sampling is fairly and uniformly distributed across all servers in the cluster. As a result, in at least one embodiment of the analysis and debugging tool each sample is a complete stack trace dump of each thread running on the application server at that moment in time.Type: GrantFiled: February 23, 2011Date of Patent: September 16, 2014Assignee: salesforce.com, inc.Inventors: William Gallagher, Zuye Zheng, Fiaz Hossain, James Iry, Nagraj Kulkarni
-
Patent number: 8832666Abstract: A method and system for instrumentation are provided along with a method for instrumentation preparation. The method for instrumentation preparation may comprise obtaining address data of an original instruction in an original instruction stream, obtaining kernel mode data comprising a kernel breakpoint handler, obtaining user mode data comprising a user breakpoint handler, allocating a page of a process address space, creating a trampoline, associating the trampoline with a breakpoint instruction, and replacing the original instruction with the breakpoint instruction. The method for instrumentation may comprise detecting the breakpoint instruction, calling the kernel breakpoint handler, modifying an instruction pointer via the kernel breakpoint handler such that the instruction pointer points to the trampoline, and executing the trampoline.Type: GrantFiled: December 21, 2009Date of Patent: September 9, 2014Assignee: International Business Machines CorporationInventors: Balbir Singh, Maneesh Soni
-
Patent number: 8826244Abstract: Method for providing programming support to a debugger are disclosed. The method includes defining at least one debugger programming statement, and instructing the debugger to execute the at least one debugger programming statement which modifies a least a portion of the computer program during execution of the computer program without recompiling the computer program. The debugger may be instructed to execute the at least one debugger programming statement at a specified position of the computer program. The at least one debugger programming statement may include a delete instruction that instructs the debugger to prevent one or more programming statements at a specified position in the computer program from being executed. The debugger may be instructed to execute the at least one debugger programming statement instead of one or more programming statements at a specified position in the computer program without recompiling the computer program.Type: GrantFiled: March 27, 2012Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Madhusudanan Kandasamy, Vidya Ranganathan
-
Patent number: 8826242Abstract: An exemplary method includes providing an application that includes client-side code and server-side code, instrumenting the client-side code and the server-side code to generate timestamps, distributing the instrumented client-side code and the instrumented server-side code and monitoring timestamps generated during execution of the application. In such a method, where timestamps generated by the client-side code and timestamps generated by the server-side code occur along a common timeline, a developer can monitor performance of the distributed application. Other exemplary methods, systems, etc., are also disclosed.Type: GrantFiled: November 27, 2007Date of Patent: September 2, 2014Assignee: Microsoft CorporationInventors: Benjamin Livshits, William GJ Halfond, Jeffrey Van Gogh
-
Patent number: 8826234Abstract: A relational model may be used to encode primitives for each of a plurality of threads in a multi-core processor. The primitives may include tasks and parameters, such as buffers. The relationships may be linked to particular tasks. The tasks with the coding, which indicates the relationships, may then be used upon user selection to display a visualization of the functional relationships between tasks.Type: GrantFiled: December 23, 2009Date of Patent: September 2, 2014Assignee: Intel CorporationInventors: Christopher J. Cormack, Nathaniel Duca, Jason Plumb
-
Patent number: 8826240Abstract: Application validation is performed based at least in part on object level hierarchy data associated with the application. An application is executed on a physical or emulated host device, and assembly code is generated for the executing application. The assembly code is analyzed to identify objects associated with the application, and to identify relationships between the objects. Based on the object and relationship data, an object level hierarchy is generated for the application. Validation of the application may be performed by comparing an object level hierarchy for a current version of the application to a previously generated hierarchy for a previous version of the application to identify differences between to the two hierarchies.Type: GrantFiled: September 29, 2012Date of Patent: September 2, 2014Assignee: Appurify, Inc.Inventors: Manish Lachwani, Jay Srinivasan, Rahul Jain, Pratyus Patnaik
-
Patent number: 8826243Abstract: In one embodiment, a computer program product for injecting error code includes a computer readable storage medium having computer readable program code embodied therewith. The computer readable program code includes computer readable program code configured to determine critical points in executing code of software under test, computer readable program code configured to determine an appropriate response action for each critical point based on an error encountered at each critical point, computer readable program code configured to inject a critical point segment into the executing code at a corresponding critical point, and computer readable program code configured to output a unique identifier of each critical point segment. In another embodiment, a system includes a processor, and a computer readable storage medium having computer readable program code embodied therewith having the above described functionality. Other systems and computer program products are described according to more embodiments.Type: GrantFiled: December 14, 2010Date of Patent: September 2, 2014Assignee: International Business Machines CorporationInventors: Gerard M. Dearing, Terri A. Menendez
-
Patent number: 8819633Abstract: Methods for testing a software application by providing one or more test units. Each test unit is adapted to verify a feature of the software application. A weight is assigned to each test unit. A theoretical sequence of execution of the test units is determined for the assigned weights and the test units are executed for the theoretical sequence.Type: GrantFiled: March 25, 2012Date of Patent: August 26, 2014Assignee: International Business Machines CorporationInventors: Riccardo Rossi, Gianluca Seghetti
-
Patent number: 8819642Abstract: A method and system for generating and processing test cases for effective black box testing of software applications is provided. Test cases are automatically generated based on parameters that are identified from automated manual test cases associated with business models. The generated automated test cases cover one or more paths in the business models. Further, the automated test cases are optimized by determining minimal path covered by the automated test cases in the business models. The optimization is performed based on analysis of the one or more paths covered by the automated test cases in the business models. Furthermore, code coverage data of the optimized test cases are obtained by execution of the optimized test cases. Finally, based on the code coverage data and predetermined conditions, the optimized test cases are analyzed for at least prioritization and further optimization of the optimized test cases for effective black box testing.Type: GrantFiled: July 9, 2012Date of Patent: August 26, 2014Assignee: Cognizant Technology Solutions India Pvt. Ltd.Inventors: Anant Ramdev Bhat, Giripriya MeenakshiSundaram, Naveen Kumar
-
Patent number: 8813055Abstract: A system and method for profiling a software application may include means for operating on context-specific data and costs. The system may include a descriptor apparatus for specifying identifiers of extended address elements to be profiled and locations for storing corresponding data values. In some embodiments, a list of variables to be included in profiling may be registered with an event agent and values of the variables may be captured in response to detection of a system event. Registering variables to be profiled may involve conveying a list of the variables or a pointer to such a list to the event agent. The event agent may associate the values of the registered variables with the detected system event and may store them in an event space database. The database may be accessed by a data space profiler to identify performance bottlenecks dependent on one or more registered variable values.Type: GrantFiled: November 8, 2006Date of Patent: August 19, 2014Assignee: Oracle America, Inc.Inventor: Nicolai Kosche
-
Patent number: 8813056Abstract: A program is executed with a first programmable device (10). Device operating points such as power supply voltage and/or clock frequency are adapted dependent on the states reached by the device during execution. Operation of programs that may have been sold after the device has been supplied to users is optimized by executing the computer program on each of a plurality of programmable devices (10) like the first programmable device, and collecting statistical data associated with the execution states encountered during execution by the plurality of programmable devices (10). Each of the plurality of programmable devices (10) collects its own statistical data and uploads the collected information to a common profiling apparatus (14). The profiling apparatus assigns device operating points to respective ones of the execution states, using an optimization that depends on the combined statistical data from the plurality of programmable devices (10).Type: GrantFiled: August 13, 2008Date of Patent: August 19, 2014Assignee: NXP B.V.Inventors: Artur Tadeusz Buchard, Petr Kourzanov, Ger Kersten
-
Patent number: 8813046Abstract: A system and computer-implemented method for transforming source code in an original natively encoded format to a locale neutral format, wherein data types and functions in the original format are estimated for compliance with the locale neutral format and an estimation is made as to the amount of code conversions necessary to comply with the locale neutral format. In addition, image files referenced by the source code is analyzed and embedded text extracted for enabling translation during the localization process.Type: GrantFiled: June 21, 2012Date of Patent: August 19, 2014Assignee: Infosys LimitedInventors: Suraj Nair, Krishna Markande, Aviraj Singh
-
Patent number: 8813041Abstract: In one embodiment, a method for inserting advertising into an application includes removing first application code from a first input executable file and placing it into an output executable file, wherein the first application code represents code part of the application. Then a first set of proxies is inserted into the first input executable file, wherein the first set of proxies, when run, makes calls to the first application code. Second application code is added into the output executable file, wherein the second application code represents code executable to display the advertising. The output executable file is compressed. Then, the first input executable file and the output executable file are provided to a device such that the device may load and execute the files.Type: GrantFiled: February 14, 2008Date of Patent: August 19, 2014Assignee: Yahoo! Inc.Inventor: Thomas Lopatic
-
Patent number: 8806448Abstract: An apparatus and method for dynamically analyzing a program are provided. The apparatus and method help minimize overhead in tracing the execution of the program without substantially affecting the operation of the program at run time. The method includes storing an environment value before execution of a function of a main page by storing a first instruction of the function in a temporary page before execution of the first instruction. The method also includes inserting a break instruction at an address of the first instruction in the main page, executing the break instruction, and storing an environment value after execution of the function by executing a break instruction of the temporary page.Type: GrantFiled: May 27, 2011Date of Patent: August 12, 2014Assignee: Samsung Electronics Co., Ltd.Inventor: Jae-Hoon Jeong
-
Patent number: 8806435Abstract: A method and system to remotely log debug information is described. A computer executing program code generates debug information upon the occurrence of an error in execution. The debug information is then sent to a remote computer using a network adaptor. In one embodiment, the computer executing the program is Extensible Firmware Interface (EFI) compliant.Type: GrantFiled: December 31, 2004Date of Patent: August 12, 2014Assignee: Intel CorporationInventors: Ying'an Deng, Rui Jian, Caidong Song, Yuanhao Sun, Zhi Wang
-
Patent number: 8806437Abstract: A method, computer program product, and system for automating a test environment is provided. The method may include providing, at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween. The method may further include inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test. The method may also include automatically modifying, via the computing device, the class-under-test at runtime.Type: GrantFiled: June 29, 2011Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventors: Mauro Arcese, Marco Imperia, Marco Mattia, Genoveffa Nacchia, Leonardo Rosati, Stefano Sidoti
-
Patent number: 8799871Abstract: An exemplary embodiment provides methods, systems and mediums for executing arithmetic expressions that represent elementwise operations. An exemplary embodiment provides a computing environment in which elementwise expressions may be executed in parallel by multiple execution units. In an exemplary embodiment, multiple execution units may reside on a network.Type: GrantFiled: January 8, 2007Date of Patent: August 5, 2014Assignee: The MathWorks, Inc.Inventor: Brett Baker
-
Patent number: 8799873Abstract: Collecting tracepoint data includes: maintaining, by a log handler, a list of a plurality of tracepoints and each tracepoint's parameters, the values of the parameters defining, for a tracepoint, information to be stored when an application encounters the tracepoint; encountering, by an application, a tracepoint; determining, responsive to the encounter by the log handler, whether the tracepoint is linked to a different tracepoint; and if the tracepoint is linked to a different tracepoint, determining, by the log handler, whether to modify values of the parameters for the different tracepoint and executing the different tracepoint.Type: GrantFiled: May 10, 2012Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventors: James E. Carey, John M. Santosuosso
-
Patent number: 8799872Abstract: A plurality of samples is generated in a computer to profile and record a plurality of events associated with the computer. For each of the plurality of samples, a plurality of partial samples is accumulated prior to occurrence of each of the plurality of events. In addition, a processor may process a current sample of the plurality of samples in response to (i) a completion of a previous sample of the plurality of samples and (ii) a predetermined threshold quantity of partial samples being accumulated. Embodiments of the invention include methods, systems and computer program products.Type: GrantFiled: June 27, 2010Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventor: Frank E. Levine
-
Patent number: 8793662Abstract: Runtime code hooking techniques are described in which a place holder instruction within a compiled module is used as an entry point to enable code hooking. A hook function to modify a target function is developed. At runtime, the target function to be modified is located. A place holder instruction within the target function is overwritten with instructions to cause execution of the hook function when the target function is called.Type: GrantFiled: March 25, 2008Date of Patent: July 29, 2014Assignee: Microsoft CorporationInventors: Ashwin S. Needamangala, Daniel S. Mihai, Hristo H. Ivanov, Marius Popa, Mariyan D. Fransazov
-
Patent number: 8793656Abstract: A selection method and related application is provided for a framework-based application having programming applications with both language program files and configuration files. In one embodiment, the method comprises abstracting a frame configuration model instance by analyzing configuration files prior to any modifications made to the program. The frame configuration model instance denoting individual configuration nodes in the framework model and further defining relationship between one or more code units in the configuration nodes and program code units in the application. Then one or more control test cases are constructed by profiling select test cases of the application, wherein the control flow consists of code units traversed during test case execution and control flow of said code units. Subsequently, an extended control flow is obtained by correlating configuration nodes in the framework configuration model instance with the code units in said control flow.Type: GrantFiled: December 23, 2010Date of Patent: July 29, 2014Assignee: International Business Machines CorporationInventors: Sheng Huang, Shao C. Li, Zhong J. Li, He H. Liu, Hua F. Tan, Jun Zhu, Wei Zhu
-
Patent number: 8789019Abstract: Various embodiments include at least one of systems, methods, and software to receive input configuring tests within a computing environment to expose users to standard application or website experiences or test experiences. In some embodiments, multiple tests may be configured to run orthogonally within user experiences without affecting the results of one another. Some such embodiments preserve the ability to execute certain tests in a non-orthogonal manner while other tests are allowed to execute orthogonally.Type: GrantFiled: April 22, 2013Date of Patent: July 22, 2014Assignee: eBay Inc.Inventors: Jasdeep Singh Sahni, Anil Madan, Deepak Seetharam Nadig, Po Cheung, Bhavesh Mistry, John Bodine, Michael Lo
-
Patent number: 8789024Abstract: A computer implemented method involving receiving by an integrated development environment an output file from a profiling utility to generate a line chart of data from the output file. The method to visualize profiling data for a binary file automatically and to displaying corresponding source code in response to a user selection of a data point in the line chart.Type: GrantFiled: November 4, 2009Date of Patent: July 22, 2014Assignee: Red Hat, Inc.Inventor: Elliott Baron
-
Publication number: 20140201720Abstract: A branch auditing system can be automatically injected into a computer program, in one embodiment, in response to a programming call provided in source code by a programmer who has selected a particular branch, in a set of possible branches, for auditing. The branch auditing system can record, in an obfuscated data structure, a path taken at the particular branch and the parameters associated with the branch and later an auditor can determine whether the path taken was valid, and if the path taken was invalid, operations can be performed to protect the program, system and/or user.Type: ApplicationFiled: January 14, 2013Publication date: July 17, 2014Applicant: Apple Inc.Inventors: Cedric Tessier, Daniel Reynaud, Jean-Baptise Aviat, Jonathan Gregory McLachlan, Julien Lerouge, Pierre Betouin
-
Patent number: 8782610Abstract: A data structure of a run-time object having a hash value field. The data structure allows an object allocation site to be traced from the run-time object, the object allocation site being a site in a program allocating the run-time object. A method for allowing an object allocation site to be traced from a run-time object includes embedding a value corresponding to the object allocation site in the program. A hash-value field includes the embedded value and the object identifier, and the tracing is performed by identifying the object allocation site that corresponds to the embedded value. A computer system for tracing an object allocation site includes a memory that stores the run-time object; an acquirer that acquires the value from a hash value field; and an identification unit that identifies the object allocation site that corresponds to the acquired value.Type: GrantFiled: August 16, 2013Date of Patent: July 15, 2014Assignee: International Business Machines CorporationInventors: Rei Odaira, Kazunori Ogata