Using Procedure Or Function Call Graph Patents (Class 717/133)
  • Patent number: 9448965
    Abstract: An apparatus can include a first state machine engine configured to receive a first portion of a data stream from a processor and a second state machine engine configured to receive a second portion of the data stream from the processor. The apparatus includes a buffer interface configured to enable data transfer between the first and second state machine engines. The buffer interface includes an interface data bus coupled to the first and second state machine engines. The buffer interface is configured to provide data between the first and second state machine engines.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: September 20, 2016
    Assignee: Micron Technology, Inc.
    Inventors: David R. Brown, Harold B Noyes, Inderjit S. Bains
  • Patent number: 9367426
    Abstract: In one embodiment, a method for call graph analysis is provided. The method includes determining a plurality of nodes in a call graph. The plurality of nodes represent resource consumption of functions of a software program executed in a software system. A simplification factor is determined. A first set of nodes in the plurality of nodes is then eliminated based on exclusive values for the plurality of nodes, inclusive values for the plurality of nodes, and the simplification factor. An inclusive value for a node is a first amount of resources consumed by the node and any descendent nodes of that node. An exclusive value for the node is a second amount of resources consumed by the node. A simplified call graph is output including a second set of nodes in the plurality of nodes. The second set of nodes does not include the eliminated first set of nodes.
    Type: Grant
    Filed: March 4, 2015
    Date of Patent: June 14, 2016
    Assignee: SAP SE
    Inventors: Cheolman Park, Chan Young
  • Patent number: 9292315
    Abstract: For each of a plurality of different tenants configured to concurrently execute in a virtual environment, a respective class loader graph can be constructed. For each respective class loader graph, unique types of edges between nodes that affect class loading can be identified. The edges can be traversed. Based on traversing the edges of the class loader graph, a respective unique dependency identifier (UDI) can be assigned to each class loader request. Class loader requests that are assigned the same UDI can be identified in at least two of the tenants. Responsive to identifying the class loader requests that are assigned the same UDI, a shared class loader can be assigned to each of the class loader requests. Each respective class loader request that is assigned the same UDI can be configured to call the shared class loader to load at least one class required by the respective tenant.
    Type: Grant
    Filed: March 16, 2015
    Date of Patent: March 22, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael H. Dawson, Bentley J. Hargrave, Thomas J. Watson
  • Patent number: 9274768
    Abstract: 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: Grant
    Filed: June 17, 2014
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin S. Needamangala, Daniel S. Mihai, Hristo H. Ivanov, Marius Popa, Mariyan D. Fransazov
  • Patent number: 9244666
    Abstract: A mechanism is provided to globally inline a callee with high cost-effectiveness on the basis only of profile information in a call graph, without looking through all call-graph edges. The mechanism provides a technique for inlining. An inline cost-effectiveness ratio for the callee reachable from a caller to be compiled is calculated. Calculating the inline cost-effectiveness ration includes using a ratio of a frequency of calls to the callee to a total of call frequencies as effectiveness and using a ratio of a code size of the callee to a total size of inlinable code as cost. A determination is made as to whether to inline the callee by comparing the inline cost-effectiveness ratio with a predetermined threshold. The callee is inlined into a source code in response to determining that the callee method is to be inlined.
    Type: Grant
    Filed: February 25, 2015
    Date of Patent: January 26, 2016
    Assignee: International Business Machines Corporation
    Inventors: Takuya Nakaike, Toshio Suganuma
  • Patent number: 9177143
    Abstract: A disclosed method includes determining modifications have been made to a program and deriving data flow seeds that are affected by the modifications. The method includes selecting one of the data flow seeds that are affected by the modifications or data flow seeds that are not affected by the modifications but that are part of flows that are affected by the modifications and performing a security analysis on the program. The security analysis includes tracking flows emanating from the selected data flow seeds to sinks terminating the flows. The method includes outputting results of the security analysis. The results comprise one or more indications of security status for one or more of the flows emanating from the selected data flow seeds. At least the deriving, selecting, and performing are performed using a static analysis of the program. Apparatus and program products are also disclosed.
    Type: Grant
    Filed: May 17, 2013
    Date of Patent: November 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Omer Tripp, Marco Pistoia, Salvatore A. Guarnieri
  • Patent number: 9158504
    Abstract: A system and computer-executed method automatically generate a sequence diagram from Class-Responsibility-Collaborator (CRC) information. The CRC information identifies objects, responsibility information for each object, and collaborator information for each object, and the CRC information corresponds with each activity in an activity diagram. The method includes storing, in a storage device, the objects and corresponding class types of the objects according to the CRC information and associating, by a processor, each of the objects with one or more other objects according to the collaborator information of the CRC information. The method also includes determining, by the processor, messages from each of the objects to associated objects according to the responsibility information, and the processor automatically generating the sequence diagram including the objects and the messages among the objects.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: October 13, 2015
    Assignee: Baker Hughes Incorporated
    Inventor: David W. Green
  • Patent number: 9135441
    Abstract: A disclosed method includes determining modifications have been made to a program and deriving data flow seeds that are affected by the modifications. The method includes selecting one of the data flow seeds that are affected by the modifications or data flow seeds that are not affected by the modifications but that are part of flows that are affected by the modifications and performing a security analysis on the program. The security analysis includes tracking flows emanating from the selected data flow seeds to sinks terminating the flows. The method includes outputting results of the security analysis. The results comprise one or more indications of security status for one or more of the flows emanating from the selected data flow seeds. At least the deriving, selecting, and performing are performed using a static analysis of the program. Apparatus and program products are also disclosed.
    Type: Grant
    Filed: September 12, 2013
    Date of Patent: September 15, 2015
    Assignee: International Business Machines Corporation
    Inventors: Omer Tripp, Marco Pistoia, Salvatore A. Guarnieri
  • Patent number: 9026988
    Abstract: To which method on each method call order pattern included in a series of application codes executed in response to a request a method included in an application code executed in response to a request corresponds is detected; a code is generated based on identification information corresponding to the detected method on the call order pattern; and the generated code is inserted to the application code.
    Type: Grant
    Filed: March 7, 2012
    Date of Patent: May 5, 2015
    Assignee: Fujitsu Limited
    Inventor: Motoyuki Kawaba
  • Patent number: 9021451
    Abstract: In one embodiment, a method for call graph analysis is provided. The method includes determining a plurality of nodes in a call graph. The plurality of nodes represent resource consumption of functions of a software program executed in a software system. A simplification factor is determined. A first set of nodes in the plurality of nodes is then eliminated based on exclusive values for the plurality of nodes, inclusive values for the plurality of nodes, and the simplification factor. An inclusive value for a node is a first amount of resources consumed by the node and any descendent nodes of that node. An exclusive value for the node is a second amount of resources consumed by the node. A simplified call graph is output including a second set of nodes in the plurality of nodes. The second set of nodes does not include the eliminated first set of nodes.
    Type: Grant
    Filed: June 25, 2013
    Date of Patent: April 28, 2015
    Assignee: SAP SE
    Inventors: Cheolman Park, Chan Young
  • Patent number: 9021448
    Abstract: A technique for detecting patterns in the execution of an application. The technique identifies a sequence of methods which are invoked and obtains information regarding attributes of the methods. For example, attribute information such as a class hierarchy can be obtained from an instrumentation API. A data structure representing a hierarchy of the attributes can be created and compared to one or more reference data structures which describe patterns of interest. A decision can be made to provide instrumentation for the methods having the matching attributes. The decision can consider how frequently the pattern is detected and overhead costs of the instrumentation.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: April 28, 2015
    Assignee: CA, Inc.
    Inventors: Marco Gagliardi, Andreas Reiss
  • Publication number: 20150106794
    Abstract: Methods and systems for performance inference include inferring an internal application status based on a unified call stack trace that includes both user and kernel information by inferring user function instances. A calling context encoding is generated that includes information regarding function calling paths. Application performance is analyzed based on the encoded calling contexts. The analysis includes performing a top-down latency breakdown and ranking calling contexts according to how costly each function calling path is.
    Type: Application
    Filed: October 13, 2014
    Publication date: April 16, 2015
    Inventors: Junghwan Rhee, Hui Zhang, Nipun Arora, Guofei Jiang, Chung Hwan Kim
  • Patent number: 9009682
    Abstract: Implementations of the present disclosure provide methods including analyzing a plurality of units of a software application to determine a dependency graph defining that at least a first unit depends on a second unit. Each unit includes executable instructions. An execution order is determined for the units based on the dependency graph, wherein the execution order specifies execution of the second unit before the first unit. Unit tests are executed for the units according to the execution order, including executing a unit test of the second unit before the first unit. Executing a unit test for a unit comprises executing the executable instructions of the unit and comparing a resulting value to an expected value.
    Type: Grant
    Filed: December 13, 2010
    Date of Patent: April 14, 2015
    Assignee: SAP SE
    Inventors: Efstratios Tsantilis, Klaus Steinbach
  • Patent number: 8997065
    Abstract: A device creates a graph based on source code, and analyzes the source code to identify private variables and functions of the source code and public variables and functions of the source code. The device determines, based on the graph, a size threshold and semantics-related characteristics of functions and variables for each module, of multiple modules, and assigns, based on the graph, the private variables and functions to a corresponding module of the multiple modules. The device reduces, based on the graph, a number of the public variables and functions assigned to each module, and generates the multiple modules based on one or more of the graph, the size threshold, the assigned private variables and functions, and the number of the public variables and functions assigned to each module.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: March 31, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Michael E. Karr, Gael Mulat
  • Patent number: 8990792
    Abstract: A method of generating a dynamic call graph of an application is disclosed. The method includes collecting information on what program code pages are accessed during each sampling period, defining parts of an executable program code which are accessible during each sampling period according to the collected information, defining a set of functions within the defined parts of the executable program code, generating dynamic call graphs using the defined set of functions for each sampling period, and generating dynamic call graphs for an observation period by combining accurate dynamic call graphs of each sampling period.
    Type: Grant
    Filed: May 26, 2009
    Date of Patent: March 24, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventor: Ekaterina Gorelkina
  • Patent number: 8984485
    Abstract: Use of an Abstract Syntax Tree (AST) to select portions of source code when analyzing the affect of changes in that source code from one version to another. In this way, it is possible to better focus on how changes in the source code, especially changes which only impact limited portion(s) of the source code, affect code quality with respect to measures like code complexity, performance and so on.
    Type: Grant
    Filed: May 1, 2013
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Hisham E. Elshishiny, Sherif Sabry, Ghada H. Selim, Ossama Shokry
  • Patent number: 8984495
    Abstract: A method includes determining, as part of a static analysis of a program, links between functions in the program and performing, as part of the static analysis, string analysis on strings used in the program to determine additional links between the functions in the program. The method further includes outputting, as part of the static analysis, indications of at least the links between the functions and the additional links between the functions. Apparatus, computer programs, and program products are also disclosed.
    Type: Grant
    Filed: January 3, 2013
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Salvatore A. Guarnieri, Marco Pistoia, Takaaki Tateishi, Omer Tripp
  • Patent number: 8978020
    Abstract: In an aspect, the present application relates to a computer-implemented method, computer system, and computer program product for (automatically) generating reusable test components to test software applications. The computer-implemented method for generating reusable test components to test software applications may comprise: accessing an object model relating to at least part of a software application; and generating at least one test component applicable to test the software application, comprising: analyzing the object model, generating a meta-description from the object model and store the meta information in at least one descriptor according to a meta model, and generating the test component and a corresponding component implementation based on the descriptor.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: March 10, 2015
    Assignee: SAP SE
    Inventor: Claude Rossi
  • Patent number: 8966455
    Abstract: Machines, systems and methods for distinguishing feasible paths in a program by statically tracking one or more execution paths are provided. The method comprises reading one or more program statements in an execution path; adding a location identification for the program statement read to an abstract representation of the execution stack at the time the program statement is executed, in response to determining that the program statement is a procedure call; updating the abstract representations of the execution stack to exclude infeasible execution paths for a possible point in program where the procedure could return or continue, in response to determining that the program statement is a return from a procedure.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Yishai Feldman
  • Patent number: 8966454
    Abstract: A first set of information is identified, collected by a first agent during monitoring of a first software component. A second set of information is identified, that was collected by a second agent during monitoring of a second software component. It can be determined that the first and second sets of information each include characteristics of a particular transaction involving the first and second software components. A model is generated of the particular transaction based at least in part on the first and second sets of information. The model includes a representation of the involvement of the first and second software components within the particular transaction. In some aspects, characteristics included in the first and second set of information can include timing information for use, for example, in generating a model representing ordering of software components' involvement in one or more transactions.
    Type: Grant
    Filed: June 7, 2011
    Date of Patent: February 24, 2015
    Assignee: Interactive TKO, Inc.
    Inventors: John J. Michelsen, Jean-David Dahan
  • Patent number: 8954931
    Abstract: Various embodiments include at least one or systems, methods, and software providing abilities to automatically generate a test plan that mitigates risk involved in testing less than an entirety of a software system following modification. Some embodiments operate to allow a user to influence the scope of an optimized test plan while also reducing a number of tests and test execution effort involved. Such embodiments may identify portions of the software system to test and portions of the software system that will not be tested in a manner that reduces a total testing effort involved. Reductions in testing effort are performed in generation of the test plan in view of testing preferences which are utilized not only to reduce the total effort in executing a test plan, but also does so to optimize the test plan.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: February 10, 2015
    Assignee: SAP SE
    Inventors: Marcus Wefers, Reinhold Konnerth, Thierry Lieu, Abdelhak Nezzari, Michael Schaffrath, Torsten Kamenz, Andreas Kemmler
  • Patent number: 8954936
    Abstract: A method that may include: building a dependencies graph representing dependencies between code elements of a computer code; associating portions of the computer code with corresponding design specifications or requirements derived from a design specifications document or a requirements document respectively which is associated with the computer code, to yield a design specifications or requirements-code tracing map; and analyzing the design specifications or requirements-code tracing map based on the dependencies graph to yield an ordered list of design specifications or requirements respectively, wherein the order is selected such that functional tests written for the computer code and addressing design specifications or requirements of a higher order, will yield a higher level of functional test coverage of the computer code in terms of design specifications or requirements.
    Type: Grant
    Filed: November 11, 2012
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Maayan Goldstein, Dany Moshkovich, Mordechai Nisenson, Yahalomit Simionovici, Shmuel Or
  • Patent number: 8930916
    Abstract: Data is received that includes at least a portion of a program. Thereafter, entry point locations and execution-relevant metadata of the program are identified and retrieved. Regions of code within the program are then identified using static disassembly and based on the identified entry point locations and metadata. In addition, entry points are determined for each of a plurality of functions. Thereafter, a set of possible call sequences are generated for each function based on the identified regions of code and the determined entry points for each of the plurality of functions. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: January 31, 2014
    Date of Patent: January 6, 2015
    Assignee: Cylance Inc.
    Inventors: Derek A. Soeder, Matt Wolff
  • Patent number: 8930903
    Abstract: In and for software projects, arrangements for permitting a user to understand how the spatial locality of a function call may have changed with respect to any changes in a function definition. This permits an analysis of different workflows which use the same function, wherein the definition of the function may have changed. To the extent that there might be corresponding changes in the workflows which use such a function, the user will readily develop an idea of why some workflows changed and some did not. The invention method and apparatus determine and display deltas (changes) between different versions of a file where the function call occurs.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventor: Pavan L. Advani
  • Patent number: 8924945
    Abstract: A computer-implemented method for initializing computer programming elements based on dependency graphs is provided. The method includes determining a dependency graph associated with a computer programming element to be initialized. The method also includes traversing the determined dependency graph, so as to obtain thread information associated with each of the one or more computer programming elements of the determined dependency graph, and determining, based on the obtained thread information associated with each of the computer programming elements, an aggregate thread information of all the computer programming elements of the determined dependency graph. The method further includes generating code which initializes the computer programming element to be initialized based at least on the determined aggregate thread information. Systems and machine-readable media are also provided.
    Type: Grant
    Filed: October 4, 2012
    Date of Patent: December 30, 2014
    Assignee: Google Inc.
    Inventor: Erik Lewis Wright
  • Patent number: 8918766
    Abstract: Annotation information associated with entities of a computing system can be added to a forest generated from the entities where the structure of the forest reflects relationships between the entities. Annotations associated with a child node can be propagated to all parent nodes of the child node all the way up to one or more root nodes of the annotated forest. Annotations associated with a child node can be propagated to a specified depth or place or at nodes with one or more particular characteristics or annotations. The propagation can be performed on-demand to all or some subset of nodes. The annotated forest can be analyzed to determine nodes to which a set of conditions apply.
    Type: Grant
    Filed: December 12, 2012
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Kaler, Mayila Babang, Xin Zhang
  • Publication number: 20140372990
    Abstract: A method for debugging and includes receiving a request for capturing a frame generated by a graphics application implementing application threads executing function calls. The function calls are associated with one or more thread specific resources used at the beginning of the capturing process. For each application thread, a corresponding state is determined for each thread specific resource utilized, and a corresponding capture stream is established. For each application thread, executed function calls are captured into the corresponding capture stream. A plurality of captured function calls is arranged in the order they were executed by the graphics application. For each capture stream, a corresponding replay thread is established. Application threads, capture streams, and replay threads exist in a one-to-one-to-one relationship.
    Type: Application
    Filed: June 12, 2013
    Publication date: December 18, 2014
    Inventor: Michael C. STRAUSS
  • Patent number: 8910146
    Abstract: According to one aspect of the present disclosure, a method and technique for automated time-to-value (TTV) measurement is disclosed. The method includes: initiating an installation module of an application to install the application on a data processing system; responsive to initiating installation of the application via the installation module, monitoring, via a TTV module of the application, a time period associated with the installation of the application; and recording, by the TTV module, the time period corresponding to the installation of the application.
    Type: Grant
    Filed: June 9, 2012
    Date of Patent: December 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Nnaemeka I. Emejulu, Andrew J. Lavery, Ye Liu, Mario A. Maldari
  • Patent number: 8881116
    Abstract: A software testing tool may use static verification analysis techniques to locate points (lines/events) in computer code at which an error may be present and points (lines/events) in the computer code that may be the underlying cause of the located error points. In one implementation, a device may perform a static verification analysis of computer code to locate a point in the code that causes an error in the execution of the computer code. The static analysis may be performed by analyzing a first set of possible execution paths of the computer code based on an over-approximation of states. The device may back-propagate, from the located point, through a second set of possible execution paths, where the second set of possible execution paths is obtained based on an under-approximation of the states that were over-approximated. Based on the back-propagation, the device may determine potential causes of the error.
    Type: Grant
    Filed: June 8, 2011
    Date of Patent: November 4, 2014
    Assignee: The MathWorks, Inc.
    Inventor: Gael Mulat
  • Patent number: 8869119
    Abstract: Affinity-based preferential call technique, in one aspect, may improve performance of distributed applications in a hybrid system having heterogeneous platforms. A segment of code in a program being executed on a processor may be intercepted or trapped in runtime. A platform is selected in the hybrid system for executing said segment of code, the platform determined to run the segment of code with best efficiency among a plurality of platforms in the hybrid system. The segment of code is dynamically executed on the selected platform determined to run the segment of code with best efficiency.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: October 21, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael H. Dawson, Parijat Dube, Liana L. Fong, Yuqing Gao, Xavier R. Guerin, Michel H. T. Hack, Megumi Ito, Graeme Johnson, Nai K. Ling, Yanbin Liu, Xiaoqiao Meng, Pramod B. Nagaraja, Seetharami R. Seelam, Wei Tan, Li Zhang
  • Patent number: 8863093
    Abstract: 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: Grant
    Filed: March 6, 2009
    Date of Patent: October 14, 2014
    Assignee: Coverity, Inc.
    Inventors: Andy Chou, John Kodumal
  • Patent number: 8856809
    Abstract: A computer implemented method, apparatus, and computer usable program product for processing application code. In one embodiment, a call is received to invoke a set of methods of annotated application code. The annotated application code includes a set of annotations specifying a selection of the set of methods. A selected method from the set of methods is invoked in response to determining that the call is valid according to the set of annotations. Thereafter, a subsequent set of valid methods for execution is identified based upon an annotation associated with the selected method.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: October 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Francisco Phelan Curbera, Matthew J. Duftler, Michael Levi Fraenkel, Rania Y. Khalaf, Axel Martens, Johannes Riemer, Gal Shachor
  • Patent number: 8850408
    Abstract: To reconstruct a call stack, a range of call addresses is determined. Based on the range of addresses, raw stack data is extracted based on the execution of a computer program. The raw stack data is parsed to reconstruct a call stack (or a series of call stacks). In obtaining the call stack, a depth between a function and a return address is calculated.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: September 30, 2014
    Assignee: Nintendo of America, Inc.
    Inventor: Chad Hinkle
  • Patent number: 8850404
    Abstract: 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. Implicitly created tasks, like set render target, may be visualized by associating those implicitly created tasks with actual coded tasks.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: September 30, 2014
    Assignee: Intel Corporation
    Inventors: Christopher J. Cormack, Nathaniel Duca, Mike Burrows, Serhat A. Tekin
  • Patent number: 8843910
    Abstract: A facility for identifying functionally distinct memory access reorderings for a multithreaded program is described. The facility monitors execution of the program to detect, for each of one or more memory locations, an order in which the memory location was accessed by the threads of the program, each access being at least one of a read access and a write access. Among a number of possible memory access reorderings of a read access by a reading thread to a location and a write access by a writing thread to the same location where the write access preceded the read access, the facility identifies as functionally distinct memory access reorderings those possible memory access reorderings where the reading thread could have become newly aware of changed state of the writing thread as a result of the indicated read access.
    Type: Grant
    Filed: March 14, 2011
    Date of Patent: September 23, 2014
    Assignee: F5 Networks, Inc.
    Inventors: Andrew M. Schwerin, Peter J. Godman, Kaya Bekiroglu
  • Patent number: 8832680
    Abstract: A log counting program causes a computer to function as a log counting apparatus, and function as a log collection part collecting log information from a client apparatus in which an installer package operates; and a log counting part carrying out counting concerning the collected log information. The installer package causes the client apparatus to function as one or more installers for installing software; a log obtaining part obtaining logs that are output by the one or more installers and system information of the client apparatus; and a log transmission part transmitting log information including the logs and the system information to the log counting apparatus according to a setting in the installer package. The log counting part uses the system information and counts events concerning the installation while distinguishing an execution environment of the client apparatus.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: September 9, 2014
    Assignee: Ricoh Company, Ltd.
    Inventor: Toshio Akiyama
  • Publication number: 20140250429
    Abstract: A computer program product and computer system for analyzing code to improve efficiency of simulating a hardware system. A computer identifies one or more functions calling an application programming interface of a hardware simulator simulating the hardware system. In response to determining that left hand sides of respective one or more Boolean expressions are associated with the one or more functions calling the application programming interface and right hand sides are not associated with the one or more functions calling the application programming interface, the computer identifies the respective one or more Boolean expressions as one or more improvement points in source code for verifying a hardware model of the hardware system.
    Type: Application
    Filed: December 11, 2013
    Publication date: September 4, 2014
    Applicant: International Business Machines Corporation
    Inventors: Carsten Greiner, Joerg Kayser, Roopesh A. Matayambath, Juergen M. Ruf
  • Patent number: 8819645
    Abstract: The invention concerns a method for performing a run-time simulation of a computer program comprising: extracting said computer program from a first application environment to a second application environment; parsing said computer program to generate a hierarchical representation of said computer program; based on said hierarchical representation, inserting at least one log value generation instruction into said extracted computer program to generate an enhanced computer program; re-injecting said enhanced computer program into said first application environment; executing, in said first application environment, said enhanced computer program; and receiving from said first application environment generated log values and analyzing said values with respect to a hierarchical representation of said computer program.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: August 26, 2014
    Assignee: Accenture Global Services Limited
    Inventors: Franck Kerizac, Antoine Sebilleau
  • Patent number: 8813039
    Abstract: A method and system ties together the identification of a defect during testing with the supporting application code on the systems that led to the generation of a defect. The association between the two is through the use of a unique Trace ID. This Trace ID is unique to each interaction between the consumer (e.g. client browser) and the provider system(s) (web application server, back office systems, etc). When a potential defect is identified by the end user or tester, the present invention “collects” the associated log messages using the unique Trace ID and attaches those to the defect. The software developer providing the defect triage can then readily review the associated log files without having to manually search the supporting log files manually.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventor: Jed Maczuba
  • Patent number: 8806450
    Abstract: Static analysis of software code may be performed in a selective regression testing framework. The static impact analysis, when carried out in a comprehensive and efficient way, can help make the test selection safer and more complete. One method for performing static analysis in selective regression testing of a software project includes, for example, storing changes to source code that defines functions and global data elements of the software project; performing a static analysis of the source code to determine which global data elements in the source code correspond to changed functions in the source code and executing a regression test of the software project using a set of test units determined based, at least in part, on the static analysis.
    Type: Grant
    Filed: June 26, 2008
    Date of Patent: August 12, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Srinibas Maharana, Manu J. Prakash, Hong Zeng, Sachin Vasudeva, Tao Deng
  • Patent number: 8806443
    Abstract: A method for carrying out a control device monitoring, a program flow control being implemented for at least one event-synchronous process in the control device monitoring. The monitoring module is developed for carrying out a control device monitoring, A program flow control is implemented for at least one event-synchronous process in the control device monitoring.
    Type: Grant
    Filed: May 8, 2006
    Date of Patent: August 12, 2014
    Assignee: Robert Bosch GmbH
    Inventors: Marco Gangi, Gerit Von Schwertfuehrer
  • Patent number: 8799852
    Abstract: System and method for performing program-related operations over a network via a web browser. A network connection is established between a server computer and a client computer over a network. A universal resource identifier (URI) is sent from the client computer to the server computer over the network, where the URI indicates a program, e.g., a graphical program (GP), or at least a portion of a graphical program interactive development environment (GPIDE), e.g., a graphical program editor, an execution engine, a static or dynamic analyzer, and/or compiler. The at least a portion of the GPIDE is received from the server computer over the network in response to the URI, and executed in a web browser of the client computer to perform some specified functionality with respect to the GP.
    Type: Grant
    Filed: October 2, 2009
    Date of Patent: August 5, 2014
    Assignee: National Instruments Corporation
    Inventor: Mohammed Kamran Shah
  • Patent number: 8799874
    Abstract: Static analysis of a computer software application can be performed by applying a first level of abstraction to model a plurality of run-time objects, thereby producing a set of object abstractions. Static data-flow analysis of the computer software application can be performed using the set of object abstractions, thereby producing a first data-flow propagation graph. A data-flow bottleneck can be identified within the data-flow propagation graph. A second level of abstraction can be applied to model any of the run-time objects having in the set of object abstractions a corresponding object abstraction that is traceable to the data-flow bottleneck. The applying the second level of abstraction can decompose the corresponding object abstraction into a set of object abstractions, thereby modifying the set of object abstractions. Static data-flow analysis of the computer software application can be performed using the modified set of object abstractions.
    Type: Grant
    Filed: March 5, 2012
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp
  • Patent number: 8789019
    Abstract: 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: Grant
    Filed: April 22, 2013
    Date of Patent: July 22, 2014
    Assignee: eBay Inc.
    Inventors: Jasdeep Singh Sahni, Anil Madan, Deepak Seetharam Nadig, Po Cheung, Bhavesh Mistry, John Bodine, Michael Lo
  • Patent number: 8782612
    Abstract: A failsafe mechanism for installing and removing temporary instrumentation during a runtime of an application. Initially, an application is configured with a baseline set of instrumented components such as methods. Additional instrumentation is then deployed in the application, such as to diagnose a performance problem. The failsafe mechanism ensures that the additional instrumentation is automatically removed, even when there is an interruption in a communication link to the application, a computing device failure, a software failure, or some other type of failure, which renders it impossible to manually roll back the instrumentation from a remote user interface. The failsafe mechanism can be provided using callbacks between the computing devices which detect when a connection is unexpectedly lost or closed. Termination of one callback can cascade to one or more other callbacks. The instrumentation rollback can involve reloading un-instrumented byte code of the application.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: July 15, 2014
    Assignee: CA, Inc.
    Inventors: Marco Gagliardi, Yitao Sun
  • Patent number: 8782610
    Abstract: 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: Grant
    Filed: August 16, 2013
    Date of Patent: July 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Rei Odaira, Kazunori Ogata
  • Patent number: 8775769
    Abstract: A partition-based method for diagnosing memory leaks in Java systems, comprising dividing heap memory of a Java virtual machine into a plurality of partitions based on a partition plan, wherein each partition has at least one partition owner; monitoring the status of the respective partitions to determine whether there is a partition in which the memory space is exhausted; and if there is a partition in which the memory space is exhausted, determining that the memory leak may occur in the partition and analyzing the partition to obtain leaked objects and objects related to the leaked objects. The present invention also provides a partition-based apparatus for diagnosing memory leak in Java systems.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: July 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ying Li, Quan Long, Tiancheng Lui, Jie Qiu
  • Publication number: 20140189656
    Abstract: Machines, systems and methods for distinguishing feasible paths in a program by statically tracking one or more execution paths are provided. The method comprises reading one or more program statements in an execution path; adding a location identification for the program statement read to an abstract representation of the execution stack at the time the program statement is executed, in response to determining that the program statement is a procedure call; updating the abstract representations of the execution stack to exclude infeasible execution paths for a possible point in program where the procedure could return or continue, in response to determining that the program statement is a return from a procedure.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Aharon Abadi, Jonathan Bnayahu, Yishai Feldman
  • Publication number: 20140189657
    Abstract: A method includes determining, as part of a static analysis of a program, links between functions in the program and performing, as part of the static analysis, string analysis on strings used in the program to determine additional links between the functions in the program. The method further includes outputting, as part of the static analysis, indications of at least the links between the functions and the additional links between the functions. Apparatus, computer programs, and program products are also disclosed.
    Type: Application
    Filed: January 3, 2013
    Publication date: July 3, 2014
    Applicant: International Business Machines Corporation
    Inventors: Salvatore A. Guarnieri, Marco Pistoia, Takaaki Tateishi, Omer Tripp
  • Publication number: 20140189658
    Abstract: An apparatus and computer program product which are configured for determining, as part of a static analysis of a program, links between functions in the program and performing, as part of the static analysis, string analysis on strings used in the program to determine additional links between the functions in the program. The apparatus and computer program product are further configured for outputting, as part of the static analysis, indications of at least the links between the functions and the additional links between the functions.
    Type: Application
    Filed: August 30, 2013
    Publication date: July 3, 2014
    Applicant: International Business Machines Corporation
    Inventors: Salvatore A. Guarnieri, Marco Pistoia, Takaaki Tateishi, Omer Tripp