Including Analysis Of Program Execution Patents (Class 717/131)
  • 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: 8997064
    Abstract: A method of testing software may include accessing software that includes multiple execution paths that each include one or more branching points. The method may also include concretely executing the software using multiple concrete inputs to traverse at least two of the execution paths of the software. The method may also include capturing concrete execution results produced from executing the software using the concrete inputs. The method may also include symbolically executing the software using one or more symbolic inputs based on the concrete execution results.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: March 31, 2015
    Assignee: Fujitsu Limited
    Inventors: Mukul R. Prasad, Maarten H. Wiggers
  • Patent number: 8997039
    Abstract: In one embodiment, the invention comprises partial fault tolerant stream processing applications. One embodiment of a method for implementing partial fault tolerance in a stream processing application comprising a plurality of stream operators includes: defining a quality score function that expresses how well the application is performing quantitatively, injecting a fault into at least one of the plurality of operators, assessing an impact of the fault on the quality score function, and selecting at least one partial fault-tolerant technique for implementation in the application based on the quantitative metric-driven assessment.
    Type: Grant
    Filed: April 22, 2013
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Gabriela Jacques da Silva, Kun-Lung Wu
  • Patent number: 8997048
    Abstract: One embodiment of the present invention provides a system for profiling a virtual machine on an embedded device. During operation, the system receives an operation-request at a system-level profiler from a virtual machine on an embedded device. The system then records the operation-request in a system-level log. Next, the system sends the operation-request to a native layer on the embedded device. Then, the system receives an operation-response associated with the operation-request from the native layer. The system then records the operation-response in the system-level log. Next, the system sends the operation-response to the virtual machine, thereby facilitating logging of interactions between the virtual machine and the native layer. Note that logging interactions between the virtual machine and the native layer facilitates emulation of the platform independent virtual machine on a second device.
    Type: Grant
    Filed: February 14, 2007
    Date of Patent: March 31, 2015
    Assignee: Oracle America, Inc.
    Inventors: Omer Pomerantz, David Glushko, Ami Navon
  • Patent number: 8990774
    Abstract: Methods and apparatus in a computer for automatically testing computer programs involve opening a predefined graphical user interface (GUI) on a screen of the computer; loading a set of program script instructions from a script database in communication with the computer that is associated with the predefined GUI; reading a loaded set of program script instructions; retrieving, based on the loaded set, data and at least one image object corresponding to the predefined GUI from a data and image object database in communication with the computer; taking a screenshot of the predefined GUI that includes at least one image object of the predefined GUI; determining whether an image object in the screen shot matches an image object retrieved from the data and object image database; and if a target position on the screen of the matching image object based on data retrieved from the data and image object database, and activating a control function adapted to control the predefined GUI based on the loaded set of progra
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: March 24, 2015
    Assignee: Cinnober Financial Technology AB
    Inventor: Mehrvarz Amintafreshi
  • Patent number: 8990784
    Abstract: An embodiment is directed to a method for analyzing a computer program that includes receiving an instruction specifying a first variable of the program. The first variable has a first value at a first location during program execution. The instruction further specifies a second value for the first variable at the first location. The method includes determining that a second location during program execution includes a conditional control flow instruction that includes the first variable. In addition, the method includes evaluating the conditional control flow instruction using the first and second values of the first variable at the second location. It may be determined whether control flow diverges at the second location based on the evaluating of the conditional control flow instruction using the first and second values at the second location.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: March 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Krzysztof Anton, Michal Bodziony, Pawel K. Koperek, Rafal Korczyk
  • Patent number: 8990763
    Abstract: The present subject matter provides a system and a method for assessing user experience maturity (UXM) level for a software product. The method includes defining a set of hierarchical UXM levels that may be associated with one or more user experience (UX) parameters. Each of the one or more UX parameters may be assigned a weight based on relevance of the each of the one or more UX parameters. In addition, the method may include determining ratings for the each of the one or more UX parameters and evaluating a UXM score of the software product based on the ratings. Moreover, the method may include categorizing the software product in one of the hierarchical UXM levels based on the UXM score of the software product. The software product may be categorized if the UXM score is greater than a pre-defined threshold value for that hierarchical UXM level.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: March 24, 2015
    Assignee: Tata Consultancy Services Limited
    Inventors: Prachi Sakhardande, Rajiv Thanawala
  • Patent number: 8990183
    Abstract: The deep application crawling technique described herein crawls one or more applications, commonly referred to as “apps”, in order to extract information inside of them. This can involve crawling and extracting static data that are embedded within apps or resource files that are associated with the apps. The technique can also crawl and extract dynamic data that apps download from the Internet or display to the user on demand, in order to extract data. This extracted static and/or data can then be used by another application or an engine to perform various functions. For example, the technique can use the extracted data to provide search results in response to a user query entered into a search engine. Alternately, the extracted static and/or dynamic data can be used by an advertisement engine to select application-specific advertisements. Or the data can be used by a recommendation engine to make recommendations for goods/services.
    Type: Grant
    Filed: June 6, 2012
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jie Liu, Suman Kumar Nath, Jitendra D. Padhye, Lenin Ravindranath Sivalingam
  • Patent number: 8990783
    Abstract: Embodiments can include computer-implemented methods or non-transitory computer readable media storing executable instructions. The method or instructions can perform execution scheduling for code generated from an executable graphical model, where the generated code is executed on a target. The method/instructions can perform execution scheduling for a first code portion having a first execution rate, and a second code portion having a second execution rate that is temporally related to the first execution rate. The execution scheduling can account for target environment characteristics obtained from a target, can use an execution schedule, and can account for optimizations related to the first code portion or the second code portion. The method/instructions can further schedule execution of the first code portion and the second code portion in generated executable code based on the performing.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: March 24, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Biao Yu, Jim Carrick, Pieter J. Mosterman
  • Publication number: 20150082287
    Abstract: The present subject matter relates to software testing. The method comprises obtaining user requirements from a user, the user requirements being indicative of functionalities and features to be incorporated in a software application. Based on the user requirements, at least one test scenario for testing the software application may be identified. The at least one test scenario may include at least one step. Further, based on a first approval received from the user, one or more test cases may be associated with each step of the software application. The first approval is indicative of validity of the at least one test scenario. The one or more test cases may be executed for testing the software, based on a second approval received from the user. The second approval is indicative of validity of the one or more test cases.
    Type: Application
    Filed: September 17, 2014
    Publication date: March 19, 2015
    Inventors: Nisha A. Augustine, Bhanu R
  • 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: 8984494
    Abstract: An embodiment can include one or more computer readable media storing executable instructions for performing execution scheduling for code generated from an executable graphical model. The media can store instructions for accessing a first code portion having a first priority, and a second code portion having a second priority, where the second priority has a relationship with the first priority. The media can store instructions for accessing target environment characteristics that indicate a performance of the target environment, and for performing execution scheduling for the first code portion and the second code portion, the execution scheduling taking into account the target environment characteristics, the execution scheduling using an execution schedule.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: March 17, 2015
    Assignee: The MathWorks, Inc.
    Inventors: James E. Carrick, Biao Yu
  • Patent number: 8984488
    Abstract: Systems and methods for type and range propagation through data flow models are provided. In one embodiment, a test generating system for processing data flow diagrams, the system comprises: a processor programmed to perform a test generation process; and at least one memory device coupled to the processor, the at least one memory device including a data flow diagram. The test generation process computes range information and data type information for outputs of one or more functional blocks defined by the data flow diagram by applying transformations to input range information for inputs of each of the one or more functional blocks. The transformations are at least in part performed by applying specific mathematical and functional effects that are pre-defined for each of the one or more functional blocks based on block type.
    Type: Grant
    Filed: January 14, 2011
    Date of Patent: March 17, 2015
    Assignee: Honeywell International Inc.
    Inventors: Devesh Bhatt, Steve Hickman, Manish Patodi, David V. Oglesby, Kirk Schloegel
  • Patent number: 8984491
    Abstract: Methods and systems to test of web browser enabled applications are disclosed. In one embodiment, a browser application can allow a user to perform test and analysis processes on a candidate web browser enabled application. The test enabled browser can use special functions and facilities that are built into the test enabled browser. One implementation of the invention pertains to functional testing, and another implementation of the invention pertains to pertains to site analysis.
    Type: Grant
    Filed: June 20, 2013
    Date of Patent: March 17, 2015
    Assignee: Software Research, Inc.
    Inventor: Edward F. Miller
  • Patent number: 8984493
    Abstract: A method for distributed static analysis of computer software applications, includes: statically analyzing instructions of a computer software application; identifying at least one entry point in the computer software application; assigning a primary agent to statically analyze the computer software application from the entry point; assigning a secondary agent to statically analyze a call site encountered by the primary agent and produce a static analysis summary of the call site; and presenting results of any of the static analyzes via a computer-controlled output device.
    Type: Grant
    Filed: April 23, 2013
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp, Omri Weisman
  • Patent number: 8978017
    Abstract: At least some of the illustrative embodiments are a computer-readable medium storing a program that, when executed by a processor, causes the processor to obtain values indicative of a state of an operating context parameter during execution of a traced program on a target processor, and display an indication of a proportion of time during a trace period of the traced program that the target processor operated with the operating context parameter in a particular state.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: March 10, 2015
    Assignee: Texas Instruments Incorporated
    Inventors: Oliver P Sohm, Brian Cruickshank
  • 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: 8972933
    Abstract: Exemplary embodiments may provide methods, systems and devices for providing non-literal representations of programming language code. The non-literal representation of a portion of code may provide a representation of the semantics of the portion of code that is different from the source code representation. The non-literal representation may change the way the code is output to a user in order to improve readability of the source code, and may not modify the underlying structure or semantics of the code. While improving readability of the code, the non-literal representation may also retain important information about the underlying code associated with the non-literal representation.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: March 3, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Stephen C. Johnson
  • Patent number: 8972949
    Abstract: A method includes, by computing devices, analyzing numeric and string constraints associated with a software module that includes numeric and string variables and operations applying to specific variables for numeric or string results. The numeric constraints apply to specific numeric variables. The string constraints apply to specific string variables. The method further includes determining an over-approximated constraint from the numeric constraints or operations, representing the over-approximated constraint and string constraints with finite state machines, representing the numeric constraints with an equation, determining whether a solution does not exist for the combination of the variables that satisfies the over-approximated constraint, the numeric constraints, and the string constraints using operations, and terminating attempts to solve for the variables based on the determination whether the solution does not exist.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: March 3, 2015
    Assignee: Fujitsu Limited
    Inventors: Indradeep Ghosh, Guodong Li
  • Patent number: 8972955
    Abstract: An expression can be evaluated in a remote debugging environment with one single round trip across the network. An expression evaluator on a local machine can compile the expression into a language-independent intermediate language (IL) that encodes all the information needed to evaluate the expression in the absence of a symbol table. The IL can include instructions that manipulate state inside the debuggee process, as well as logical operations needed to process the information. The IL language can be turing complete so that any computation needed to determine the state to read and write and how the information gathered is to be combined can be performed. The IL can be sent to the remote computer and can be interpreted on the remote computer. The IL can be interpreted on the remote computer using a stack based mechanism, without the need to access symbolic information on the local computer.
    Type: Grant
    Filed: May 27, 2011
    Date of Patent: March 3, 2015
    Assignee: Microsoft Technology Licensing LLC
    Inventors: Eric H. Feiveson, Jackson M. Davis, Gregg Bernard Miskelly
  • Patent number: 8972938
    Abstract: A method that includes: running a set of functional tests over a computer code; determining, for each code element of the computer code, which functional test covered it, to yield a tests-elements coverage map; associating portions of the computer code with corresponding design portions or requirements derived from a design document or a requirements document respectively, associated with the computer code, to yield a design/requirements-code tracing map; deriving, from the tests-code coverage map and the design/requirements-code tracing map, a design/requirements-tests coverage map, exhibiting coverage of the computer code by the functional tests, in terms of the design or the requirements, wherein at least one of the running, the determining, the associating, and the deriving is executed by at least one processor.
    Type: Grant
    Filed: November 13, 2012
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Maayan Goldstein, Dany Moshkovich, Moti Nisenson, Yahalomit Simionovici, Shmuel Ur
  • Patent number: 8972956
    Abstract: Techniques are disclosed for evaluating an application to determine a processing environment suited for executing the application. A request may be received to execute the application. If execution data identified for the application do not satisfy a first set of criteria, the application is deployed for execution on a first processing environment. If the execution data satisfy the first set of criteria, the application is deployed for execution partially in time on a second processing environment, based on the execution data. The second processing environment provides a higher capability than the first processing environment in terms of at least one resource type.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Sean T. Brownlow, Nathan G. Faiman, Michael T. Kalmbach, John E. Petri, Kevin Wendzel
  • Patent number: 8972950
    Abstract: A method is provided for translating sets of constraint declarations to imperative code sequences based on defining an instantiatable object per set, inserting calls to a notification callback mechanism on state modification and defining calls in the constraint context as imperative code sequences that, in response to these callbacks, take actions to maintain these constraints. This notification and callback mechanism can also be employed in connection with external events, thereby providing for efficient implementation of event-sequenced imperative procedures in a constraint programming language.
    Type: Grant
    Filed: June 12, 2012
    Date of Patent: March 3, 2015
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 8972954
    Abstract: A debugging method for use with computer programs that may include a number of program components such as objects within a software framework. The debugging method includes providing a debugging environment with a debugger that generates debugging information, including runtime state information, for each of the program components. The method includes identifying one of the program components for inspection within the debugging environment. The method includes using an inspector selection module to select a set of program inspectors to perform the inspection of the identified program component, e.g., by first determining the type of object or program component that has been identified or based upon a type of issue being debugged. The method includes performing the inspection with these program inspectors or scripts that each define a particular potential user error or nonstandard usage of an object, and outputting a report of the programming issues identified by the program inspectors.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: March 3, 2015
    Assignee: Adobe Systems Incorporated
    Inventor: Donald P. Brown
  • Patent number: 8966450
    Abstract: A facility for executing an application program in a cloud computing environment is described. The facility identifies dependencies of the application program, and identifies support software components that satisfy the identified dependencies. The facility then causes the application to be executed in conjunction with the identified support software components on the nodes of the cloud computing environment on which they were installed.
    Type: Grant
    Filed: June 1, 2011
    Date of Patent: February 24, 2015
    Assignee: Red Hat, Inc.
    Inventors: Tobias Kunze, Issac Roth
  • Patent number: 8966636
    Abstract: A method, computer program product, and system for transforming unit tests is described. A unit test associated with one or more software units is identified. A first input parameter of the unit test is identified. A substitute parameter value is determined, wherein the substitute parameter value is associated with a security test for the one or more software units. A value of the first input parameter in the unit test is replaced with the substitute parameter value. The unit test including the substitute parameter value is implemented for the one or more software units. A first security issue associated with the one or more software units is identified, based upon, at least in part, replacing the first input parameter of the unit test with the substitute parameter value and implementing the unit test including the substitute parameter value.
    Type: Grant
    Filed: October 16, 2012
    Date of Patent: February 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Daniel Kalman, Ory Segal, Omer Tripp, Omri Weisman
  • Publication number: 20150052505
    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: Application
    Filed: November 3, 2014
    Publication date: February 19, 2015
    Inventor: Gael MULAT
  • Patent number: 8959490
    Abstract: Embodiments of the present invention provide a computing system and method to profile a program for finding potential optimization in heap usage by reducing lag and drag in lifetimes of heap memory blocks. The process consists of three steps. First, an instrumentation engine analyzes a given program and inserts additional code at interesting locations to collect needed information. Second, when the instrumented program is executed on a set of test cases, runtime data is collected. Third, since this data is large for a complex and long running program, data is processed to present it to a user in useful ways so that a programmer improves the heap utilization in the program.
    Type: Grant
    Filed: May 2, 2012
    Date of Patent: February 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Satish Chandra Gupta, Kumar Rangarajan
  • Patent number: 8957960
    Abstract: A machine vision system program editing environment includes near real time context generation. Rather than requiring execution of all preceding instructions of a part program in order to generate a realistic context for subsequent edits, surrogate data operations using previously saved data replace execution of certain sets of instructions. The surrogate data may be saved during the actual execution of operations that are recorded in a part program. An edit mode of execution substitutes that data as a surrogate for executing the operations that would otherwise generate that data. Significant time savings may be achieved for context generation, such that editing occurs within an operating context which may be repeatedly refreshed for accuracy in near real time. This supports convenient program modification by relatively unskilled users, using the native user interface of the machine vision system, rather than difficult to use text-based or graphical object-based editing environments.
    Type: Grant
    Filed: November 15, 2011
    Date of Patent: February 17, 2015
    Assignee: Mitutoyo Corporation
    Inventors: Barry Saylor, Dahai Yu, Ryan Northrup, Gyokubu Cho, Akira Takada
  • Publication number: 20150046909
    Abstract: A method comprises receiving data pertaining to a recorded interaction between a test device operating system and an application on a test device, the recorded interaction being based on a user input; compiling the data pertaining to the recorded interaction in a script compiler, the data comprising human-readable action-description language; sending the compiled data comprising human-readable action-description language from the script compiler of the server to a developer device; receiving modified data from the developer device; and sending the modified data from the developer device to the test device.
    Type: Application
    Filed: August 12, 2013
    Publication date: February 12, 2015
    Applicant: International Business Machines Corporation
    Inventors: Joseph W. Ligman, Marco Pistoia, John Ponzo, Gegi Thomas
  • 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: 8954934
    Abstract: Improving user friendliness of a non-executable human-readable test scenario by removing unessential test steps including: receiving a non-executable human-readable test scenario including unessential test steps; generating a graph of screens referred to by the non-executable human-readable test scenario; identifying a side branch that is not mandatory for proper operation of the non-executable human-readable test scenario; and removing description of the non-mandatory side branch from the non-executable human-readable test scenario.
    Type: Grant
    Filed: May 8, 2011
    Date of Patent: February 10, 2015
    Assignee: Panaya Ltd.
    Inventors: Yossi Cohen, Mati Cohen, Nurit Dor, Dror Weiss
  • Patent number: 8954996
    Abstract: A system for providing performance statistics of applications in real time includes a first application that obtains current performance data of at least one second application in real time, utilizes the current performance data to determine a list of functions and the number of events occurred during the execution of each function, presents the resulting data to a user, and periodically refreshes the presented data using up-to-date performance data of the second application.
    Type: Grant
    Filed: December 11, 2009
    Date of Patent: February 10, 2015
    Assignee: Red Hat, Inc.
    Inventors: Arnaldo Carvalho de Melo, Ingo Molnar, Thomas Gleixner
  • Publication number: 20150040108
    Abstract: Systems and methods for predicting execution paths of at least one target program of a plurality of programs that are run in parallel are described. In one method, execution flows of programs are generated by conducting a static analysis. In addition, the programs are executed to obtain debug logs from the programs. Further, communication messages transmitted between the execution flows are identified from the debug logs. A deduction that at least one conditional branch was taken in at least one given execution flow of the first execution flows by the target program is made based on the communication messages that are identified in the debug logs. Based on the deduction, at least one conditional branch that was not taken is removed from the given execution flow. In addition, modified execution flows that were modified in accordance with the removal are output to indicate predicted execution paths of the target program.
    Type: Application
    Filed: July 31, 2013
    Publication date: February 5, 2015
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Takayuki Kushida, Takuya Mishina, Hitomi Takahashi, Takaaki Tateishi
  • Publication number: 20150040107
    Abstract: Systems and techniques are described for solving an optimization problem using a constraints solver. A set of constraints that correspond to the optimization problem can be generated. Next, a set of upper bound constraints can be added to the set of constraints, wherein the set of upper bound constraints imposes an upper bound on one or more variables that are used in an objective function of the optimization problem. Next, the embodiments can iteratively perform the following set of operations on a computer: (a) solve the set of constraints using the constraints solver; (b) responsive to the constraints solver returning a solution, decrease the upper bound; and (c) responsive to the constraints solver indicating that no solutions exist or that the constraints solver timed out, increase the upper bound. The solution with the lowest upper bound value can be outputted as the optimal solution for the optimization problem.
    Type: Application
    Filed: July 30, 2013
    Publication date: February 5, 2015
    Applicant: Synopsys, Inc.
    Inventors: Mahesh A. Iyer, Amir H. Mottaez
  • Patent number: 8949421
    Abstract: Techniques for discovering database connectivity leaks are presented. Each connection made by an application to a database is monitored. When the application is shut down, if information regarding a particular connection remains in memory, then that connection is reported as a potential database connectivity leak.
    Type: Grant
    Filed: December 16, 2009
    Date of Patent: February 3, 2015
    Assignee: Teradata US, Inc.
    Inventor: Dennis Avery Tackett
  • Patent number: 8949290
    Abstract: Systems and methods for real time performance monitoring of an application are described. In one implementation, when a metrics collection request is obtained from a user device, a data storage location is selected from a plurality of data storage locations based on a location status associated with the data storage location. The metrics data, for monitoring the performance of the application, is then provided to the user device through a data store from the selected data storage location in real time.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: February 3, 2015
    Assignee: Tata Consultancy Services Limited
    Inventors: Swarup Chaterjee, Ramkumar Ilangovan
  • Patent number: 8949675
    Abstract: Techniques for error report processing are described herein. Error reports, received by a developer due to program crashes, may be organized into a plurality of “buckets.” The buckets may be based in part on a name and a version of the application associated with a crash. Additionally, a call stack of the computer on which the crash occurred may be associated with each error report. The error reports may be “re-bucketed” into meta-buckets to provide additional information to programmers working to resolve software errors. The re-bucketing may be based in part on measuring similarity of call stacks of a plurality of error reports. The similarity of two call stacks—a measure of likelihood that two error reports were caused by a same error—may be based in part on functions in common, a distance of those functions from the crash point, and an offset distance between the common functions.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: February 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Dongmei Zhang, Yingnong Dang, Song Ge
  • Patent number: 8949797
    Abstract: A system, method and computer program product for verifying integrity of a running application program on a computing device. The method comprises: determining entry points into an application programs processing space that impact proper execution impact program integrity; mapping data elements reachable from the determined entry points into a memory space of a host system where the application to verify is running; run-time monitoring, in the memory space, potential modification of the data elements in a manner potentially breaching program integrity; and initiating a response to the potential modification. The run-time monitoring detects when a data transaction, e.g., a write event, reaches a malicious agent's entry point, a corresponding memory hook is triggered and control is passed to a security agent running outside the monitored system.
    Type: Grant
    Filed: April 16, 2010
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Najwa Aaraj, Mihai Christodorescu, Dimitrios Pendarakis, Reiner Sailer, Douglas L. Schales
  • Patent number: 8949787
    Abstract: A computer implemented method for locating isolation points in an application under multi-tenant environment includes scanning, using a computer device an application by using scanning rules, to obtain potential isolation points and relationships between the potential isolation points; specifying at least one isolation point among the potential isolation points; and screening an isolation point from the potential isolation points by using relationships between the specified at least one isolation point and the remaining potential isolation points.
    Type: Grant
    Filed: August 31, 2012
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Wen Hao An, Hong Cai, Liya Fan, Bo Gao, Chang Jie Guo, Li Li Ma, Zhi Hu Wang, Min Jun Zhou
  • Patent number: 8949996
    Abstract: A method, computer program product, and system for transforming unit tests is described. A unit test associated with one or more software units is identified. A first input parameter of the unit test is identified. A substitute parameter value is determined, wherein the substitute parameter value is associated with a security test for the one or more software units. A value of the first input parameter in the unit test is replaced with the substitute parameter value. The unit test including the substitute parameter value is implemented for the one or more software units. A first security issue associated with the one or more software units is identified, based upon, at least in part, replacing the first input parameter of the unit test with the substitute parameter value and implementing the unit test including the substitute parameter value.
    Type: Grant
    Filed: October 9, 2013
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Daniel Kalman, Ory Segal, Omer Tripp, Omri Weisman
  • Patent number: 8949800
    Abstract: Method, system, and computer program product embodiments of a time-based trace facility for facilitating software debugging without interfering with the run-time behavior, performance or resource usage of the traced software are provided. The trace facility resides in a different address space than the target address space and uses different time-slices of CPU resources to execute the instructions in the address spaces. The trace facility uses a cross-memory mode to read the state data from the target address space in accordance with a time schedule. The trace facility writes the state data to a trace area, which may be located in either the target or trace address spaces or external storage. With this approach, the trace facility can read a large amount of state data frequently to construct the type of historical record needed to analysis run-time behavior, performance and resource usage.
    Type: Grant
    Filed: March 24, 2013
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Joel L. Masser, David Charles Reed, Max Douglas Smith
  • Patent number: 8949805
    Abstract: A method for processing computer program code to enable different parts of the computer program code to be executed by different processing elements of a plurality of communicating processing elements. The method comprises identifying at least one first part of the computer program code, which is to be executed by a particular one of said processing elements. The method further comprises identifying at least one further part of the computer code which is related to the at least one first part of the computer code. The at least one first part of the computer program code and the at least one further part of the computer program code are caused to be executed by the particular one of said processing elements.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: February 3, 2015
    Assignee: Codeplay Software Limited
    Inventors: Jens-Uwe Dolinsky, Andrew Richards, Colin Riley
  • Publication number: 20150033212
    Abstract: A non-transitory computer-readable recording medium having stored therein a test program that causes a computer to execute a process comprising: starting a test of a test-target program containing a plurality of modules by executing a plurality of individual tests, the plurality of individual tests being associated with the plurality of modules, respectively; generating test-relationships information that includes relationships between the plurality of individual tests based on module-relationships information including relationships of the plurality of modules; and in cases in which results of the plurality of individual tests include one or a plurality of specific results fulfilling a specific condition, specifying one or a plurality of additionally executing tests based on the one or plurality of specific results and the test-relationships information.
    Type: Application
    Filed: July 25, 2014
    Publication date: January 29, 2015
    Applicant: FUJITSU LIMITED
    Inventors: Yuji MIZOBUCHI, Kuniaki SHIMADA, Yuji WADA
  • Patent number: 8938722
    Abstract: A method and apparatus for locating errors is disclosed. A computer inserts an object reference into program code suspected of causing an error, the object reference having an initial class name. Responsive to execution of the program code, the computer generates a new class name for the object reference comprising the context information. The computer sets an object with the new class name as the object reference inserted into the program code suspected of causing the error, wherein the new class name of the object is located in computer memory in use by the executing program code. The computer then creates a record of the computer memory in use by the executing program code, the record including the context information in the form of the new class name of the object.
    Type: Grant
    Filed: October 17, 2012
    Date of Patent: January 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Krishnamohan Dantam, Ravi K. Kosaraju
  • Patent number: 8935676
    Abstract: A test controller performs a test of a test-target component of a test-target system so as to generate at least one fail event indicating a possible fault in the test-target component. A trouble-shooting and analysis tool probes the test controller and/or hardware of the test-target system to investigate potential causes of the fail event other than a fault of said software component. The trouble-shooting and analysis tool then analyzes fail data including probe data to evaluate potential causes of the fail event.
    Type: Grant
    Filed: August 7, 2011
    Date of Patent: January 13, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Guy Verbest
  • Patent number: 8935673
    Abstract: A system and method are provided for enhanced navigation along execution time and code space in a debugger to assist a user in remediating errors, streamlining, or reverse engineering a computer program and the source code thereof. Snapshots of system states are recorded, a causality tree of commands is constructed through execution of the program to be debugged, and an intelligent display of system states captured during runtime and indexed or cross-referenced by time are displayed to the user in an intelligent manner to aid the user with certain debugging tasks. Additionally, further features in assisting the user to locate a root cause of an error or unexpected value and remediate that cause are also provided.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: January 13, 2015
    Assignee: Cadence Design Systems, Inc.
    Inventors: Yonatan Ashkenazi, Nadav Chazan, Tal Tabakman, Yaron Peri-Glass, Ronen Shoham
  • Patent number: 8930907
    Abstract: Described is a probabilistic concurrency testing mechanism for testing a concurrent software program that provides a probabilistic guarantee of finding any concurrent software bug at or below a bug depth (that corresponds to a complexity level for finding the bug). A scheduler/algorithm inserts priority lowering points into the code and runs the highest priority thread based upon initially randomly distributed priorities. When that thread reaches a priority lowering point, its priority is lowered to a value associated (e.g., by random distribution) with that priority lowering point, whereby a different thread now has the currently highest priority. That thread is run until its priority is similarly lowered, and so on, whereby all schedules needed to find a concurrency bug are run.
    Type: Grant
    Filed: December 1, 2009
    Date of Patent: January 6, 2015
    Assignee: Microsoft Corporation
    Inventors: Sebastian Carl Burckhardt, Pravesh Kumar Kothari, Madanlal S. Musuvathi, Santosh Ganapati Nagarakatte
  • 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
  • Publication number: 20150007147
    Abstract: An embodiment is directed to a method for analyzing a computer program that includes receiving an instruction specifying a first variable of the program. The first variable has a first value at a first location during program execution. The instruction further specifies a second value for the first variable at the first location. The method includes determining that a second location during program execution includes a conditional control flow instruction that includes the first variable. In addition, the method includes evaluating the conditional control flow instruction using the first and second values of the first variable at the second location. It may be determined whether control flow diverges at the second location based on the evaluating of the conditional control flow instruction using the first and second values at the second location.
    Type: Application
    Filed: June 28, 2013
    Publication date: January 1, 2015
    Applicant: International Business Machines Corporation
    Inventors: Krzysztof Anton, Michal Bodziony, Pawel K. Koperek, Rafal Korczyk