Program Verification Patents (Class 717/126)
  • 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
  • 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: 8966461
    Abstract: A medium, method, and apparatus are disclosed for eliding superfluous function invocations in a vector-processing environment. A compiler receives program code comprising a width-contingent invocation of a function. The compiler creates a width-specific executable version of the program code by determining a vector width of a target computer system and omitting the function from the width-specific executable if the vector width meets one or more criteria. For example, the compiler may omit the function call if the vector width is greater than a minimum size.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: February 24, 2015
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benedict R. Gaster, Lee W. Howes, Mark D. Hummel
  • Patent number: 8965986
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a device aware social graph. In one aspect, a method includes deciding to send a message to a user, the user being associated with devices. The method also includes selecting a user device from among the devices. The method also includes determining a message method. The method also includes obtaining an identifier associated with the user and the message method. The method also includes sending a message to the device using the message method and the identifier.
    Type: Grant
    Filed: March 8, 2012
    Date of Patent: February 24, 2015
    Assignee: Google Inc.
    Inventors: Anish Acharya, Jeson Patel
  • Publication number: 20150052504
    Abstract: Disclosed are a method and a system for facilitating verification of program code implementing Sleep Wakeup protocol for a microcontroller. An input handling module is configured to receive metadata from user required for verification of the program code. Identification module is configured to identify abstract syntax tree (AST) nodes corresponding to each program point in the program code. A computation module is configured to compute an actual interrupt protection status (IPS), task lock status (TLS), path entities and shared variables for each program point in the program code. A path analysis module is configured to determine transition paths between program points specified in the metadata, and are computed in terms of the path entities. Also, review information is computed for each of the path entities comprised in the transition paths. Further, a report generation module is configured to generate a report comprising the review information facilitating the user to verify the program code.
    Type: Application
    Filed: July 21, 2014
    Publication date: February 19, 2015
    Inventors: Tukaram B. MUSKE, Advaita DATAR, Amey Anand ZARE
  • Patent number: 8959485
    Abstract: Methods and apparatus for security protection domain-based testing. A testing framework enables the same certification tests to be run across different protection domains or operation modes, and on different platforms or devices. The testing framework may, for example, be directed to testing implementations of the Java Platform, Micro Edition (Java ME®) using Connected Device Configuration (CDC) or Connected Limited Device Configuration (CLDC) as the configuration layer and Mobile Information Device Profile (MIDP) as the profile layer. Different Mobile Information Device Profile (MIDP) specifications (e.g., MIDP 2.x and MIDP 3.x specifications) may be supported. The testing framework may be deployed in the context of compatibility testing and technology compatibility kits (TCKs). The testing framework may, for example, be applied in compatibility testing for Java ME® platform technology implementations.
    Type: Grant
    Filed: June 25, 2012
    Date of Patent: February 17, 2015
    Assignee: Oracle International Corporation
    Inventors: Boris Kvartskhava, Vasily Isaenko, Alexander Alexeev
  • Patent number: 8959483
    Abstract: Disclosed herein are techniques for testing a page. In some implementations, an intermediate representation of a page is created. The page may be defined by a page description implemented in a markup language. The page description may refer to data accessible via a data model. The intermediate representation may include at least a portion of the data accessible via the data model. The intermediate representation may be capable of being rendered to create a rendered page. The rendered page may be capable of being displayed on a display device. A determination may be made as to whether a test value for a portion of the intermediate representation matches an expected value for the portion of the intermediate representation. When the test value does not match the expected value, an indication of an error may be stored.
    Type: Grant
    Filed: May 10, 2011
    Date of Patent: February 17, 2015
    Assignee: salesforce.com, inc.
    Inventors: Andrew Waite, Alan Ballard, K. Sagar Wanaselja, Richard Unger
  • Patent number: 8959486
    Abstract: A processor-implemented method, system, and/or computer program product automates regression testing based on cyclomatic complexity of changed code. A base code change to a software program is identified as having a particular cyclomatic complexity. Multiple different software test routines are mapped to the base code change. A specific quantity of the different software test routines are then run to test the base code change, where the quantity of test routines that is run is based on the cyclomatic complexity of the base code change.
    Type: Grant
    Filed: January 9, 2013
    Date of Patent: February 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: James E. Bostick, John M. Ganci, Jr., John P. Kaemmerer, Craig M. Trim
  • Publication number: 20150046907
    Abstract: An approach is provided for validating translated files for inclusion in an application being developed. Content in a natural language is translated into another language and received as a first translation in a first translated file. Based on an error condition indicated by simulations of loading and presenting the first translation in a user interface of the application, a syntax error that causes the error condition is determined. The syntax error can include a lack of a match between a key and exactly one value, a missing key, or a mismatch of placeholders in the first translated file. Responsive to a receipt of a second translation of the content that includes the correction of the syntax error, and based on simulations of loading and presenting the second translation in the interface not indicating the error condition, the second translation is presented at runtime without causing the application to stop running.
    Type: Application
    Filed: October 22, 2014
    Publication date: February 12, 2015
    Inventors: Warren J. Baumann, Firas Bouz, Douglas S. Brown, William M. Higginbotham
  • 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: 8954378
    Abstract: A name of one or more entity classes of the data model may be refined to conform to a naming convention. A semantic meaning of each of the names and one or more attributes of each entity class may be determined. It may be determined that the name of a first entity class is semantically similar to the name of a second entity class based on a semantic distance between the semantic meaning of the names, where a substantial similarity may be determined between the first entity class and the second entity class by comparing the semantic meaning of the one or more attributes of the first entity class to the semantic meaning of the one or more attributes of the second entity class. The data model may be normalized based on the substantial similarity.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: February 10, 2015
    Assignee: SAP AG
    Inventors: Gunther Stuhec, Florian Gessner, Jens Lemcke
  • Patent number: 8954930
    Abstract: A system, computer readable medium, and method for automatically testing computer objects affected by an update package. The exemplary method may compare computer objects/instances in an update package with those of the installed version of the computer application. A set of computer objects that have changed in the update package as compared to the installed version may be generated. The changes to each of the computer objects in the set of changed objects may be analyzed to determine if an automated test is related to the changed object. If an object has a related automated test assigned to it, the object may be placed in a separate list for testing. The automated tests of the changed objects in the separate list may be organized into a test plan. The automated tests may be executed according to the test plan. The system may have servers and computer processors to implement the method.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: February 10, 2015
    Assignee: SAP SE
    Inventors: Torsten Kamenz, Andreas Kemmler
  • Patent number: 8954933
    Abstract: Embodiments of the invention relate to test case maintenance for user interfaces. In one embodiment, user source and test cases are linked for test case maintenance. A link is determined to have been created between a user interface and at least one test script. The test script includes a set of test instructions. The user interface includes a set of user interface elements. Each test instruction is run against the user interface. Mapping information for each test instruction is generated. A change is determined to have occurred in at least one of the user interface and the test script. In response to a change having occurred to the user interface, at least one test instruction affected by the change is identified. In response to a change having occurred to the test script, at least one user interface element affected by the change to the test script is identified.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Joel A. Bullard, Arnaldo Carreno-Fuentes, Margaret Cho, Michael G. Collins, Clemens Drews, Jalal U. Mahmud, Mark D. Vickstrom
  • Patent number: 8954920
    Abstract: An apparatus used as a platform for developing embedded real-time software for controlling fault tolerant opto-electro-mechanical systems. The platform provides a portable model-based design environment conducive to validation and verification of the Control Laws and of the Plant model. The platform is also useful for observing the overall system behavior by injecting faults or failures which can be destructive, expensive or difficult if applied to the real system. The platform is comprised of multiplicities of serial data ports, serial port converters, single board microcontrollers, and external interfaces. The apparatus includes at least one interface board that cross connects at least two microcontrollers and allows the downloading of the Plant and Control algorithms to each microcontroller through available serial interfaces enabling evaluation of the modeled system behavior.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: February 10, 2015
    Inventors: Haik Biglari, Andrey John Biglari, Dorek Alan Biglari, Eric Robert Grigorian
  • Patent number: 8954931
    Abstract: Various embodiments include at least one or systems, methods, and software providing abilities to automatically generate a test plan that mitigates risk involved in testing less than an entirety of a software system following modification. Some embodiments operate to allow a user to influence the scope of an optimized test plan while also reducing a number of tests and test execution effort involved. Such embodiments may identify portions of the software system to test and portions of the software system that will not be tested in a manner that reduces a total testing effort involved. Reductions in testing effort are performed in generation of the test plan in view of testing preferences which are utilized not only to reduce the total effort in executing a test plan, but also does so to optimize the test plan.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: February 10, 2015
    Assignee: SAP SE
    Inventors: Marcus Wefers, Reinhold Konnerth, Thierry Lieu, Abdelhak Nezzari, Michael Schaffrath, Torsten Kamenz, Andreas Kemmler
  • Patent number: 8949674
    Abstract: A computational geometry technique is utilized to detect, diagnose, and/or mitigate fault detection during the execution of a software application. Runtime measurements are collected and processed to generate a geometric enclosure that represents the normal, non-failing, operating space of the application being monitored. When collected runtime measurements are classified as being inside or on the perimeter of the geometric enclosure, the application is considered to be in a normal, non-failing, state. When collected runtime measurements are classified as being outside of the geometric enclosure, the application is considered to be in an anomalous, failing, state. In an example embodiment, the geometric enclosure is a convex hull generated in N-dimensional Euclidean space. Appropriate action (e.g., restart the software, turn off access to a network port) can be taken depending on where the measurement values lie in the space.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: February 3, 2015
    Assignee: Drexel University
    Inventors: Spiros Mancoridis, Chris Rorres, Maxim Shevertalov, Kevin M. Lynch, Edward Stehle
  • Patent number: 8949794
    Abstract: In a method of binding a software item to a plain English name, a user input of a plain English control name is received into a test file. A user interface under test is automatically searched for a control corresponding to the plain English control name. The corresponding control in the software item under test is automatically bound to the plain English control name.
    Type: Grant
    Filed: October 12, 2012
    Date of Patent: February 3, 2015
    Assignee: VMware, Inc.
    Inventors: Mark Tempel, Muktar Hassen, David Gibbens
  • Patent number: 8949770
    Abstract: An exemplary system for electronically managing requirements for software development includes a projects module, a requirements module, a mapping module and a verification module. The projects module is configured to establish a software development project. The requirements module is configured to define requirements for the project based on requirements information captured from a requirements source. For each requirement, the projects module is configured to associate source code developed for the requirement with the project or assign the requirement for development of source code. The mapping module is configured to map procedures identified in the source code to the defined requirements. The verification module is configured to verify the defined requirements based on results of one or more of analysis, code coverage measurements and unit testing performed on the mapped procedures.
    Type: Grant
    Filed: April 3, 2008
    Date of Patent: February 3, 2015
    Assignee: LDRA Technology, Inc.
    Inventors: William Gryffyth StClair, Sumner Augustine StClair
  • Patent number: 8949791
    Abstract: A method of creating computing environment in a cloud computing environment for execution of a test is disclosed. The method includes loading a setup script from a script store. The loading is performed by a test manager that is in communication with the script store. The test manager checks if there are more setup scripts to be loaded. If yes, the remaining setup scripts are loaded by the test manager. The test manager then calculates computing resources needed to run all tests as coded in all loaded scripts. The test manager then attempts to reserve needed computing resources in a virtual data center using a data center infrastructure manager.
    Type: Grant
    Filed: July 8, 2009
    Date of Patent: February 3, 2015
    Assignee: VMware, Inc.
    Inventors: Zihong Lu, Wei Li, Karthik Sreenivasa Murthy, Sirish Raghuram
  • Patent number: 8949792
    Abstract: Development of data services can be enhanced through the use of methods and systems that automate aspects of the build process. Particularly, software can be used to automatically generate test cases and incorporate test results into documentation as part of the build process based on an updated Application Programming Interface (API) specification to generate up-to-date and accurate Software Development Kit (SDK) artifacts. A method can comprise accessing data defining an API for a data service, such as Web Application Description Language (WADL) or Web Service Description Language (WSDL) data. The method can further comprise identifying a test case for a service call that can be made via the API based on the data defining the API, and generating test code, the test code configured to evaluate the test case by making the service call. The test code can be used for evaluating the test case(s) in order to ensure requests and/or responses are consistent with the API definition.
    Type: Grant
    Filed: August 18, 2009
    Date of Patent: February 3, 2015
    Assignee: Adobe Systems Incorporated
    Inventors: Ian Paterson, Richard McMahon, James Boag
  • Patent number: 8949795
    Abstract: Techniques, an apparatus and an article of manufacture for generating test cases for covering enterprise rules and predicates. A method includes obtaining a web application and a specification of at least one enterprise rule, constructing a link graph that captures at least one navigation path in the web application, and performing a traversal of the web application guided by the link graph to generate an executable test case that drives the web application along one of the at least one navigation paths in which the at least one enterprise rule is covered to determine the web application's conformance to the at least one enterprise rule, wherein the executable test case is a sequence of one or more test steps, each test step representing an action to be performed on the web application and/or a verification of the application state.
    Type: Grant
    Filed: August 23, 2012
    Date of Patent: February 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Satish Chandra, Suresh Thummalapenta, Nishant Sinha, Saurabh Sinha, Anand Vaishampayan, Vasanta K. Lakshmi
  • 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: 8949796
    Abstract: A system and method for automatic code-design and file/database-design association. Existing source code is analyzed for process and control elements. The control elements are encapsulated as augmented state machines and the process elements are encapsulated as kernels. The new elements can then have meta-data attached (including, a name, I/O method, and test procedures), allowing software code sharing and automatic code/file/database upgrading, as well as allowing sub-subroutine level code blocks to be accessed directly.
    Type: Grant
    Filed: June 23, 2014
    Date of Patent: February 3, 2015
    Assignee: Massively Parallel Technologies, Inc.
    Inventor: Kevin D. Howard
  • Publication number: 20150033208
    Abstract: System and method for validating a specification associated with a software application and/or a hardware is disclosed. The specification comprising expected behaviour requirements specified in a specification language and the semantics in the tabular notation is received. In order to validate the specification, a string may be identified for the specification. The string may indicate characters conforming to the specification language. Upon identifying the string, a token may be generated using the string. The token may be a binary representation of the string. The token may be arranged into a data structure. The specification is checked to conform to the specification language. Two or more specifications specified in the specification language are merged. A test case is generated from the validated specification. The expected behaviour with the actual behaviour of the specification is validated.
    Type: Application
    Filed: July 29, 2014
    Publication date: January 29, 2015
    Inventors: Goldsmith Murali Krishna, Ulka Aniruddha Shrotri, Venkatesh R
  • Patent number: 8943477
    Abstract: An embodiment of the present invention manages window focus non-intrusive over-lays while debugging a graphical user interface program. In an example, the computer displays in a first graphical user interface, wherein the computer program is designed to manipulate a second graphical user interface of another computer program. The computer receives a command to debug the second graphical interface computer program and converts the first graphical user interface into a focus-less graphical user interface so the focus does not transfer from the second graphical user interface. The computer debugs the computer program and upon completing debugging, the computer restores the first graphical user interface into focus.
    Type: Grant
    Filed: December 18, 2012
    Date of Patent: January 27, 2015
    Assignee: International Business Machines Corporation
    Inventors: James I. Martineau, Lorelei M. McCollum, Michael S. McCowan
  • Patent number: 8938719
    Abstract: A method for assuring performance of applications is described herein. According to an implementation, the method includes obtaining at least one performance requirement associated with an application in a pre-development phase of a development lifecycle of the application. The performance requirement is mapped with one or more of functional requirements associated with the application and the performance requirement is analyzed based at least on an operational load expected to be handled by the application during operation. Further, the application is developed based on the performance requirement and the mapping. At least one performance characteristic associated with the application is determined, to compare against the performance requirement assuring performance of the application during operation.
    Type: Grant
    Filed: May 17, 2012
    Date of Patent: January 20, 2015
    Assignee: Tata Consultancy Services Limited
    Inventors: Gururaj Anjan, Harish Sivasubramanian Iyer
  • Patent number: 8938718
    Abstract: An embodiment of the present invention utilizes the abilities of an operating system to manage the window focus while debugging a graphical user interface program. In an example, a debugger program intercepts a breakpoint in the code of a graphical user interface computer program undergoing automated testing by a separate computer program. The debugger program instructs the operating system to save states of the window focus. Responsive to determining the breakpoint condition has ended, the debugger program instructs the operating system to restore saved states of the window that had focus prior to the breakpoint condition. Another embodiment of the present invention arranges similar window focus management where an operating system on its own is unable to save and restore states of the window that had focus prior to the breakpoint condition.
    Type: Grant
    Filed: December 18, 2012
    Date of Patent: January 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Kirk J. Krauss, James I. Martineau, Lorelei M. McCollum, Michael S. McCowan
  • Patent number: 8935674
    Abstract: An embodiment comprising a method is associated with static analysis of a program, which detects violations of conditions of the program correctness specification. The method includes selectively encoding the program and adding one or more correctness conditions to the encoded program, wherein the added conditions comprise a set of assumptions that render the program correct with respect to one or more properties pertaining to detected violations. The set of assumptions are reported to a program user, together with a request to the user to verify the validity of each assumption of the set.
    Type: Grant
    Filed: August 15, 2012
    Date of Patent: January 13, 2015
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp
  • Patent number: 8933827
    Abstract: A data processing apparatus that is capable of reducing the garbling of characters caused by the difference among the character codes when setting data are transferred to another apparatus by the import-export function. A storage unit stores setting data for the data processing apparatus. A receiving unit receives an instruction for exporting the setting data stored in the storage unit. A converting unit converts Unicode data included in the setting data into character code data of language, which is set to the data processing apparatus. An export unit exports the character code data converted by the converting unit and the Unicode data.
    Type: Grant
    Filed: May 24, 2013
    Date of Patent: January 13, 2015
    Assignee: Canon Kabushiki Kaisha
    Inventor: Noritsugu Okayama
  • Patent number: 8930908
    Abstract: In a system and a method, a sub-test catalog is retrieved from a test catalog repository. A test aspect of the sub-test catalog is compared to an aspect of a software application to be tested. A required system capability of the sub-test catalog is compared to the capabilities of a system landscape based on a determination that the sub-test catalog test aspect matches the aspect of the software application to be tested. The system landscape includes at least one system. The sub-test catalog is added to a master test catalog based on a determination that the required system capability of the sub-test catalog matches the system landscape capabilities.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: January 6, 2015
    Assignee: SAP SE
    Inventors: Uwe Bloching, Stefan Rau
  • Patent number: 8930904
    Abstract: A method for verifying an input/output (I/O) hardware configuration is provided. Data from an input/output data set (IOCDS) is extracted for building a verification command. The IOCDS contains hardware requirements that define at least software devices associated with a logical control unit (LCU). The verification command is processed. The verification command includes a software device address range associated with a logical control unit (LCU) of the I/O hardware. The LCU utilizes a first logical path. The software device address range utilizing the first logical path is compared with an existing software device address range utilizing at least one additional logical path. The verification command is accepted if the software device address range and the existing software device address range match.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Juan A. Coronado, Roger G. Hathorn, Dinh H. Le, Daniel J. Perkin, Adelaide M. Richards, Aaron E. Taylor
  • Patent number: 8931103
    Abstract: Embodiments of the invention relate to generating security permissions for applications. A static analysis on an application is carried out to determine security exceptions and to determine the application components responsible for the security exceptions. The determined security exceptions are analyzed to calculate permissions required for each component. A security policy file that includes a hierarchy of the required permissions suitable for the type of application is formatted and applied to the application to provide a security enabled application.
    Type: Grant
    Filed: July 30, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Hannah Deakin, Fenghui Jiang, John McNamara, Emlyn Whittick
  • Patent number: 8930917
    Abstract: A computer implemented method and apparatus for mobile application development comprises receiving at least one compiled source code file into the temporary sandbox; and testing the at least one compiled source code file in the temporary sandbox.
    Type: Grant
    Filed: May 22, 2012
    Date of Patent: January 6, 2015
    Assignee: Adobe Systems Incorporated
    Inventors: Romil Mittal, Rajorshi Ghosh Choudhury
  • 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: 8930897
    Abstract: Computer-implemented systems and methods are disclosed for providing proactive validations of transformation scripts. In one implementation, a method is provided that includes associating, with at least one processor, the transformation script with ontology parameters. The method also includes initiating a debugging operation of the transformation script having at least one condition and importing, from a data source, at least one data item for transformation. The method further includes determining, as part of the debugging operation, whether the at least one condition that uses the at least one data item is valid based on the ontology parameters and notifying a user, on a display device, of a result associated with the determination.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: January 6, 2015
    Assignee: Palantir Technologies Inc.
    Inventor: Anthony Albert Nassar
  • Patent number: 8930912
    Abstract: Described is a method, system, and computer program product that provides control of a hardware/software system, and allows deterministic execution of the software under examination. According to one approach, a virtual machine for testing software is used with a tightly synchronized stimulus for the software being tested. A verification tool external to the virtual machine is used to provide test stimulus to and to collect test information from the virtual machine. Test stimulus from the verification tool that is external to the virtual machine provides the stimulation that incrementally operates and changes the state of the virtual machine. The stimulus is created and coverage is collected from outside the virtual machine by first stopping the virtual machine, depositing stimulus, and then reading coverage directly from the virtual machine memory while the machine is stopped.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: January 6, 2015
    Assignee: Cadence Design Systems, Inc.
    Inventor: Jason Robert Andrews
  • Patent number: 8930899
    Abstract: A method for building an application installation repository is disclosed herein. In one embodiment a build directory comprising a plurality of application objects is evaluated. Artifact generation rules may also be evaluated with respect to the application objects and the build directory. Object groupings, each comprising one or more application objects of the plurality of application objects, are defined according to the evaluations of the artifact generation rules and the hierarchical directory structure and artifacts are generated according to the object groupings. An installable application is generated that includes the generated artifacts. Artifacts may be further grouped into sharable units and assemblies according to rules and organization of application objects in the build directory. A delta build including only artifacts corresponding to modified files and correspondingly modified metadata may also be generated according to methods disclosed herein.
    Type: Grant
    Filed: August 18, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Keith Chi-Hang Chan, Yu Yuan
  • Patent number: 8930900
    Abstract: A method for building an application installation repository is disclosed herein. In one embodiment a build directory comprising a plurality of application objects is evaluated. Artifact generation rules may also be evaluated with respect to the application objects and the build directory. Object groupings, each comprising one or more application objects of the plurality of application objects, are defined according to the evaluations of the artifact generation rules and the hierarchical directory structure and artifacts are generated according to the object groupings. An installable application is generated that includes the generated artifacts. Artifacts may be further grouped into sharable units and assemblies according to rules and organization of application objects in the build directory. A delta build including only artifacts corresponding to modified files and correspondingly modified metadata may also be generated according to methods disclosed herein.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Keith Chi-Hang Chan, Yu Yuan
  • Patent number: 8930880
    Abstract: Systems and methods are provided that facilitate development of a module for use in a control application by assembling one or more predefined aspects onto a module bus. The module bus acts as a virtual backplane that allows module functionality in the form of predefined bus-compliant aspects to be selected and added to the bus, thereby yielding a module having a desired set of functions. When an aspect is added to the module bus, the bus integrates the aspects into the module automatically without the need to modify the module's core code to interface the aspects with the module. The module bus also establishes the necessary interdependencies between aspects representing cross-cutting concerns without requiring new code to be writing to link the aspects.
    Type: Grant
    Filed: September 29, 2010
    Date of Patent: January 6, 2015
    Assignee: Rockwell Automation Technologies, Inc.
    Inventor: Norman A. Weatherhead
  • Patent number: 8930906
    Abstract: Identify a first change to a first portion of the system, and identifying at least a second portion of the system that is, at least in part, dependent on the first portion. At least one user who is assigned responsibility for maintaining the first portion or the second portion of the system can be identified, and an availability of the user to maintain the first portion or the second portion of the system during a time period can be determined. The time period can begin when the first change is initially scheduled for introduction into the system. Responsive to determining that the user is not sufficiently available to maintain the first portion or the second portion of the system during the time period, the first change can be prevented from being introduced into the system as initially scheduled for introduction into the system.
    Type: Grant
    Filed: June 27, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Bernadette A. Carter, Al Chakra, Lori D. Landesman
  • Patent number: 8930913
    Abstract: The analysis of an intermediate representation of source or program code. An initial version of an initial representation of the source or program code is accessed and statically analyzed. For one or more portions of this initial version, the analysis component queries an analysis-time resolution component that provides supplemental intermediate representations corresponding to the portion. This supplemental intermediate representation provides further clarity regarding the portion, and is analyzed. If defects are found, they may be reported.
    Type: Grant
    Filed: September 28, 2010
    Date of Patent: January 6, 2015
    Assignee: Microsoft Corporation
    Inventors: Anna Gringauze, Henning Korsholm Rohde
  • Patent number: 8930915
    Abstract: Provided is a method for mitigating the effects of an application which crashes as the result of supplemental code (e.g., plug-in), particularly a plug-in from a source other than the source of the operating system of the device or the source of the application that crashes. The method includes executing the application. As the application is running, it may be monitored to determine if normal execution of instructions ceases. When that occurs, the system will make a determination if code from a supplemental code module was the cause of the crash, and will make an evaluation if that supplemental code module is from a source other than the source(s) of the operating system and application in question. In some implementations, remedial steps may be provided, such as providing information on subsequent executions of the application.
    Type: Grant
    Filed: May 3, 2013
    Date of Patent: January 6, 2015
    Assignee: Apple Inc.
    Inventor: Christopher A. Wolf
  • Publication number: 20150007142
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for software sandboxing. One of the methods includes receiving a software module that includes verifiably safe computer code and a branch destination table indicating addresses of all instructions that may be targets of indirect control flow transfers; validating the computer code to determine whether it can run safely by using a statically verifiable fault isolation scheme, where validating the computer code comprises validating the addresses of the branch destination table instructions; and running the computer code, in a sandbox environment, if it has been determined to run safely.
    Type: Application
    Filed: December 12, 2012
    Publication date: January 1, 2015
    Inventors: Cliff L. Biffle, Bennet S. Yee
  • Patent number: 8924937
    Abstract: Disclosed is a process, system, and computer program product for generating a verification test or verification environment for testing and verifying software or mixed software/hardware. Object code is analyzed to generate and setup test information and environments. The object code is analyzed to identifying information about the software important or relevant for the verification process. Based upon the information generated form the object code, one or more verification environments or tests can be generated for testing and verifying the software or mixed hardware/software.
    Type: Grant
    Filed: March 18, 2013
    Date of Patent: December 30, 2014
    Assignee: Cadence Design Systems, Inc.
    Inventors: Jason Robert Andrews, Markus Winterholer, Ronald Joseph Pluth
  • Patent number: 8924938
    Abstract: A system and method for analyzing a computer program includes performing a static analysis on a program to determine property correctness. Test cases are generated and conducted to provide test output data. Hypotheses about aspects of execution of the program are produced to classify paths for test cases to determine whether the test cases have been encountered or otherwise. In accordance with the hypothesis, new test cases are generated to cause the program to exercise behavior which is outside of the encountered test cases.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: December 30, 2014
    Assignee: NEC Laboratories America, Inc.
    Inventors: Richard Chang, Sriram Sankaranarayanan, Guofei Jiang, Franjo Ivancic
  • Patent number: 8924928
    Abstract: A machine is disclosed in data communication with at least one remote computing device configured as a user interface, for example. The machine may include first logic to process non-compiled, non-linked rules providing desired functionality on a remote computing device upon the occurrence of an event. The machine may also include second logic to selectively implement an authorized rule change changing a non-compiled, non-linked rule and storing the changed rule in storage. Changing the non-compiled, non-linked rule may be accomplished in run-time and provide changed functionality on the remote computing device upon an event.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: December 30, 2014
    Inventor: Steven G. Belovich
  • Patent number: 8924941
    Abstract: Tracer objectives in a distributed tracing system may be compared to identify input parameters that may have a high statistical relevancy. An iterative process may traverse multiple input objects by comparing results of multiple tracer objectives and scoring possible input objects as being possibly statistically relevant. With each iteration, statistically irrelevant input objects may be discarded from a tracer objective and other potentially relevant objects may be added. The iterative process may converge on a set of statistically relevant input objects for a given measured value without a priori knowledge of an application being traced.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: December 30, 2014
    Assignee: Concurix Corporation
    Inventors: Russell S. Krajec, Ying Li
  • Patent number: 8924936
    Abstract: A method is implemented in a computer infrastructure having computer executable code tangibly embodied on a computer readable storage medium having programming instructions. The programming instructions are operable to receive a tool error output determined by a code inspection tool and select at least one defect classification mapping profile based on the code inspection tool. Additionally, the programming instructions are operable to map the tool error output to one or more output classifications using the selected at least one defect classification mapping profile and generate at least one report based on the one or more output classifications.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: December 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ian E. Baker, Kathryn A. Bassin, Steven Kagan, Susan E. Skrabanek
  • Patent number: 8924942
    Abstract: Disclosed are various embodiments for identifying user interface improvements from observed user behavior. A use case description is obtained from a developer of an application. Usability metrics are collected that observe interaction of a plurality of users with a user interface of the application. The usability metrics are analyzed in conjunction with the use case description to identify at least one aspect of the user interface for improvement. The aspect includes a page or an actionable element. Information is provided to the developer about the at least one aspect of the user interface identified for improvement.
    Type: Grant
    Filed: February 1, 2012
    Date of Patent: December 30, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Jason D. Makuch, Mitchell Kim, Zahur A. Peracha