Including Analysis Of Program Execution Patents (Class 717/131)
-
Patent number: 9282173Abstract: The invention relates to a method and device for configurable parsing of packet headers in a network. A configurable packet header parser (CPHP) includes hard-coded packet header logic implementing a hard-coded state machine and a reconfigurable header parsing logic that is coupled to the hardcoded logic and includes programmable registers. The CPHP is remotely programmable by means of a command packet parser that may receive command packets carrying CPHP configuration data and program the registers with the CPHP data to enable parsing packet including new types of headers. The hybrid hard-coded/programmable CPHP requires only a relatively small number of programmable elements enabling ASIC-based implementation.Type: GrantFiled: February 19, 2013Date of Patent: March 8, 2016Assignee: Viavi Solutions Inc.Inventor: Takashi Hidai
-
Patent number: 9274770Abstract: A compilation method is provided for automated user error correction. The method includes using a compiler driver run by a processor to receive a source file for compilation. With a compiler component invoked by the compiler driver, the method includes identifying an error in the source file such as a linking problem or syntax error in the user's program. The method includes receiving with the compiler driver an error message corresponding to the identified error. With an error corrector module run by the processor, the method includes processing the error message to determine an error correction for the identified error in the source file. The compiler driver modifies the source file based on the error correction and compiles the modified source file with the compiler component.Type: GrantFiled: June 22, 2009Date of Patent: March 1, 2016Assignee: ORACLE AMERICA, INC.Inventors: Yonghong Song, Spiros Kalogeropulos, Partha P. Tirumalai
-
Patent number: 9223629Abstract: A method of optimizing an application in a system having a plurality of processors, the method comprising: analyzing the application for a first period to obtain a first activity analysis; selecting one of the processors based on the activity analysis for running the application; and binding the application to the selected processor.Type: GrantFiled: January 29, 2008Date of Patent: December 29, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Ganesh Handige Shankar, Padmanabhan Selvakumarapalayam Nagarajan
-
Patent number: 9208061Abstract: 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: GrantFiled: September 12, 2013Date of Patent: December 8, 2015Assignee: GlobalFoundries Inc.Inventors: Salvatore A. Guarnieri, Marco Pistoia, Omer Tripp
-
Patent number: 9195810Abstract: Various embodiments are disclosed that relate to the automated identification of one or more computer program functions for potentially placing on a remote computing device in a split-computational computing environment. For example, one disclosed embodiment provides, on a computing device, a method of determining a factorable portion of code to locate remotely from other portions of the code of a program to hinder unauthorized use and/or distribution of the program. The method includes, on a computing device, receiving an input of a representation of the code of the program, performing analysis on the representation of the code, the analysis comprising one or more of static analysis and dynamic analysis, and based upon the analysis of the code, outputting a list of one or more functions determined from the analysis to be candidates for locating remotely.Type: GrantFiled: December 28, 2010Date of Patent: November 24, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Darko Kirovski, Benjamin Livshits, Gennady Medvinsky, Vijay Gajjala, Kenneth Ray, Jesper Lind
-
Patent number: 9189204Abstract: Preparing a computer software application for static analysis by identifying a control flow within a model portion of a computer software application having a model-view-controller architecture, where the control flow passes a value to a controller portion of the computer software application, analyzing a declarative specification of the controller portion of the computer software application to identify a view to which the controller portion passes control based on the value, and synthesizing a method within the computer software application, where the method calls the view.Type: GrantFiled: March 26, 2014Date of Patent: November 17, 2015Assignee: International Business Machines CorporationInventors: Yinnon A. Haviv, Omer Tripp, Omri Weisman
-
Patent number: 9176846Abstract: A method for validating correctness of expression evaluation within a debugger. The method includes determining a statement of interest comprising an expression recognized by a debugger program within one or more source program files of a debuggable program and generating a debug command file for the statement of interest. The method includes inserting a set of debug commands, comprising a first path for a baseline run and a second path for a test run for the statement of interest, into the debug command file, then causing the execution of the baseline run and test run. Results from the baseline run and results from the test run are compared to determine if the results from the baseline run are equivalent to the results from the test run.Type: GrantFiled: January 15, 2015Date of Patent: November 3, 2015Assignee: International Business Machines CorporationInventors: Timothy A. Fors, Patrick G. Gallop, Chung Hang Kevin Yuen
-
Patent number: 9176849Abstract: 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: GrantFiled: April 17, 2013Date of Patent: November 3, 2015Assignee: GlobalFoundries U.S. 2 LLCInventors: Omer Tripp, Marco Pistoia, Salvatore A. Guarnieri
-
Patent number: 9170788Abstract: A code analysis system is described herein that provides code completion for programming languages that include elements that are not statically discoverable and that provides results in a predictable period that is acceptable for an interactive user interface. The system compiles each file into an intermediate state that can be stored and cached to speed later analysis of files. In addition, when executing a particular file, the system monitors a time-based threshold and/or a recursion depth so that if the compilation time is exceeding the threshold or a function is exceeding the recursion depth the system can stop the execution and use the intermediate results obtained up to that point to provide as much information as possible within a bounded execution time. When dynamic analysis fails, the system falls back to static analysis.Type: GrantFiled: July 18, 2013Date of Patent: October 27, 2015Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jefferson King, Alan Oursland
-
Patent number: 9170873Abstract: A system for supporting a distributed application includes a plurality of servers, where each of the plurality of servers includes a thread that processes a request received by the distributed application and a monitoring agent that constructs a transaction path for the request and annotates the transaction path in accordance with a writing action to a log of the distributed application to produce an annotated transaction path. In another embodiment, a system for monitoring a distributed application for errors includes a processor and a computer readable storage medium that stores instructions which, when executed, cause the processor to perform operations including constructing a transaction path for each request received by the distributed application, detecting a writing action to a log of the distributed application, and annotating the transaction path in accordance with the writing action to produce an annotated transaction path.Type: GrantFiled: August 19, 2013Date of Patent: October 27, 2015Assignee: International Business Machines CorporationInventors: Byung Chul Tak, Chunqiang Tang, Long Wang
-
Patent number: 9170805Abstract: The invention relates to a software maintenance supporting device that analyzes and displays the structure of software, and its object is to divide software into clusters including plural variables and illustrate the result of the division. The software maintenance supporting device extracts variable dependence relation data from a source code, and divides software into clusters including plural variables, using a variable dependence relation. Also, an inter-variable dependence relation is illustrated as a directed graph in which a variable is expressed as a node and a dependence relation is expressed as a link, and variables belonging to the same cluster are highlighted.Type: GrantFiled: July 20, 2010Date of Patent: October 27, 2015Assignee: Hitachi, Ltd.Inventors: Kentaro Yoshimura, Takeshi Fukuda, Yoshitaka Atarashi
-
Patent number: 9158514Abstract: Providing change information includes obtaining information of a change track that changes software source code, wherein the change track includes a change item, identifying at least one preliminary candidate change item from the change item, wherein the preliminary candidate change item is a change item causing execution of the source code to change, and inserting an instrument in the source code at a location corresponding to the at least one preliminary candidate change item so information of at least one candidate change item is outputted in testing the source code using a test case. The at least one candidate change item is a change item related to the test case from the at least one preliminary candidate change item. The information of a change track is combined with the information of a candidate change item. The change-related information is provided based on the result of the combination.Type: GrantFiled: September 24, 2013Date of Patent: October 13, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Xiao Feng Guan, Jian Jiang, Cao Lei
-
Patent number: 9158639Abstract: A method and apparatus for determining correlation between input and output messages in a system under test (SUT) is provided in the present invention. The SUT is provided with preset watch-points, and the running of the SUT is detected by triggering watch-points in a test platform at its run time. The method includes the steps of: upon detecting a message input operation, finding a variable that stores an input message, associating the variable with a tag of the input message, and adding a watch-point for the variable in the test platform; as well as, upon detecting network output operation, finding a variable that stores an output message of the SUT; and determining correlation between the output message and an input message according to a tag associated with the variable that stores the output message.Type: GrantFiled: May 29, 2013Date of Patent: October 13, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Guoqiang Hu, Li Jun Mei, HuaFang Tan, Bo Yang, Yu Yuan
-
Patent number: 9152529Abstract: A plurality of user interface (UI) actions from a particular user is detected via a user interface of the application. The plurality of UI actions is analyzed to determine a usage pattern for the particular user. A modification to the user interface is determined based on the determined usage pattern. The determined modification in the user interface is implemented to customize the user interface of the application for the particular user. The determined modification may be stored in a user profile for subsequent use.Type: GrantFiled: September 24, 2012Date of Patent: October 6, 2015Assignee: Adobe Systems IncorporatedInventors: William Brandon George, Kevin G. Smith, Edward L. Hewett
-
Patent number: 9135139Abstract: Methods and systems to identify and reproduce concurrency bugs in multi-threaded programs are disclosed. An example method disclosed herein includes defining a data type. The data type includes a first predicate associated with a first thread of a multi-threaded program that is associated with a first condition, a second predicate that is associated with a second thread of the multi-threaded program, the second predicate being associated with a second condition, and an expression that defines a relationship between the first predicate and the second predicate. The relationship, when satisfied, causes the concurrency bug to be detected. A concurrency bug detector conforming to the data type is used to detect the concurrency bug in the multi-threaded program.Type: GrantFiled: June 27, 2012Date of Patent: September 15, 2015Assignee: Intel CorporationInventors: Youfeng Wu, Justin E. Gottschlich, Gilles Pokam, Shiliang Hu, Ali-Reza Adl-Tabatabai, Cristiano L. Pereira
-
Patent number: 9128789Abstract: Systems and methods for implementing cross-cutting actions that cut across many remote procedure calls (RPCs) in an interactive application, such as location-based parallel reality game are provided. In particular, one or more decorators can be associated in a source file, such as a Java source file, with a remote procedure call class defining a plurality of RPC methods for the interactive application. Each decorator can be a set of instructions that gets executed before and after an RPC method and addresses concerns that cut across a plurality of RPC methods for the interactive application.Type: GrantFiled: July 31, 2013Date of Patent: September 8, 2015Assignee: Google Inc.Inventors: Luiz Otavio Zorzella, Alexander Vladimirov, Neal Kanodia, Chris Hibbert
-
Patent number: 9122540Abstract: A method and system for transforming a first computer program having program statements to a second computer program. A parsed first computer program is translated to the second computer program. The first computer program includes a first program statement that includes a first error. The translating includes: (i) identifying a second program statement in the parsed first computer program that includes a second error and has thrown a translation exception with respect to the second error, (ii) rolling back the translating to a predefined check point prior to the second program statement in the parsed first computer program such that the predefined check point is associated with a statement in the parsed first computer program that was successfully translated, and (iii) generating an executable equivalent translation for the second statement. After the translating, a mapping of one or more statements is generated.Type: GrantFiled: July 10, 2014Date of Patent: September 1, 2015Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Anup K. Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala G. Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
-
Patent number: 9122791Abstract: A method for identifying a storage location for a requested storage address. The method includes receiving a request to view data at a storage address and determining the requested storage address corresponding to a plurality of storage locations. The method includes determining whether the requested storage address identifies memory related to a dump file being analyzed by a dump formatter. Then, in response to determining the requested storage address identifies memory related to the dump file being analyzed by the dump formatter, the method includes identifying one of the plurality of storage locations. The method includes directing the request to the identified storage location.Type: GrantFiled: March 5, 2013Date of Patent: September 1, 2015Assignee: International Business Machines CorporationInventors: Stephen J. Burghard, David J. Harman, Mark A. Woolley, Andrew Wright
-
Patent number: 9110676Abstract: The described embodiments present techniques for recovering from syntax errors. These techniques correct potential errors while preserving the shape of the parse tree, and the specific implementation of the techniques can be automatically generated from the grammar. These techniques may operate by looking back at states associated with previously-received tokens to determine pair matching status, when a synchronizing symbol is received. The techniques can respond to the pair matching status determination by potentially adding a synthesized token or by deleting a token that has already been received. The techniques may use a structure referred to herein as a tuple to assist with the evaluation of the pair matching status. Some of the techniques utilize indentation information to evaluate the pair matching status, while other techniques ignore such information. The described embodiments also include a technique for automatically generating the tuples from a set of grammar rules associated with the parser.Type: GrantFiled: November 15, 2012Date of Patent: August 18, 2015Assignee: The MathWorks, Inc.Inventor: Stephen Curtis Johnson
-
Patent number: 9111038Abstract: An information processing system integrates a code coverage tool with a debugger. A debugging process is performed on a set of source code for an application program. A set of code coverage information associated with the set of source code is analyzed with respect to a set of debugging information. The set of code coverage information at least identifies a set of instructions that has been executed. A set of source code lines in the set of source code that correspond to the set of instructions that has been executed is identified based on the analyzing. A user is notified through a user interface that the set of instructions associated with the identified set of source code have been executed.Type: GrantFiled: December 13, 2013Date of Patent: August 18, 2015Assignee: International Business Machines CorporationInventor: Joshua B. Wisniewski
-
Patent number: 9110737Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for extracting source code. One of the methods includes receiving, by a newly created process, a request to execute code of an executable file in the newly created process, wherein the request specifies a parameter. The newly created process loads a process interception library. Library initialization code of the process interception library determines whether the parameter should be intercepted. In response to determining that the parameter should be intercepted, the parameter is provided to another process.Type: GrantFiled: May 30, 2014Date of Patent: August 18, 2015Assignee: Semmle LimitedInventors: Julian Tibble, Pavel Avgustinov, Peter Cawley
-
Patent number: 9110680Abstract: Methods and systems for avoiding or deferring data copies are disclosed. Using a virtual machine, it is determined whether a set of program code comprises references to a data object after an operation to generate a copy of the data object. If not, a set of optimized program code is generated in which the operation to copy the data object is replaced with an operation to update a reference. Using the virtual machine, it is determined whether the set of program code comprises an operation to generate a copy of a buffer object. If so, a set of further optimized program code is generated, comprising an allocation of one or more memory pages to store the buffer object with a copy-on-write parameter instead of the operation to generate the copy of the buffer object.Type: GrantFiled: March 14, 2013Date of Patent: August 18, 2015Assignee: Amazon Technologies, Inc.Inventor: Jeremy Boynes
-
Patent number: 9081605Abstract: A technique for identifying conflicting sub-processes easily in a computer system that processes a plurality of transactions in parallel is provided. In a conflicting sub-process identification method according to the present invention, a comparison is made between processing time periods for which transactions executed in parallel have conflicting parts and for which transactions executed in parallel do not have conflicting parts. This comparison is made for a plurality of transaction processing programs each comprising a plurality of sub-processes. Then, on the basis of correspondence relationships between performance indices obtained from the comparison result, conflicting combination of sub-processes competing for a resource are identified.Type: GrantFiled: March 24, 2008Date of Patent: July 14, 2015Assignee: NEC CORPORATIONInventor: Takashi Horikawa
-
Patent number: 9075683Abstract: A system and method include receiving an in memory database application code update at a program that interfaces with the in memory database, obtaining customization date identifying changes made to the in memory database by a customer, generating a customized application code update to the in memory database as a function of changes identified, and applying the customized application code update to the in memory database to update a complex object running in the memory database without adversely affecting changes made to the in memory database by the customer.Type: GrantFiled: November 29, 2012Date of Patent: July 7, 2015Assignee: SAP SEInventor: Andreas Christoph
-
Patent number: 9069668Abstract: A method for monitoring a distributed application for errors includes constructing a transaction path for each request received by the distributed application, detecting a writing action to a log of the distributed application, and annotating the transaction path in accordance with the writing action to produce an annotated transaction path. In another embodiment, a method for building a knowledge base for use in diagnosing an error occurring in a distributed application includes executing the distributed application on a replica of a production server that supports the distributed application, constructing a transaction path for a request received by the distributed application, wherein the transaction path traverses the replica, injecting a fault into the transaction path, detecting a writing action to a log of the distributed application, wherein the writing action is a response to the fault, and storing an association between the fault and the writing action.Type: GrantFiled: November 14, 2012Date of Patent: June 30, 2015Assignee: International Business Machines CorporationInventors: Byung Chul Tak, Chunqiang Tang, Long Wang
-
Patent number: 9071661Abstract: Described are sequence numbers for client-server communication, to control a client's use of server resources. A server grants the client credits, and the client consumes a credit for sending each command to the server. Each credit corresponds to a sequence number, with the set of sequence numbers forming a valid command window. The server enforces that for each received command, the command includes a sequence number that is within the valid command window and that the sequence number has not been used with another command. The server may also maintain a maximum window size, such that clients with credits cannot send a command with a sequence number that beyond a maximum sequence number. When incorporated into a data communication protocol, quality of service, combating denial of service, detection of message loss, division of server resources, secure message signing, and other numerous benefits result.Type: GrantFiled: August 29, 2014Date of Patent: June 30, 2015Assignee: Microsoft Technology Licensing, LLCInventors: David Kruse, Ahmed Mohamed, Balan Sethu Raman
-
Patent number: 9058423Abstract: A continuous build and test system, method, and computer-readable medium, performed by one or more processors is described. The system includes an input for inputting a test specification that imports an environment manager. An environment manager object is created upon processing of the test specification, and delegates management functions to one or more specialized manager objects. The environment manager includes config data that designate paths to one or more binary files, and token settings specifying resources to be used during testing of the binary files. The environment manager selects a test platform to be used in testing the one or more binary files. The specialized manager objects perform testing, including bringing up the one or more binary files in the selected test platform, creating the data resources based on the token settings, performing the instructed tests, and cleaning up created data resources.Type: GrantFiled: November 18, 2011Date of Patent: June 16, 2015Assignee: GOOGLE INC.Inventors: Matthew Stone, Ravi Mistry, Jonathan Calvert, Michael Bachman, Murat Muth Ozturk, Yizhi Zhao
-
Patent number: 9052980Abstract: The embodiments may include an apparatus for measuring code quality using exceptions. The apparatus may include a runtime collector configured to intercept exceptions generated by an application, and collect exception information for each exception, during runtime of the application, based on instrumentation code included within the application. The apparatus may include a collection module configured to store the intercepted exceptions and corresponding exception information in a memory unit, an exception analyzer configured to analyze the intercepted exceptions based on the collected exception information stored in the memory unit, and a report generator configured to generate at least one report based on the analysis. The at least one report may provide an indication of code quality of the application.Type: GrantFiled: February 20, 2013Date of Patent: June 9, 2015Assignee: BMC SOFTWARE, INC.Inventor: Walter T. Hulick, Jr.
-
Publication number: 20150149985Abstract: A system includes reception of an instruction to commit a design-time artifact of a database server application to a repository of a database server, storage of the design-time artifact in the repository of the database server in association with an inactive flag, reception of a request from a user to access the design-time artifact associated with the inactive flag, and, in response to the request, generation of a private runtime representation of the design-time artifact associated with the inactive flag, and deployment of the private runtime representation of the design-time artifact for exclusive use by the user.Type: ApplicationFiled: June 23, 2014Publication date: May 28, 2015Inventors: Florian Foebel, Bjoern Friedmann, Boris Gruschko, Christian Mohr, Martin Strenge, Sascha Zorn
-
Patent number: 9043761Abstract: Disclosed is a novel computer implemented system, on demand service, computer program product and a method that leverages combined concrete and symbolic execution and several fault-localization techniques to automatically detects failures and localizes faults in PHP Hypertext Preprocessor (“PHP”) Web applications.Type: GrantFiled: September 1, 2010Date of Patent: May 26, 2015Assignee: International Business Machines CorporationInventors: Shay Artzi, Julian Dolby, Marco Pistoia, Frank Tip
-
Publication number: 20150143346Abstract: A test-centric model of an application is constructed. Each resource specified by each test governing an application is added to the test-centric model. The test or tests specifying an resource are linked to the resource within the test-centric model. A composition of the application is defined using the one or more tests, as the resources specified by the one or more tests, within the test-centric model of the application.Type: ApplicationFiled: July 31, 2012Publication date: May 21, 2015Inventors: Oren Gurfinkel, Oleg Verhovsky, Eliraz Busi, Maya Yohay Rafalovich, Malcolm Isaacs
-
Publication number: 20150143345Abstract: Implementations of the disclosed subject matter provide systems and methods for providing one or more versions of an application to one or more subsets of users based on measured performance of the one or more versions of the application. A method may include providing a first version of an application to a first subset of users of the application. Next, performance of the first version of the application may be measured and a second subset of users of the application may be selected based on the performance of the first version of the application. As a result, a second version of the application may be provided to the second subset of users of the application.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Applicant: Google Inc.Inventors: Brian Patton, Nicolas Fortescue, Piotr Krzysztof Swigon, John Ayres, Maximilian RUPPANER, Elizabeth Ireland Powers, Eva-Lotta Lamm, Alan Michael Stokes
-
Publication number: 20150135169Abstract: A testing device and a testing method thereof are provided. The testing device is connected to a terminal device running a graphical user interface (GUI). The testing device runs a testing program to start a recording procedure to execute the following steps: detecting a plurality of actions generated in response to operations on the terminal device; detecting a foreground application of the GUI; reading a plurality of pieces of object information of the foreground application; and determining the actions to record an object property operation of the foreground application and a call command. The testing device further stops the recording procedure to generate and store a script file and a reference log file. The script file includes the object property operation and the call command.Type: ApplicationFiled: January 15, 2014Publication date: May 14, 2015Applicant: Institute For Information IndustryInventor: Ching-Wen LIN
-
Publication number: 20150135168Abstract: An apparatus of one embodiment evaluates a software change and includes an interface, a memory, and a processor. The interface is operable to communicate through a network with a mainframe and a database. The memory is operable to store metrics information. The processor is operable to determine that a job has executed on the mainframe, the job including a program on the mainframe that utilizes the software change and causes first database queries to he sent from the mainframe to the database. The processor is also operable to send a message identifying the job to the mainframe, receive job information associated with the first database queries from the mainframe, generate second database queries based on the job information, send the second database queries to the database, receive metrics associated with the first database queries, and determine whether the metrics information meets one or more compliance standards.Type: ApplicationFiled: November 13, 2013Publication date: May 14, 2015Applicant: Bank of America CorporationInventors: Bharani Shangar Padmanabhan, Deepan Raja Sachithanandam, Rathi Kaliyan, Vijayakumar Gurusamy Raju, Bhargava Srivathsan Gopalakrishnan, Vimal Vijayasekaran
-
Patent number: 9032375Abstract: A computer program product for identifying bottlenecks includes a computer readable storage medium with stored computer readable program instructions. The computer readable program instructions, when executed, provide a data collector module, a mapper module, and an analyzer module that are collectively configured to read mapped data and configuration files, and identify, based upon the mapped data and the configuration files, an undesirable bottleneck condition that causes a computer program to run inefficiently. A method includes reading a configuration file that includes data regarding processor components, and collecting data from hardware activity counters based upon the configuration file.Type: GrantFiled: April 27, 2011Date of Patent: May 12, 2015Assignee: International Business Machines CorporationInventors: Prathiba Kumar, Rajan Ravindran, Satish K. Sadasivam, Madhavi G. Valluri
-
Patent number: 9032381Abstract: State recovery methods and apparatus for computing platforms are disclosed. An example method includes inserting a first instruction into optimized code to cause a first portion of a register in a first state to be saved to memory before execution of a region of the optimized code; and maintaining a value indicative of a manner in which a second portion of the register in the first state is to be restored in connection with a state recovery from the optimized code.Type: GrantFiled: June 29, 2012Date of Patent: May 12, 2015Assignee: Intel CorporationInventors: Abhay S. Kanhere, Saurabh Shukla, Suriya Subramanian, Paul Caprioli
-
Patent number: 9032376Abstract: A method is provided to evaluate impact of a change in code of a depended upon component of a system stored in a computer readable storage device, upon a dependent component of the system, the method comprising: identifying a dependency relationship between a first component stored in a computer readable storage device and a second component stored in the computer readable storage device; in response to a determination that the second component depends upon the first component, configuring a computer system to obtain a first property evaluation corresponding to the first component; and in response to obtaining the first property evaluation corresponding to the first component, configuring the computer system to associate the first property evaluation with the second component, and obtain a second property evaluation corresponding to the second component, wherein the second component is associated with the first property evaluation.Type: GrantFiled: September 26, 2013Date of Patent: May 12, 2015Assignee: Synopsys, Inc.Inventors: Marat Boshernitsan, Andreas Kuehlmann, Scott McPeak, Philip Chong, Tobias Welp
-
Patent number: 9032372Abstract: Certain example embodiments of the present invention relate to a runtime environment for non-invasive monitoring of software applications. The runtime environment (10) is configured to: (a) during execution of at least one software application (20) within the runtime environment (10), identify a function call (25) to be executed by the at least one software application (20); and (b) generating monitoring data relating to the identified function call (25).Type: GrantFiled: August 22, 2012Date of Patent: May 12, 2015Assignee: Software AGInventors: Michael Münster, Oguzhan Özkut
-
Patent number: 9026394Abstract: The present disclosure generally relates to the automated testing of a system that includes software or hardware components. In some embodiments, a testing framework generates a set of test cases for a system under test using a grammar. Each test case may perform an action, such as provide an input to the system under test, and result in an output from the system under test. The inputs and outputs are then compared to the expected results to determine whether the system under test is performing correctly. The data can then be interpreted in the grammar system or used as input to a fault isolation engine to determine anomalies in the system under test. Based on identified faults, one or more mitigation techniques may be implemented in an automated fashion.Type: GrantFiled: August 4, 2011Date of Patent: May 5, 2015Assignee: Wurldtech Security TechnologiesInventors: Nathan John Walter Kube, Daniel Malcolm Hoffman, Frank Marcus
-
Patent number: 9027006Abstract: A method and an apparatus to execute a code with value profiling are described. The code may include an access to an untyped variable. During the execution, runtime values of the untyped variable may be randomly inspected. A value profile may be established to predict one or more expected types of future runtime values for the untyped variable. The code may be recompiled according to the value profile to optimize the access of the untyped variable for the future runtime values.Type: GrantFiled: August 23, 2012Date of Patent: May 5, 2015Assignee: Apple Inc.Inventors: Filip J. Pizlo, Gavin Barraclough
-
Patent number: 9026720Abstract: The invention provides a technique for managing write operations issued to a non-volatile memory included in a wireless device. A monitor software application executes on the wireless device and is configured to determine that a number of write operations issued to the non-volatile memory is greater than or equal to a write operation threshold associated with the non-volatile memory. In response, at least one application is isolated as the application responsible for issuing excessive write operations. The isolation can be carried out locally on the wireless device, or the isolation can be carried out remotely at a server by sending information about the write operations to the server. The monitor then limits additional write operations from being issued to the non-volatile memory so as to protect the non-volatile memory from becoming corrupted or inoperable.Type: GrantFiled: February 7, 2013Date of Patent: May 5, 2015Assignee: Apple Inc.Inventors: Li Li, Ben-Heng Juang, Arun G. Mathias
-
Patent number: 9027132Abstract: A system, method and computer program product are provided. In use, execution of a portion of internal code of an interface is identified. Further, in response to the execution of the portion of internal code, at least one aspect of an invocation of the interface is monitored and/or analyzed.Type: GrantFiled: September 30, 2013Date of Patent: May 5, 2015Assignee: McAfee, Inc.Inventor: Gregory William Dalcher
-
Publication number: 20150121348Abstract: A method and device for analyzing an application are provided. The method includes obtaining the application, obtaining at least one of environment information, which is information about an environment where the application is executed, and execution information, which is information about operations of components of the application, obtaining code data to analyze from the application, based on at least one of the environment information and the execution information, obtaining function information, and analyzing the code data, based on the obtained function information.Type: ApplicationFiled: October 27, 2014Publication date: April 30, 2015Applicants: SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION, SAMSUNG ELECTRONICS CO., LTD.Inventors: Ji-soon PARK, Jin-yung KIM, Yong-ho YOON, Jun-bum SHIN, Kwang-keun YI
-
Patent number: 9021449Abstract: A method of testing software may include accessing first software that includes multiple execution paths and concretely executing the first software using a test case associated with second software to traverse at least a first execution path of the execution paths. The method may also include capturing concrete execution results produced from concretely executing the first software to record the first execution path and symbolically executing the first software using a symbolic input based on the recorded first execution path.Type: GrantFiled: August 16, 2012Date of Patent: April 28, 2015Assignee: Fujitsu LimitedInventors: Maarten H. Wiggers, Mukul R. Prasad, Indradeep Ghosh
-
Patent number: 9021450Abstract: A disclosed method includes accessing one or more seeding specifications and a program including computer-readable code and applying the one or more seeding specifications to the program to identify for analysis seeds including strings for corresponding identified string variables. The method includes tracking flows emanating from the identified seeds. The tracking includes computing an integral offset into a tracked string variable for any statements causing such a computation. The tracking also includes providing a string representation based on the computed integral offset, wherein the provided string representation comprises a value of the integral offset and an indication of the corresponding tracked string variable. The tracking further includes modeling string manipulations of the tracked string variables using the string representations. Apparatus and program products are also disclosed.Type: GrantFiled: March 11, 2013Date of Patent: April 28, 2015Assignee: International Business Machines CorporationInventors: Salvatore Angelo Guarnieri, Marco Pistoia, Omer Tripp
-
Patent number: 9021441Abstract: An exemplary method includes displaying a graphical user interface configured to facilitate identification of one or more defects in a software instance, receiving data representative of at least one instruction via the graphical user interface to associate one of a plurality of defect severity levels each having one of a plurality of weighted values with each of the one or more defects, and generating a product quality index corresponding to the software instance and that indicates a quality level of the software instance compared to a substantially defect-free software instance. In some examples, the generation of the product quality index is based on the defect severity levels and the weighted values associated with the one or more defects.Type: GrantFiled: March 30, 2009Date of Patent: April 28, 2015Assignee: Verizon Patent and Licensing Inc.Inventors: Shrirang V. Yawalkar, Balaji Kumar
-
Patent number: 9021439Abstract: Novel tools and techniques are provided for implementing green software applications and/or certifying software applications with a green applications efficiency (“GAE”) rating. Implementing green software applications might include performing performance tests of a software application, measuring power consumption of one or more hardware components, in response to execution of the software application during the one or more performance tests, generating a power consumption profile for the software application based on the measure power consumption, and tuning the software application such that power consumption of the one or more hardware components matches a power load caused by execution of the software application, based at least in part on the power consumption profile for the software application.Type: GrantFiled: July 9, 2013Date of Patent: April 28, 2015Assignee: CenturyLink Intellectual Property LLCInventors: Vishak Shanmugam Pillai, Darshan Sonbarse, Viswanath Seetharam, Manoj U P
-
Patent number: 9021447Abstract: A tracing system may divide trace objectives across multiple instances of an application, then deploy the objectives to be traced. The results of the various objectives may be aggregated into a detailed tracing representation of the application. The trace objectives may define specific functions, processes, memory objects, events, input parameters, or other subsets of tracing data that may be collected. The objectives may be deployed on separate instances of an application that may be running on different devices. In some cases, the objectives may be deployed at different time intervals. The trace objectives may be lightweight, relatively non-intrusive tracing workloads that, when results are aggregated, may provide a holistic view of an application's performance.Type: GrantFiled: February 12, 2013Date of Patent: April 28, 2015Assignee: Concurix CorporationInventors: Russell S. Krajec, Ying Li
-
Patent number: 9021446Abstract: Indication of uncoverage information allows tests to be tailored to target those uncovered code units with the most potential to increase coverage of a program. A tool examines coverage information of a program to identify code units of the program that were not covered by test data used to exercise the program. The tool also examines structural information (e.g., control flow) for the program to identify those of the uncovered code units that have direct control flow from a corresponding covered code unit (“root level uncovered code units”). The coverage tool then measures potential impact on coverage for each of the root level uncovered code units.Type: GrantFiled: June 28, 2006Date of Patent: April 28, 2015Assignee: Oracle America, Inc.Inventors: Raj Prakash, Chester M. Wood
-
Patent number: 9013574Abstract: A machine vision system program editing environment including synchronized selection and/or identification of related features in a plurality of different user interface windows is provided. In particular, one of the windows is an editing window where a part program representation is displayed for editing by a user. In one embodiment, a user may select data or another feature of interest in a window that is not the editing window (e.g., a results window, or graphical workpiece inspection feature display window) and the associated part program instruction representation is automatically highlighted and/or selected in the editing window. Conversely, a part program instruction representation may be selected by a user in the editing window and the associated results or feature in another window is automatically highlighted and/or selected. User interface navigation, rapid program quality assessment, and overall part program creation and editing efficiency are significantly enhanced in such an editing environment.Type: GrantFiled: November 13, 2012Date of Patent: April 21, 2015Assignee: Mitutoyo CorporationInventors: Barry Saylor, Ryan Northrup, Akira Takada, Kozo Ariga