Analysis Of Code Form Patents (Class 717/141)
  • 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: 9600250
    Abstract: An execution environment in a computer system supports a declarative programming model where user code is written with a query syntax in a native programming language to express inherent parallelism in terms of data flow. The execution environment translates queries in the user code into a runtime agnostic representation and dynamically selects an execution runtime for executing the runtime agnostic representation.
    Type: Grant
    Filed: October 8, 2010
    Date of Patent: March 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Krishnan Varadarajan, Michael L. Chu
  • Patent number: 9582256
    Abstract: Various embodiments are generally directed to techniques for reducing syntax requirements in application code to cause concurrent execution of multiple iterations of at least a portion of a loop thereof to reduce overall execution time in solving a large scale problem. At least one non-transitory machine-readable storage medium includes instructions that when executed by a computing device, cause the computing device to parse an application code to identify a loop instruction indicative of an instruction block that includes instructions that define a loop of which multiple iterations are capable of concurrent execution, the instructions including at least one call instruction to an executable routine capable of concurrent execution; and insert at least one coordinating instruction into an instruction sub-block of the instruction block to cause sequential execution of instructions of the instruction sub-block across the multiple iterations based on identification of the loop instruction.
    Type: Grant
    Filed: December 30, 2013
    Date of Patent: February 28, 2017
    Assignee: SAS Institute Inc.
    Inventors: Jack Joseph Rouse, Leonardo Bezerra Lopes, Robert William Pratt
  • Patent number: 9563663
    Abstract: Techniques for managing fast path evaluation of Boolean predicates are provided. In some examples, the fast path evaluation may be based at least in part on received queries and/or query statements associated with a database and/or streaming data. In some examples, a first instruction for enabling execution of a subset of logical operators of the query may be determined. The determination may be based at least in part on the logical operators of the query. Additionally, based at least in part on the first instruction, logical instructions for implementing the query may be generated. Further, the logical instructions may be compiled into machine-readable instructions for implementing only the subset of the logical operators of the query.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: February 7, 2017
    Assignee: Oracle International Corporation
    Inventors: Vikram Shukla, Anand Srinivasan
  • Patent number: 9560074
    Abstract: A method includes receiving a set of strings and applying one or more filters to generate a subset of strings that are determined to correspond to strings of interest. The method also includes retrieving domain name system (DNS) information associated with a first string of the subset. The method includes executing a rule-based engine to determine, based on application of one or more rules to the DNS information, whether to add the first string to a set of suspicious hostnames.
    Type: Grant
    Filed: October 7, 2014
    Date of Patent: January 31, 2017
    Assignee: Cloudmark, Inc.
    Inventors: Mark Richard Stemm, Arlyn Robert Johns
  • Patent number: 9536093
    Abstract: Software code of a software system (e.g., a software stack) may be verified as conforming to a specification. A high-level language implementation of the software system may be compiled using a compiler to create an assembly language implementation. A high-level specification corresponding to the software system may be translated to a low-level specification. A verifier may verify that the assembly language implementation functionally conforms to properties described in the low-level specification. In this way, the software system (e.g., a complete software system that includes an operating system, device driver(s), a software library, and one or more applications) may be verified at a low level (e.g., assembly language level).
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: January 3, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Chris Hawblitzel, Bryan Parno, Jacob R. Lorch, Jonathan R. Howell, Brian D. Zill
  • Patent number: 9535664
    Abstract: A software development system maps the organization and storage of software or code of a project in a structured database instead of in a series of discrete files and directories in a traditional file system. The code is analyzed and parsed to create parse trees for storage in the structured database. Individual software developers may be presented with the code taking the appearance of a traditional file based representation with each developer being able to have their own customized representation or view of the code to best suit their needs, preferences and current task. To facilitate migration to such system, tools are provided to export a snapshot of the structured database into discrete files in order that existing file based tools may continue to be used.
    Type: Grant
    Filed: April 22, 2015
    Date of Patent: January 3, 2017
    Inventors: William Knight Foster, Mark W. Publicover
  • Patent number: 9524473
    Abstract: Various systems and methods provide an intuitive user interface that enables automatic specification of queries and constraints for analysis by ML component. Various implementations provide methodologies for automatically formulating machine learning (“ML”) and optimization queries. The automatic generation of ML and/or optimization queries can be configured to use examples to facilitate formulation of ML and optimization queries. One example method includes accepting input data specifying variables and data values associated with the variables. Within the input data any unspecified data records are identified, and a relationship between the variables specified in the input data and a variable associated with the at least one unspecified data record is automatically determined. The relationship can be automatically determined based on training data contained within the input data. Once a relationship is established a ML problem can be automatically generated.
    Type: Grant
    Filed: March 10, 2014
    Date of Patent: December 20, 2016
    Assignee: Nutonian, Inc.
    Inventor: Michael Schmidt
  • Patent number: 9508181
    Abstract: A method, system, and computer-readable storage medium are disclosed for rendering a scene with render targets having instances of cyclic dependency. A dependency graph for a plurality of render targets in a scene may be determined automatically. A plurality of strongly connected components in the dependency graph may be determined automatically. Each of the plurality of strongly connected components may comprise one or more of the plurality of render targets. A topological order for the plurality of strongly connected components may be determined automatically. The scene may be rendered based on the topological order using the plurality of render targets.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: November 29, 2016
    Assignee: Adobe Systems Incorporated
    Inventors: Byungmoon Kim, Nathan A. Carr, Grayson Squier Lang
  • Patent number: 9454390
    Abstract: A computer system generates first executable code in a first programming language based on common source code, where the first executable code is configured to execute at a server in the client-server environment. Then, the computer system executes the first executable to produce relational objects that constitute a tree hierarchy, where a given relational object defines a relationship between nodes and end points in the common source code. Next, the computer system generates second executable code in a second programming language based on the tree hierarchy, where the second executable code is configured to execute at a client in the client-server environment, and where the second executable code implements a subset of the common source code associated with the relational objects which is based on a user context.
    Type: Grant
    Filed: April 4, 2008
    Date of Patent: September 27, 2016
    Assignee: INTUIT INC.
    Inventor: Robert G. Sage
  • Patent number: 9438620
    Abstract: A software sample is identified that includes code and a control flow graph is generated for each of a plurality of functions included in the sample. Features are identified in each of the functions that correspond to instances of a set of control flow fragment types. A feature set is generated for the sample from the identified features.
    Type: Grant
    Filed: October 22, 2013
    Date of Patent: September 6, 2016
    Assignee: McAfee, Inc.
    Inventors: Erdem Aktas, Rachit Mathur
  • Patent number: 9430748
    Abstract: A computer program product for verifying historical artifacts in disparate source control systems. A processor is configured to: obtain historical artifacts from a target repository; obtain historical artifacts from a source repository; and verify the historical artifacts in the target repository match the historical artifacts in the source repository. Verification further causes the processor to: compare commit data in the historical artifacts in the target repository with commit data in the historical artifacts in the source repository; and evaluate whether each commit data event in the historical artifacts in the target repository is equivalent to the corresponding commit data event in the historical artifacts in the source repository. Evaluation causes the processor to: log a commit data event in the historical artifacts in the target repository which is not equivalent to a corresponding commit data event in the historical artifacts in the source repository; and review the logging results.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: August 30, 2016
    Assignee: International Business Machines Corporation
    Inventors: Joseph C. Leong, Lauren J. Hayward Schaefer, David G. Terry
  • Patent number: 9348595
    Abstract: A method includes, in a processor that executes instructions of program code, monitoring instructions of a repetitive sequence of the instructions that traverses a flow-control trace so as to construct a specification of register access by the monitored instructions. Based on the specification, multiple hardware threads are invoked to execute respective segments of the repetitive instruction sequence at least partially in parallel. Monitoring of the instructions continues in at least one of the segments during execution.
    Type: Grant
    Filed: December 22, 2014
    Date of Patent: May 24, 2016
    Assignee: CENTIPEDE SEMI LTD.
    Inventors: Noam Mizrahi, Alberto Mandler, Shay Koren, Jonathan Friedmann
  • Patent number: 9304785
    Abstract: Localizing a software product is improved. A plurality of attributes of a plurality of interface elements according to a specified type of user interface are retrieved. Responsive to user input, one or more countries in which the software product is to be localized are specified. An interface element for the user interface is selected. From the attributes of the selected interface element, it is determined whether the interface element is consistent with the specified countries. If not, an alert on a computer display is displayed, in the event the selected interface element is not consistent with the countries specified by the user. The invention also calculates a cost of localizing the selected interface element, wherein the projected cost of localizing the user interface is incremented with the cost of localizing the selected interface element. An alert for the projected cost of localizing the user interface is displayed on the computer display.
    Type: Grant
    Filed: May 28, 2009
    Date of Patent: April 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: Marco Canu, Sandro Piccinini, Luigi Pichetti, Marco Secchi
  • Patent number: 9292304
    Abstract: Systems and methods for language integration via function redirection are disclosed herein in connection with simulation of quantum computations on classical computers. A base class that all of the functions of a group will instantiate in their context may be defined. The functions may take arguments that may be passed to a member of the base class for dispatch. A dispatcher may be provided to analyze the current context. The dispatcher may perform any of a number of operations as a result, including, but not limited to, passing the arguments to the class instance for execution, returning the class instance directly or via a context holder, returning a new representation of the function for future execution via a context holder, or any other return type that may be desired.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: March 22, 2016
    Assignee: MICROSOFT CORPORATION
    Inventor: David B. Wecker
  • Patent number: 9280589
    Abstract: Methods and apparatus, including computer program products, are provided for user interfaces. In one aspect, there is provided a method. The method may include generating a virtual desktop including a plurality of objects organized in accordance with at least one of a theme and a structure; providing a navigation pane on the virtual desktop to navigate through the plurality of objects; and providing a controller to enable a multi-level zoom on at least one of the plurality of objects on the virtual desktop. Related systems, methods, and articles of manufacture are also disclosed.
    Type: Grant
    Filed: June 22, 2012
    Date of Patent: March 8, 2016
    Assignee: SAP SE
    Inventors: Udo Arend, Vanessa Mueller
  • Patent number: 9268541
    Abstract: Methods and systems to convert scalar computer program loops having loop carried dependences to vector computer program loops are disclosed. One example method and system generates a first predicate set associated with a first conditionally executed statement. The first predicate set contains a first set of predicates that cause a variable to be defined in a scalar computer program loop at or before the variable is defined by the first conditionally executed statement. The method and system also generates a second predicate set associated with the first conditionally executed statement. The second predicate set contains a second set of predicates that cause the variable to be used in the scalar computer program loop at or before the variable is defined by the first conditionally executed statement.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: February 23, 2016
    Assignee: Intel Corporation
    Inventors: Jayashankar Bharadwaj, Nalini Vasudevan, Albert Hartono, Sara S. Baghsorkhi
  • Patent number: 9262140
    Abstract: A predication technique for out-of-order instruction processing provides efficient out-of-order execution with low hardware overhead. A special op-code demarks unified regions of program code that contain predicated instructions that depend on the resolution of a condition. Field(s) or operand(s) associated with the special op-code indicate the number of instructions that follow the op-code and also contain an indication of the association of each instruction with its corresponding conditional path. Each conditional register write in a region has a corresponding register write for each conditional path, with additional register writes inserted by the compiler if symmetry is not already present, forming a coupled set of register writes. Therefore, a unified instruction stream can be decoded and dispatched with the register writes all associated with the same re-name resource, and the conditional register write is resolved by executing the particular instruction specified by the resolved condition.
    Type: Grant
    Filed: May 19, 2008
    Date of Patent: February 16, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ram Rangan, Mark W. Stephenson, Lixin Zhang
  • Patent number: 9235397
    Abstract: Provided are a method and apparatus for increasing task-execution speed, and, more particularly, a method and apparatus for increasing task-execution speed by compiling code to bytecodes, and executing native code in units of blocks instead of bytecodes, in which a block is a group of a series of bytecodes. The apparatus includes a receiving unit which receives a bytecode, a control unit which identifies whether the received bytecode is the last bytecode of a block, and a transmitting unit which transmits an address of a first native code of one or more native codes that correspond to one or more bytecodes included in the block based on the identification result.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: January 12, 2016
    Assignees: SAMSUNG ELECTRONICS CO., LTD., THE BOARD OF REGENTS, THE UNIVERSITY OF TEXAS SYSTEM
    Inventors: Hyo-Jung Song, Lizy K. John, Ciji Isen, Jung-Pil Choi
  • Patent number: 9183001
    Abstract: Embodiments are directed to providing a simulation of a type-level construct on an interface instance and to maintaining a token-based event handling system. In one scenario, a computer system instantiates an interface instance that includes an instance object and multiple instance members. The computer system also instantiates a separate typed object which is configured to maintain one or more simulated type-level parameterized constructors. The computer system then associates the instantiated interface instance with the separate typed object. The typed object routes method invocations from the interface instance to various simulated type-level parameterized constructors and static members of the type.
    Type: Grant
    Filed: January 13, 2012
    Date of Patent: November 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shawn Farkas, Jesse D. Kaplan, Ladislav Prosek, Richard M. Byers, Ryan A. Byington
  • Patent number: 9176828
    Abstract: The embodiments herein disclose a method for merging results from multiple runs based on run inputs in a source system. The method involves performing first run on a first input, to receive a first result and performing a second run on a second input to receive a second result. The first result and second result are aggregated based on a set of rules and a plurality of merge cases/conditions to obtain a final result. The first run is performed by carrying out a static analysis on the first inputs. The second run is performed by carrying out a static analysis on the second inputs. A method is also provided for merging cobertura coverage and a source code.
    Type: Grant
    Filed: September 3, 2013
    Date of Patent: November 3, 2015
    Assignee: OPSHUB, INC.
    Inventors: Sandeep Jain, Hardik Shah
  • Patent number: 9170787
    Abstract: Compiler functionality is componentized to enable use across different contexts. Conventionally tightly coupled functionality is decoupled and an interface afforded to facilitate interaction with compiler components/subcomponents in various scenarios. In one instance, compiler components can be employed across compile time and runtime. Compile time functionality can be employed at runtime and runtime functionality utilized at compile time thereby blurring the line between time dimensions.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Avner Y. Aharoni, Henricus Johannes Maria Meijer, Timothy Yat Tim Ng, Amanda K. Silver, Paul A. Vick, Scott Daniel Wisniewski
  • Patent number: 9158505
    Abstract: Compiled language code is specified in line with markup language code. A parsing component parses the code to extract the compiled language code and a compiler compiles it into binary form. The compiled code and the markup language code are provided to a runtime system.
    Type: Grant
    Filed: January 9, 2014
    Date of Patent: October 13, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin F. Carter, Andrew M. Coates
  • Patent number: 9158507
    Abstract: A method and system for transforming documents from different domains into a common representation for viewing and editing is provided. The system prepares the domain-specific document for visual representation by performing a series of transformations in a pipeline that convert the document from its domain-specific input state to a series of intermediate languages. The intermediate languages share the same syntax regardless of the domain of the document being transformed.
    Type: Grant
    Filed: May 24, 2011
    Date of Patent: October 13, 2015
    Assignee: Intentional Software Corporation
    Inventors: Charles Simonyi, Shane J. Clifford
  • Patent number: 9146974
    Abstract: An apparatus, program product and method dynamically optimize prepared statements resident in a statement pool to permit subsequent reuses of such statements to utilize the optimized representations of such statements. The optimization of pooled statements may be performed responsive to the tracked usage of the statements in a statement pool, to direct the overhead associated with such optimization to those statements that are more likely to be utilized in the future. Among a multitude of possible optimizations, a pooled statement that requests data in a format other than that utilized by the database being accessed may be modified to request the data in the format used by the database, thereby decreasing the overhead in the database associated with format conversions.
    Type: Grant
    Filed: October 10, 2007
    Date of Patent: September 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jeremy Alan Arnold, Eric Lawrence Barsness, Richard Dean Dettinger, John Matthew Santosuosso
  • Patent number: 9146733
    Abstract: Updating integration metadata in a system includes determining at a services management platform that a service provider software code has changed in a manner that affects a canonical feature provided by the service management platform with respect to a service of the service provider to end users, wherein the canonical feature is provided at least in part by interacting with the service provider on the behalf of a user; and implementing at the services management platform, with respect to at least a subset of users, an accommodation that enables the canonical feature to be provided subsequent to the service provider software code having been changed.
    Type: Grant
    Filed: October 3, 2014
    Date of Patent: September 29, 2015
    Assignee: Okta, Inc.
    Inventors: Todd McKinnon, Matthew Mihic
  • Patent number: 9141678
    Abstract: A distributed query system includes a distributed collection of dynamically created compiled queries. As each client submits a query, a parameterized query skeleton is identified, which identifies the general form of the query, and the parameters associated with the particular query. If a compiled form of the skeletal query is available within the distributed system, it is executed with the parameters of the current query. If the compiled form of the skeletal query is not available within the distributed system, a compiled form is created, and the location of this compiled skeletal query is stored for subsequent access by this client, or other clients. The executable compiled skeletal queries may be stored at each client system, or in a commonly available server storage system.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: September 22, 2015
    Assignee: MemSQL, Inc.
    Inventors: Alex Skidanov, Marko Tintor, Nikita Shamgunov
  • Patent number: 9141325
    Abstract: Systems and methods for managing communication between a server and peripheral devices associated with at least one client deployed with an airport environment so that a virtualized application running on the server can be connected with at least one of the peripheral devices. A communications link is established between the server and the client associated with the peripheral devices and the application is directed to one of the peripheral devices via a virtual channel established between a server peripheral manager simulator component and a client peripheral manager simulator component and passing through the communications link. The client peripheral manager simulator is associated with a peripheral manager in the client which controls the peripheral devices.
    Type: Grant
    Filed: February 1, 2013
    Date of Patent: September 22, 2015
    Assignee: Amadeus S.A.S.
    Inventors: Julien Dersy, David Orton
  • Patent number: 9135310
    Abstract: A distributed query system includes a distributed collection of dynamically created compiled queries. As each client submits a query, a parameterized query skeleton is identified, which identifies the general form of the query, and the parameters associated with the particular query. If a compiled form of the skeletal query is available within the distributed system, it is executed with the parameters of the current query. If the compiled form of the skeletal query is not available within the distributed system, a compiled form is created, and the location of this compiled skeletal query is stored for subsequent access by this client, or other clients. The executable compiled skeletal queries may be stored at each client system, in a commonly available server storage system, or within one or more database servers. A routing system may be provided to efficiently route parameterized queries to the appropriate location(s) of the compiled skeletal query.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: September 15, 2015
    Assignee: MemSQL, Inc.
    Inventors: Nikita Shamgunov, Ankur Goyal, Alex Skidanov
  • Patent number: 9129218
    Abstract: An intelligent control system based on an explicit model of cognitive development (Table 1) performs high-level functions. It comprises up to O hierarchically stacked neural networks, Nm, . . . , Nm+(O?1), where m denotes the stage/order tasks performed in the first neural network, Nm, and O denotes the highest stage/order tasks performed in the highest-level neural network. The type of processing actions performed in a network, Nm, corresponds to the complexity for stage/order m. Thus N1 performs tasks at the level corresponding to stage/order 1. N5 processes information at the level corresponding to stage/order 5. Stacked neural networks begin and end at any stage/order, but information must be processed by each stage in ascending order sequence. Stages/orders cannot be skipped. Each neural network in a stack may use different architectures, interconnections, algorithms, and training methods, depending on the stage/order of the neural network and the type of intelligent control system implemented.
    Type: Grant
    Filed: July 18, 2014
    Date of Patent: September 8, 2015
    Inventors: Michael Lamport Commons, Mitzi Sturgeon White
  • Patent number: 9117026
    Abstract: A method and apparatus analyzes user interface (UI) screens associated with a software application, and determines whether any of the strings displayed on the UI screens are erroneously displayed to an end user. Based on the analysis, the method and apparatus generates a report for a developer or tester, for example, which allows that party to remove unwanted hardcoded strings from the UI screen code.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: August 25, 2015
    Assignee: CA, Inc.
    Inventors: Yue Liu, Zaiwei Xiong, Jie Xu
  • Patent number: 9117017
    Abstract: According to embodiments of the invention, methods, computer readable storage medium, and a computer system for providing multiple versions of elements of a program in a single compile are disclosed. The method may include receiving a request to compile a current version of a program for debug. The method may also include identifying, by an integrated development environment, a previous version of an element of the program, wherein the previous version of the element is identified by comparing the current version of the program to a previous version of the program. The method may also include inserting the previous version of the element into the current version of the program. The method may also include creating a compiler directive identifying the previous version of the element. The method may also include compiling the current version of the program for debug.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: August 25, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9063977
    Abstract: Methods, systems and computer-readable medium for replicating the data fields used by relational join operations in transient or persistent data structures with explicit support for named relationships that may have 1:1, 1:many, many:1 or many:many cardinality. An algorithm is applied to predetermine the optional search path for finding relationships between any two rows of any of one or more tables, including relationships defined between other tables. The schema of a target relational database, either derived or input, is converted into an object-oriented schema that explicitly defines relationships between columns in the tables of the relational database and represents the tables as object classes. The schema is analyzed and optimal search paths are derived and stored for subsequent use. A query engine accesses the predefined search paths in order to execute the specific types of query listed above and incrementally populates instances of the transient or persistent structures.
    Type: Grant
    Filed: April 2, 2010
    Date of Patent: June 23, 2015
    Assignee: OBJECTIVITY, INC.
    Inventor: Leon Guzenda
  • Patent number: 9047403
    Abstract: According to embodiments of the invention, methods, computer readable storage medium, and a computer system for providing multiple versions of elements of a program in a single compile are disclosed. The method may include receiving a request to compile a current version of a program for debug. The method may also include identifying, by an integrated development environment, a previous version of an element of the program, wherein the previous version of the element is identified by comparing the current version of the program to a previous version of the program. The method may also include inserting the previous version of the element into the current version of the program. The method may also include creating a compiler directive identifying the previous version of the element. The method may also include compiling the current version of the program for debug.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9043757
    Abstract: An aspect of the present invention identifies differences between source codes (e.g. of different versions of a software), when each source code is organized using incorporated files. In one embodiment, in response to receiving identifiers of a first and second source codes (each source code being organized as a corresponding set of code files), listings of the instructions in the first and second source codes are constructed. Each listing is constructed, for example, by replacing each incorporate statement in the source code with instructions stored in a corresponding one of code files. The differences between the first and second source codes are then found by comparing the constructed listings of instructions.
    Type: Grant
    Filed: December 13, 2012
    Date of Patent: May 26, 2015
    Assignee: Oracle International Corporation
    Inventor: Praneet Tiwari
  • Patent number: 9038037
    Abstract: A method and a system for first, expressing relationships between design contexts as a set of simultaneous parameterized type equations and then, automatically solving those type equations to produce type difference transformations that automatically convert code from one design context to a different design context. For example, a set of solution transforms might redesign code from a simple image convolution expression within a specification context to a set of thread based, parallelized expressions of the convolution designed to fit the “holes” within a design framework from a reusable library. The type equations are expressed in terms a generalization of programming data types (called Context Qualified Types or CQ Types) that may have embedded variable parameters. In addition to programming data type information, CQ Types incorporate design features or concepts that fall outside of the programming data type domain (e.g., a planned program scope or a design skeleton).
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: May 19, 2015
    Inventor: Ted James Biggerstaff
  • Patent number: 9038036
    Abstract: A method of generating an executable that operates as a compiler includes: receiving a unified input description containing syntax rules for both regular and context-free expressions and interspersed code; generating a common internal representation from the unified input description; checking regular expressions in the common internal representation; checking context-free expressions in the common representation; checking the interspersed code; and outputting the executable.
    Type: Grant
    Filed: April 27, 2012
    Date of Patent: May 19, 2015
    Assignee: International Business Machines Corporation
    Inventors: Wolfgang Gellerich, Andreas Krebbel
  • Publication number: 20150121351
    Abstract: Configuring a computer-based application on one or more computer systems includes compiling a configuration source to generate a compiled configuration file. Compiling the configuration source may also include accessing an application definition that includes a property definition, where the property definition includes a name attribute and a type attribute. Compiling the configuration source may further include selecting a property source from the configuration source based on the property source having a name attribute that matches the name attribute of the property definition. The property source may also include a value, and a type check may be performed on that value based on the type attribute of the property definition. Thereafter, a configuration property may be recorded in the compiled configuration file, where the configuration property includes a name specified by the name attribute of the property definition and the value of the property source.
    Type: Application
    Filed: October 30, 2014
    Publication date: April 30, 2015
    Inventors: Alan Cabrera, Scott Holmes, Elbert Tsay
  • Patent number: 9021450
    Abstract: A disclosed method includes accessing one or more seeding specifications and a program including computer-readable code and applying the one or more seeding specifications to the program to identify for analysis seeds including strings for corresponding identified string variables. The method includes tracking flows emanating from the identified seeds. The tracking includes computing an integral offset into a tracked string variable for any statements causing such a computation. The tracking also includes providing a string representation based on the computed integral offset, wherein the provided string representation comprises a value of the integral offset and an indication of the corresponding tracked string variable. The tracking further includes modeling string manipulations of the tracked string variables using the string representations. Apparatus and program products are also disclosed.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: April 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Salvatore Angelo Guarnieri, Marco Pistoia, Omer Tripp
  • Patent number: 9015680
    Abstract: A method and apparatus are provided for finding errors in software by compiling a body of source code at least twice to generate a first object code file and a second object code file. The first and second object code files may be compared and disparities between them may be detected. Indications of the disparities may be output on a display screen of a computing device.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: April 21, 2015
    Assignee: Google Inc.
    Inventor: Benjamin Shropshire
  • Patent number: 9015649
    Abstract: A method of transmitting data is disclosed. At least one system block of a system-on-chip (SoC) is modeled at an untimed functional level in first and second untimed functional models. First and second transaction level (TL) models of the at least one system block system block are modeled at a transaction level (TL) using the first and second untimed functional models, respectively. First and second cycle accurate (CA) models are modeled at a cycle accurate (CA) level using the first and second TL models, respectively. Data is transmitted from the first untimed functional model to the first CA model, from the first CA model to the second CA model via a CA bus, and from the second CA model to the second untimed functional model.
    Type: Grant
    Filed: July 19, 2010
    Date of Patent: April 21, 2015
    Assignee: Taiwan Semiconductor Manufacturing Co., Ltd.
    Inventor: Ashok Mehta
  • Patent number: 9015681
    Abstract: A device obtains first program code that identifies a function, an input argument to which the function is to be applied when the first program code is executed, and a class identifier that identifies second program code that includes a set of routines. The set of routines includes a routine that identifies a manner in which a return value of the function is to be generated, when the first program code is executed. The second program code is stored separately from the first program code. The device executes the first program code, obtains the second program code based on executing the first program code, and executes the routine to generate the return value, based on the function, the input argument, and the class identifier. The device provides the return value.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 21, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Thomas A. Bryan, Julia Wilder Palmateer
  • Publication number: 20150100947
    Abstract: Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.
    Type: Application
    Filed: October 4, 2013
    Publication date: April 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
  • Patent number: 8997042
    Abstract: The current application is directed to flexible and run-time-modifiable implementation of crosscutting functionalities, including code instrumentation, error logging, and other such crosscutting functionalities. These crosscutting functionalities generally violate, or run counter to, modern code-development strategies and programming-language features that seek to partition logic into hierarchically organized compartments and modules with related functionalities, attribute values, and other common features. One feature of the methods and systems for implementing crosscutting functionalities to which the current application is directed is an intelligent switch that can be controlled, at run time, to alter invocation and behavior of crosscutting-functionality implementations, including data-collection instrumentation, error logging, and other crosscutting-functionality implementations.
    Type: Grant
    Filed: October 15, 2012
    Date of Patent: March 31, 2015
    Assignee: Pivotal Software, Inc.
    Inventors: John Victor Kew, Jonathan Travis
  • Patent number: 8990515
    Abstract: The present invention extends to methods, systems, and computer program products for aliasing buffers. Embodiment of the inventions supporting buffer aliasing through introduction of a level of indirection between a source program's buffer accesses and the target executable physical buffers, and binding the logical buffer accesses to actual physical buffer accesses at runtime. A variety of techniques for can be used supporting runtime aliasing of buffers, in a system which otherwise disallows such runtime aliasing between separately defined buffers in the target executable code. Binding of logical buffer accesses in the source program to the actual physical buffers defined in the target executable code is delayed until runtime.
    Type: Grant
    Filed: June 14, 2011
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amit Kumar Agarwal, Weirong Zhu, Yosseff Levanoni
  • Patent number: 8978007
    Abstract: A dynamic programming environment includes a dynamic runtime infrastructure configured to receive static metadata as source text in a source code written in a dynamic programming language. The dynamic runtime infrastructure determines an object representation based on the static metadata from the source text in the source code.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: March 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lucas J. Hoban, Mark B. Shields, Steven E. Lucco, Charles P. Jazdzewski, Anders Hejlsberg
  • Patent number: 8972958
    Abstract: Systems and systems which implement workflows for providing reconfigurable processor core algorithms operable with associated capabilities using description files, thereby facilitating the development and generation of instruction sets for use with reconfigurable processors, are shown. Embodiments implement a multistage workflow in which program code is parsed into custom instructions and corresponding capability descriptions for generating reconfigurable processor loadable instruction sets. The multistage workflow of embodiments includes a hybrid threading complier operable to compile input program code into custom instructions using a hardware timing agnostic approach. A timing manager of the multistage workflow of embodiments utilizes capabilities information provided in association with the custom instructions generated by the hybrid threading complier to impose hardware timing on the custom instructions.
    Type: Grant
    Filed: October 23, 2012
    Date of Patent: March 3, 2015
    Assignee: Convey Computer
    Inventor: Tony Brewer
  • 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: 8966441
    Abstract: One or more processors receive (a) first software written in a first computer language, (b) user input identifying a first name of a first method in a plurality of methods defined in the first software, and (c) user input identifying a location within a second software that is written in a second computer language different from the first computer language. In response, the one or more processors automatically prepare and store at the user-identified location in the second software, a new instruction formatted in a syntax of the second computer language that invokes the first method identified in the first software by the first name. The second software may be initially created with a first instruction to include at least a first additional name (e.g. “main”) used to invoke execution of the second software, and as a parameter thereof a second additional name identifying the first software.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: February 24, 2015
    Assignee: Oracle International Corporation
    Inventor: David Cohanoff
  • Patent number: 8966459
    Abstract: A compiling method compiles an object program to be executed by a processor having a plurality of execution units operable in parallel. In the method a first availability chain is created from a producer instruction (p1), scheduled for execution by a first one of the execution units (20: AGU), to a first consumer instruction (c1), scheduled for execution by a second one of the execution units (22: EXU) and requiring a value produced by the said producer instruction. The first availability chain comprises at least one move instruction (mv1-mv3) for moving the required value from a first point (20: ARF) accessible by the first execution unit to a second point (22: DRF) accessible by the second execution unit.
    Type: Grant
    Filed: February 20, 2014
    Date of Patent: February 24, 2015
    Assignee: Altera Corporation
    Inventors: Marcio Merino Fernandes, Raymond Malcolm Livesley