Patents Examined by Qamrun Nahar
  • Patent number: 9612831
    Abstract: Systems, methods, and apparatus for measuring software development productivity that incorporate a measure of code reuse. Embodiments of the present invention utilize call graph analysis in a computerized environment to efficiently analyze a software code base in an automated fashion and thereby generate reuse measures; and then incorporates the reuse measures in the productivity analysis.
    Type: Grant
    Filed: November 21, 2011
    Date of Patent: April 4, 2017
    Assignee: Virtusa Corporation
    Inventor: Chandika N. Mendis
  • Patent number: 9606780
    Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias. The compiler uses a code generation endian preference that is specified by the user, and that determines a natural element order. When the compiler processes a computer program, it generates instructions for vector operations by determining whether the vector instruction has an endian bias that matches the specified endian preference. When the vector instruction has no endian bias, or when the endian bias of the vector instruction matches the specified endian preference, the compiler generates one or more instructions for the vector instruction as it normally does. When the endian bias of the vector instruction does not match the specified endian preference, the compiler generates instructions to fix the mismatch.
    Type: Grant
    Filed: December 27, 2014
    Date of Patent: March 28, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Jin Song Ji, William J. Schmidt
  • Patent number: 9600254
    Abstract: A method for reducing loop branches comprises analyzing an intermediate code to identify a candidate loop; analyzing the candidate loop to identify a candidate conditional statement containing at least one mutable operand; and determining if the computation in the candidate conditional statement is monotonic. The method further comprises calculating initial and final values of the mutable operand and generating a first version of the candidate loop which does not contain the candidate conditional statement and which is configured to be executed if the initial and final values of the mutable operand satisfy a range check. The method also comprises generating a second version of the candidate loop which contains the candidate conditional statement and which is configured to be executed if at least one of the initial and final values of the mutable operand does not satisfy the range check.
    Type: Grant
    Filed: November 30, 2015
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Yaoqing Gao, Archana Ravindar
  • Patent number: 9594886
    Abstract: The present invention is directed to a software distribution architecture in which an enterprise has a filter that screens user requested software, software upgrade(s), software feature(s), and/or software setting option(s) against enterprise rules or policies. Disapproved software, software upgrade(s), software feature(s), and/or software setting option(s) are blocked for download.
    Type: Grant
    Filed: September 28, 2010
    Date of Patent: March 14, 2017
    Assignee: Avaya Inc.
    Inventor: Christopher Ricci
  • Patent number: 9594559
    Abstract: Source code for a function of a computer program is compiled by compilers to generate executable code variants for the function according to different optimization approaches. Each executable code variant is executable on a same processor architecture. A binary file for the computer program is constructed that includes each executable code variant. At runtime of the binary file, one of the executable code variants is selected for the function. The selected executable code variant is used during execution of the computer program, until execution is halted.
    Type: Grant
    Filed: January 7, 2015
    Date of Patent: March 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Nathan Fontenot, Fionnuala G. Gunter, Michael T. Strosaker, George C. Wilson
  • Patent number: 9588746
    Abstract: A compiler includes a vector instruction processing mechanism that generates instructions for vector instructions in a way that assures correct operation in a bi-endian environment, wherein the processor architecture contains instructions with an inherent endian bias. The compiler uses a code generation endian preference that is specified by the user, and that determines a natural element order. When the compiler processes a computer program, it generates instructions for vector operations by determining whether the vector instruction has an endian bias that matches the specified endian preference (i.e., the inherent element order of the vector instruction matches the natural element order). When the vector instruction has no endian bias, or when the endian bias of the vector instruction matches the specified endian preference, the compiler generates one or more instructions for the vector instruction as it normally does.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: March 7, 2017
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Jin Song Ji, William J. Schmidt
  • Patent number: 9582271
    Abstract: Described are a system and method for identifying variables which impact performance of software under development. Data is collected that is related to performance characteristics of the software under development. Performance change gradients are determined between previous builds of the software under development. A set of performance change factors are generated from the collected data that corresponds to each performance change gradient. Performance characteristic data corresponding to a current build of the software under development are compared to the performance change gradients. At least one fault component from the set of performance change factors that influences performance of the current build is output in response to the comparison between the performance characteristic data corresponding to the current build and the plurality of performance change gradients.
    Type: Grant
    Filed: April 14, 2015
    Date of Patent: February 28, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ramakrishnan Kannan, Anbazhagan Mani, Rajan Ravindran, Karthik Subbian
  • Patent number: 9552197
    Abstract: A non-transitory computer-readable recording medium stores therein a program for causing an information processing apparatus to execute a process including analyzing a source program with respect to the information processing apparatus that starts hardware prefetching upon detecting an access to a consecutive area on a main storage device and stops the hardware prefetching upon detecting an end of the access to the consecutive area, specifying an array structure in a loop process as a hardware prefetching target, and generating, from the source program, a machine language program in which the array structure is changed so that a second access occurring next to a first access to the array structure refers to an area being consecutive from the area being referred to by the first access.
    Type: Grant
    Filed: August 31, 2015
    Date of Patent: January 24, 2017
    Assignee: FUJITSU LIMITED
    Inventor: Shigeru Kimura
  • Patent number: 9529703
    Abstract: A system and method for generating a file that includes a name that hashes directly to a request block is provided. The request block includes instructions describing how to generate or validate data corresponding to the request block. The system and method can further for a data manipulation program that executes in accordance with instructions of the request block.
    Type: Grant
    Filed: January 23, 2015
    Date of Patent: December 27, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Deborah A. Furman, Anthony T. Sofia
  • Patent number: 9514034
    Abstract: Methods, systems, and computer-readable media for ordered test execution to enable faster feedback are disclosed. A likelihood of failure is estimated for individual tests in a set of tests. Based at least in part on the likelihood of failure, an ordered sequence is determined for the set of tests, such that the tests are ordered in estimated likelihood of failure. The set of tests is initiated in the ordered sequence, such that one or more computer-executable programs are subjected to individual ones of the tests. A failure of one or more of the tests is determined prior to performing one or more remaining tests in the ordered sequence.
    Type: Grant
    Filed: December 15, 2014
    Date of Patent: December 6, 2016
    Assignee: Amazon Technologies, Inc.
    Inventors: David Robert Griffin, Carlos Alejandro Arguelles
  • Patent number: 9507590
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for matching and attributing code violations. One of the methods includes receiving a plurality of snapshots of a code base, including data representing a revision graph of the snapshots of the code base and data representing respective violations in each of the plurality of snapshots. A plurality of transitively matched violations in the code base are generated, wherein each transitively matched violation represents a respective sequence of matching violations from a first violation of a first snapshot to a second violation of a second snapshot, wherein each transitively matched violation identifies a respective first violation representing an initial occurrence of a coding defect in the code base and a respective second violation representing a last occurrence of the coding defect in the code base.
    Type: Grant
    Filed: December 9, 2014
    Date of Patent: November 29, 2016
    Assignee: Semmle Limited
    Inventors: Anders Starcke Henriksen, Ricardo Pescuma Domenecci
  • Patent number: 9501409
    Abstract: A method and an apparatus for an enhanced object model to allow concurrent execution for program code generated from dynamic programming languages, such as JavaScript, are described. An index structure may be introduced to an object model representing a dynamically typed object in addition to a type structure and a data payload storing property or field values of the object. Elements of the index structure may point at corresponding property values as an indirection for accessing the object.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: November 22, 2016
    Assignee: Apple Inc.
    Inventor: Filip J. Pizlo
  • Patent number: 9483241
    Abstract: Disclosed herein is a framework for analyzing and determining the impact and importance of software code or method changes. In accordance with one aspect, invocations of methods are tracked by generating marking records. The marking records may be used to rebuild a call stack, which can be used to organize the methods to generate a calling dependency representation. The methods may then be ranked based on such calling dependency representation.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: November 1, 2016
    Assignee: SUCCESSFACTORS, INC.
    Inventors: Yang Peng, Xia Yu, Yuna Hou, Ramana Krishna Bhagavatula, Jie Zhang
  • Patent number: 9477447
    Abstract: Software extensions for applications of an enterprise system may be developed in a test system. An adaptation transport module displays, in a test system, a plurality of semantic representations of software extension components for an application of an enterprise system. A semantic representation of a software extension for the application is generated based on a user selection of a combination of the semantic representations of software extension components. An adaptation object comprising the semantic representation of the software extension and at least one associated software object is generated by identifying the associated software object(s) based on an adaptation type of the adaptation object.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: October 25, 2016
    Assignee: SAP SE
    Inventors: Tamara Weckwerth, Thomas Wieczorek, Kai Dehmann, Andrea Klein
  • Patent number: 9471461
    Abstract: A computer implemented method for maintaining a program's calling context correct even when a monitoring of the program goes out of a scope of a program analysis by validating function call transitions and recovering partial paths before and after the violation of the program's control flow. The method includes detecting a violation of control flow invariants in the software system including validating a source and destination of a function call in the software system, interpreting a pre-violation partial path responsive to a failure of the validating, and interpreting a post violation path after a violation of program flow.
    Type: Grant
    Filed: March 27, 2014
    Date of Patent: October 18, 2016
    Assignee: NEC Corporation
    Inventors: Jungwhan Rhee, Hui Zhang, Nipun Arora, Guofei Jiang, Qiang Zeng
  • Patent number: 9454461
    Abstract: A computer implemented method for identifying program flow in a computer program, executing in a debugger on at least one processor, subsequent to suspending execution of the computer program at a user breakpoint can include suspending execution of the computer program at a first user breakpoint, setting, by the debugger, one or more tracking breakpoints in one or more routines that can continue execution from the first user breakpoint, then resuming execution of the computer program. The method may be continued by suspending execution of the computer program at a second user breakpoint after processing by the at least one processor at least one instruction of the computer program. The method may further include determining whether to provide an indicator to indicate that at least one of the one or more tracking breakpoints was hit during the executing, and providing the indicator in response to determining to provide the indicator.
    Type: Grant
    Filed: April 15, 2015
    Date of Patent: September 27, 2016
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9448770
    Abstract: Disclosed herein are technologies for facilitating source code editing. In accordance with one aspect, a request for an editing feature is received in response to an editing operation associated with a library. In response to the request, metadata may be extracted from the source code file of the library and used to present the editing feature.
    Type: Grant
    Filed: December 29, 2014
    Date of Patent: September 20, 2016
    Assignee: SAP SE
    Inventors: Yan Zang, Xin Ye
  • Patent number: 9442699
    Abstract: Presented is a system and method for the integration of existing software development tools into a software customization system, where each software development tool has its own model of its software artifacts. The invention allows models in an external software development tool to become software artifacts within a software customization system, and also allows the model elements of the existing tools to become automatons.
    Type: Grant
    Filed: November 13, 2015
    Date of Patent: September 13, 2016
    Assignee: BigLever Software, Inc.
    Inventors: Charles W. Krueger, Glenn C. Meter
  • Patent number: 9424006
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for changing a program code to decrease execution time. The method comprises an action of receiving a program code, comprising function calls, with an entry and a target function. The method comprises analyzing the function calls between the entry function and the target function. A first program code is generated, comprising some of the function calls executed before the target function. A second program code is generated, comprising some of the function calls executed after the target function. The function calls executed before the target function are replaced with the first program code. The function calls executed after the target function are removed. The second program code is added to the program code to execute after the target function as a background process.
    Type: Grant
    Filed: December 24, 2014
    Date of Patent: August 23, 2016
    Assignee: International Business Machines Corporation.
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Patent number: 9405659
    Abstract: Techniques are described for measuring or quantifying the logging behavior in the source code of a computer program. In particular, the techniques select a method identified as exhibiting the ideal logging behavior in a computer program and then compute the overall logging quality score for the entire computer program based on the deviation in logging behaviors between the selected method and all other methods in the source code of the project. This overall logging quality score can be compared to various benchmarks of existing projects with high logging quality. If the software logging quality is found to be low, various steps can be taken by the developers to improve the logging before the software release.
    Type: Grant
    Filed: August 13, 2014
    Date of Patent: August 2, 2016
    Assignee: VMware, Inc.
    Inventor: Vipin Balachandran