Parsing, Syntax Analysis, And Semantic Analysis Patents (Class 717/143)
  • Patent number: 8429626
    Abstract: Aspects of the present invention are directed at obtaining user feedback and causing a package of content updates to be created and distributed based on the received feedback. In accordance with one embodiment, a method is provided for creating a package that contains one or more content updates configured to change the content that is displayed by default when a program executes. More specifically, the method includes obtaining input that describes one or more content updates. In this regard, the input received may include the user-defined content that will be displayed when the program executes and the identity of the content displayed by default. Then, the method assembles selected content updates into a package that is suitable for transmission over a network connection. When the package is assembled, processing is provided that allows the content updates in the package to be implemented on a remote computing device.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: April 23, 2013
    Assignee: Microsoft Corporation
    Inventors: Cameron B. Lerum, Catherine A. Wissink, Roxanne M. Seubert, Sushmita Subramanian, Vivek R. Rao, Yaron Hezroni
  • Patent number: 8423971
    Abstract: Generating an application software library comprises: a static analyser processing a binary input library to identify one or more locations in the binary input library which satisfy a semantic analysis condition; inserting metadata into the binary input library at the one or more locations which satisfy the semantic analysis condition; and linking the binary input library with a binary aspect library to generate the application software library, wherein the binary aspect library includes an aspect definition using the metadata.
    Type: Grant
    Filed: May 24, 2006
    Date of Patent: April 16, 2013
    Assignee: International Business Machines Corporation
    Inventor: Adrian Mark Colyer
  • Patent number: 8423977
    Abstract: System and method for converting a class oriented data flow program to a structure oriented data flow program. A first data flow program is received, where the first data flow program is an object oriented program comprising instances of one or more classes, and wherein the first data flow program is executable to perform a first function. The first data flow program is automatically converted to a second data flow program, where the second data flow program does not include the instances of the one or more classes, and where the second data flow program is executable to perform the first function. The second data flow program is stored on a computer memory, where the second data flow program is configured to be deployed to a device, e.g., a programmable hardware element, and where the second data flow program is executable on the device to perform the first function.
    Type: Grant
    Filed: April 27, 2009
    Date of Patent: April 16, 2013
    Assignee: National Instruments Corporation
    Inventors: Stephen R. Mercer, Akash B. Bhakta, Matthew E. Novacek
  • Patent number: 8418148
    Abstract: A thread execution analyzer analyzes blocking events of threads in a program using execution data and callstacks collected at the blocking events. The thread execution analyzer attempts to identify an application programming interface (API) responsible for each blocking event and provides blocking analysis information to a user. The blocking analysis information may be used by a developer of the program to understand the causes of blocking events that occur for threads of the program.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Hazim Shafi, Brian Adelberg, Khaled S. Sedky
  • Patent number: 8413124
    Abstract: A system and method for compiling and matching regular expressions is disclosed. The regular expression compiling system includes a syntax analyzing module and at least two types of compiling modules. The syntax analyzing module is configured to analyze syntactic characteristics of a regular expression and send the regular expression to an appropriate compiling module according to preset syntactic rules and the syntactic characteristics of the regular expression; and the appropriate compiling module is configured to receive the regular expression and compile the regular expression into a data structure of a specific form.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: April 2, 2013
    Assignee: Huawei Technologies Co., Ltd.
    Inventor: Hao Wang
  • Publication number: 20130074054
    Abstract: The described embodiments present techniques for recovering from syntax errors. These techniques correct potential errors while preserving the shape of the parse tree, and the specific implementation of the techniques can be automatically generated from the grammar. These techniques may operate by looking back at states associated with previously-received tokens to determine pair matching status, when a synchronizing symbol is received. The techniques can respond to the pair matching status determination by potentially adding a synthesized token or by deleting a token that has already been received. The techniques may use a structure referred to herein as a tuple to assist with the evaluation of the pair matching status. Some of the techniques utilize indentation information to evaluate the pair matching status, while other techniques ignore such information. The described embodiments also include a technique for automatically generating the tuples from a set of grammar rules associated with the parser.
    Type: Application
    Filed: November 15, 2012
    Publication date: March 21, 2013
    Applicant: The MathWorks, Inc.
    Inventor: The MathWorks, Inc.
  • Patent number: 8402547
    Abstract: A static code analysis (SCA) tool, apparatus and method detects, prioritizes and fixes security defects and compliance violations in SAP® ABAP™ code. The code, meta information and computer system configuration settings are transformed into an interchangeable format, and parsed into an execution model. A rules engine is applied to the execution model to identify security and compliance violations. The rules engine may include information about critical database tables and critical SAP standard functions, and the step of applying the rules engine to the execution model may include the calculation of specific business risks or whether a technical defect has a business-relevant impact. In particular, an asset flow analysis may be used to determine whether critical business data is no longer protected by the computer system. Such critical business data may include credit or debit card numbers, financial data or personal data.
    Type: Grant
    Filed: March 11, 2011
    Date of Patent: March 19, 2013
    Assignee: Virtual Forge GmbH
    Inventors: Andreas Wiegenstein, Markus Schumacher, Xu Jia
  • Patent number: 8402427
    Abstract: A method, system and apparatus for providing a web application or to generate the basis for a complete web application source code. Based on user interface input files provided by graphic designers, the web application or generates application framework code, an event handler skeleton and s logic foundation code. Web developers then prepare additional source code object-oriented programming language based on the event handler skeleton and business logic foundation code to create web application business logic objects and handler methods. Ultimately the graphical user interface input files prepared by the designers and web application source code prepared by the web developers dynamically bound at runtime.
    Type: Grant
    Filed: August 29, 2006
    Date of Patent: March 19, 2013
    Assignee: Gutenberg Printing LLC
    Inventor: Hiang-Swee Chiang
  • Patent number: 8402430
    Abstract: A method includes receiving a modeling template, the modeling template comprising a plurality of modeling constructs and profile constructs, each profile construct generated from a modeling profile and comprising an extension of one of the modeling constructs. The method further includes parsing the modeling template into the plurality of modeling constructs and profile constructs. One or more object-oriented constructs are defined based, at least in part, on the parsed modeling constructs and profile constructs. Source code is automatically generated in an object-oriented programming language based, at least in part, on the defined object-oriented constructs. The object-oriented programming language comprises an object-oriented programming language with embedded inferencing.
    Type: Grant
    Filed: September 20, 2010
    Date of Patent: March 19, 2013
    Assignee: CA, Inc.
    Inventors: Kirk D. Wilson, Christopher X. Condit, It-Beng Tan
  • Patent number: 8397222
    Abstract: Methods for constructing an Any-to-Any data machine (consisting of Any-to-Any data components and their environmental requirements) and an Any-to-Any code machine (consisting of Any-to-Any code components and their environmental requirements) and relating them together so that they harmoniously interact and so that the data Any-to-Any machine controls and is also acted upon by the code Any-to-Any machine so as to produce an Any-to-Any system that transforms data in a manner that is useful and which is analogous to the harmonious interaction of the Any-Any binary code and Any-to-Any transistor systems, and which handles data and transforms it in a sufficiently similar manner to the manner in which the human handles and transforms data that the human finds it easy and intuitive to operate, all supported by methods that enable data to be stored in a single logical grid structure that can accept and correctly relate, transmit and receive any data, together examples of methods to derive benefits from these inventi
    Type: Grant
    Filed: December 5, 2008
    Date of Patent: March 12, 2013
    Inventor: Peter D. Warren
  • Patent number: 8397221
    Abstract: Bounding resource consumption of code that processes recursive data structures and collections includes making use of quantitative functions (based on user input) that are associated with a tuple of data-structures and whose semantics is specified by describing the effect of various data-structure methods on the relevant quantitative functions. Counter variables are incorporated into source code to count loop iterations (and number of recursive procedure call invocations). Relevant quantitative functions are incorporated into the source code to allow computation of invariants (and hence bounds) on the incorporated counter variables in terms of the quantitative functions.
    Type: Grant
    Filed: October 7, 2008
    Date of Patent: March 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Sumit Gulwani, Krishna Kumar Mehra, Trishul A Chilimbi
  • Publication number: 20130055223
    Abstract: Disclosed is a programming language system that can produce executable program code from source code, even if the source code contains errors. In embodiments, the programming language system includes a fault tolerant compiler that can detect errors in the source code, but nonetheless produce valid compiler constructs representative of the errors in the source code. Accordingly, the compilation process can proceed despite errors in the source code and produce executable program code.
    Type: Application
    Filed: December 20, 2011
    Publication date: February 28, 2013
    Applicant: MYEZAPP INC.
    Inventor: Sichun Xu
  • Patent number: 8387029
    Abstract: A method for parsing and executing a software program includes receiving a portion of a software program in an original linguistic form, wherein the portion of the software program includes a nonlinear program element having a body, and, while retaining the original linguistic form, directly executing the nonlinear program element by manipulating a parse state and an input stream of tokens representing the body of the nonlinear program element, wherein directly executing comprises executing tokens until the dynamic end of the nonlinear program element is reached. A system includes a tokenizer operable to tokenize the software program and a parser operable to directly execute a nonlinear program element in the software program by manipulating a parse state and an input stream of tokens representing the body of the nonlinear program element, while preserving the original linguistic form of the software program.
    Type: Grant
    Filed: July 25, 2006
    Date of Patent: February 26, 2013
    Assignee: Hercules Software, LLC
    Inventor: Peter L. Bird
  • Patent number: 8387025
    Abstract: A system for dynamically integrating changes in the rules governing business operations into an application program that implements the rules in order to control business operations includes a dynamic business logic rule integrator (“DBLRI”) that essentially provides business logic rules to the application software as executable routines. The DBLRI presents to a user one or more graphical user interfaces (“GUIs”) through which the user writes functional-language expressions for the business logic rules. The respective GUIs correspond to various types of business logic rules, and provide to the user menus of associated functions, operators and parameters that are available for use. The set of parameters associated with a given GUI is dynamically updated, to correspond to changes in the underlying business logic rules. The user writes and/or edits the expressions for the respective business logic rules by selectively combining the available functions, operators and parameters.
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: February 26, 2013
    Assignee: Millennium IT (USA) Inc.
    Inventor: Lakshitha C. Surasinghe
  • Patent number: 8387030
    Abstract: A back-end service adaptation system provides access to normalized data in a data repository for a consumer runtime environment sending a query request for denormalized data. The back-end service adaptation system can include a data access service layer, a parser layer, and a back-end service adaptation runtime layer. The consumer runtime can use a service adaptation definition language (SADL), and the parser and data access service can be configured to convert and translate the SADL request for the back-end service adaptation runtime layer.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: February 26, 2013
    Assignee: SAP AG
    Inventors: Frank Brunswig, Thomas Fiedler, Oswald Gschnitzer, Marcel Hermanns, Markus Viol, Jens Weiler, Gerhard Wenzel
  • Patent number: 8381178
    Abstract: The system and method in one aspect allow understanding of Boolean expressions by representing them graphically as a flow of information. NOTs are represented as switches in the flow, capturing the original structure of the expression as written by the user. Verification of those expressions with live data is also enabled.
    Type: Grant
    Filed: July 2, 2009
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jacquelyn A. Martino, Paul M. Matchen, Rosario A. Uceda-Sosa
  • Patent number: 8381201
    Abstract: In many messaging systems, message selection filtering involves a significant processing overhead. This includes the parsing and preparing of the message selection filters in readiness for evaluation, as well as the evaluation itself. In systems which involve parsing and prepare processing for expressions that include repeated patterns (such as in many JMS environments), a template-based shortcutting of the conventional processing improves performance. A stored parsing template is used to parse an input sequence such as a received data processing instruction. The parse is used to identify expressions of a first type that can then be implicitly optimized by using a stored evaluation template that is associated with expressions of that type.
    Type: Grant
    Filed: February 7, 2012
    Date of Patent: February 19, 2013
    Assignee: International Business Machines Corporation
    Inventor: Stephen James Todd
  • Patent number: 8380830
    Abstract: A system and method for processing an input data stream in a first data format of a plurality of first data formats to an output data stream in a second data format of a plurality of second data formats. A plurality of input connector modules receive respective input data streams and at least one input queue stores the received input data streams. A plurality of job threads is operatively connected to the at least one input queue, each job thread formatting a stored input data stream to produce an output data stream. At least one output queue stores the output data streams from the plurality of job threads. A plurality of output connector modules is operatively connected to the at least one output queue, the output connector modules supplying respective output data streams.
    Type: Grant
    Filed: April 22, 2011
    Date of Patent: February 19, 2013
    Assignee: Open Text S.A.
    Inventors: Dennis D. Ladd, Anders Hermansson
  • Patent number: 8375373
    Abstract: In a change-resilient intermediate language code, registers have been allocated but symbolic references and pseudo instructions still use unbound items. Pseudo instructions having a specific location within generated intermediate language code request insertion of machine instruction(s) at the location to perform specified operations. Specified operations may include, for example, operations to perform or facilitate garbage collection, memory allocation, exception handling, various kinds of method calls and execution engine service calls, managed object field access, heap management, generic code, static variable storage access, address mode modification, and/or symbolic reference to types. A binder may transform the intermediate language code into executable code. Little or no register allocation is needed during binding, but unbound items such as offsets, sizes, slots, and the like are determined and specified to produce executable code.
    Type: Grant
    Filed: April 19, 2010
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventor: Peter Franz Valentin Sollich
  • Patent number: 8370818
    Abstract: Methods and apparatus for analyzing the interface usage and requirements within software applications. In one embodiment, the interfaces comprise application programming interfaces (APIs) used with Java-based software, and the apparatus comprises a computer program that analyzes file paths (or classpaths) containing one or more files comprising Java bytecode. The names of the classes are extracted and placed into a class dictionary. The different classes listed in the dictionaries are broken down into their individual methods. Each method is then dissembled and analyzed for method or field invocations on other classes found in the dictionary. Methods called are added to a “used class” report. The used class report preferably contains the name of the class, method and the instruction information.
    Type: Grant
    Filed: December 2, 2006
    Date of Patent: February 5, 2013
    Assignee: Time Warner Cable Inc.
    Inventors: Matt Osminer, Robert F. Gazdzinski
  • Patent number: 8370817
    Abstract: A mechanism is provided for optimizing scalar code executed on a single instruction multiple data (SIMD) engine by aligning the slots of SIMD registers. With the mechanism, a compiler is provided that parses source code and, for each statement in the program, generates an expression tree. The compiler inspects all storage inputs to scalar operations in the expression tree to determine their alignment in the SIMD registers. This alignment is propagated up the expression tree from the leaves. When the alignments of two operands in the expression tree are the same, the resulting alignment is the shared value. When the alignments of two operands in the expression tree are different, one operand is shifted. For shifted operands, a shift operation is inserted in the expression tree. The executable code is then generated for the expression tree and shifts are inserted where indicated.
    Type: Grant
    Filed: May 27, 2008
    Date of Patent: February 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Alexandre E. Eichenberger, John Kevin Patrick O'Brien
  • Patent number: 8365155
    Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: January 29, 2013
    Assignee: Veracode, Inc.
    Inventor: Christien Rioux
  • Patent number: 8365156
    Abstract: Management of changes involving base classes is facilitated. An intermediate language code has execution-ready register allocation but unbound object field layout and/or virtual method slot assignment, thereby providing resilience. A symbolic reference rather than a direct offset can identify a field, and intermediate language code can be field order independent. Other symbolic references may also be used. Intermediate language code pseudo instructions can express items such as a field access, a method call, a virtual method call, part or all of a method prolog, part or all of a method epilog. A binder binds the intermediate language code to produce executable code. Thus, one may avoid recompilation otherwise required when a base class is revised by adding a field, removing a private field, rearranging field order, adding a virtual method, or rearranging virtual method order.
    Type: Grant
    Filed: April 17, 2010
    Date of Patent: January 29, 2013
    Assignee: Microsoft Corporation
    Inventor: Peter Franz Valentin Sollich
  • Patent number: 8359582
    Abstract: Method, computer readable medium, and system for specifying before-compiled code, compiling the before-compiled code into a compiled code snippet, specifying an insertion point in a compiled code block of a computer program, and inserting the compiled code snippet into the compiled code block at the specified insertion point while the computer program is running.
    Type: Grant
    Filed: September 27, 2008
    Date of Patent: January 22, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Tavis Elliott
  • Patent number: 8356279
    Abstract: A program generating device configured to be capable of reducing an operation burden on the user who has conventionally been required to extract portions to be changed from a script. A script acquiring section acquires script information for execution of a predetermined process. An attribute information-acquiring section acquires attribute information representing conditions for operation of a control target of the program generating device. A difference extracting section extracts difference. A script correcting section changes the script information based on difference between the attribute information and the script information.
    Type: Grant
    Filed: March 30, 2008
    Date of Patent: January 15, 2013
    Assignee: Canon Kabushiki Kaisha
    Inventor: Yohei Shogaki
  • Publication number: 20130014093
    Abstract: The present invention relates to a code inspection executing system for performing a code inspection of ABAP source codes, and particularly, to a code inspection executing system for performing a code inspection of ABAP source codes, which provides the reliable maintainability, performance, accuracy, stability, and security of an ABAP application by inspecting coding defects such as system failure and stoppage, data loss and transformation, excessive performance deterioration, erroneous behavior of functions and results thereof, complex code structures, and spelling errors.
    Type: Application
    Filed: April 5, 2010
    Publication date: January 10, 2013
    Applicant: SOFT4SOFT CO., LTD.
    Inventor: Heon Ki Lee
  • Publication number: 20130014094
    Abstract: Creating and executing a distributed stream processing operator graph based on a query. The operator graph includes movable stream algebra operators for processing events received from high volume data streams. The operators are partially compiled and distributed to computing devices for completion of the compilation and subsequent execution. During execution, the operators maintain minimal state information associated with received events via an expiration time assigned to each of the event instances. Additional events are generated and aggregated by the operators for communication to a service responsible for the query.
    Type: Application
    Filed: September 13, 2012
    Publication date: January 10, 2013
    Applicant: Microsoft Corporation
    Inventors: Gueorgui B. Chkodrov, Paul F. Ringseth, Tihomir T. Tarnavski, Andy Shen, Roger Shane Barga, Jonathan Goldstein
  • Publication number: 20130007722
    Abstract: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.
    Type: Application
    Filed: June 28, 2011
    Publication date: January 3, 2013
    Applicant: International Business Machines Corporation
    Inventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
  • Patent number: 8347272
    Abstract: A method of analyzing program source code prepared for a multithreading platform comprises analyzing a targeted source code set to extract a set of characteristic information for each wait operation; analyzing the targeted source code set to extract a set of characteristic information for each notification call to an application programming interface of the multithreading platform; identifying a one-way branching correspondence with a wait operation for each notification call by comparing the extracted set of characteristic information for the notification operation and the extracted set of characteristic information for each wait operation with a set of predefined asynchronous operation correspondence pattern information for notification and wait functions implemented by the application programming interface; extracting a set of information for each identified one-way branching correspondence; and storing the extracted set of information for each identified one-way branching correspondence in a data store.
    Type: Grant
    Filed: July 23, 2008
    Date of Patent: January 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Naoki Sugawara, Tadashi Yamamoto
  • Patent number: 8341597
    Abstract: The present invention relates to the field of computer programming. More specifically the invention relates to a method and a data processing system for editing the source code of a computer program. It is an object of the present invention to provide an easy source code editing technique, by which programming errors and type errors can reliably be avoided in cases where changes to the program are supposed not to change the semantics of the program. This object is achieved according to the invention by a method for editing source code, the method comprising the steps of: receiving a modification to the source code, said modification being made by a user, determining whether the modification would change the semantics of the source code, and handling the modification depending on the result of the determining step.
    Type: Grant
    Filed: January 16, 2008
    Date of Patent: December 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Andreas Arning, Friedemann Schwenkreis
  • Patent number: 8341607
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to pattern matcher generation and provide a method, system and computer program product for automatic pattern matching and generation of intermediate language patterns. In one embodiment of the invention, a pattern matcher generation method can be provided. The method can include identifying input elements from intermediate language code, reducing the identified input elements from the intermediate language code to inputs of common and unique use, creating a unifiable form for each of the input elements of common and unique use, and generating a pattern matcher for each of the input elements of common and unique use in the intermediate language code using a corresponding unifiable form in place of each of the input elements of common and unique use. In particular, the generated pattern matcher can be expression matching and transformation programming framework (EMTF) conformant.
    Type: Grant
    Filed: March 13, 2008
    Date of Patent: December 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kevin A. Stoodley, Arie Tal
  • Patent number: 8336037
    Abstract: Client Native method Interface (CNI) minimizing eXtensible Mark-up Language (XML) parsing is provided using array pair data structures. An empty array pair is passed to an engine from client code via a CNI call. The engine parses the XML document and fills the array pair with fixed width elements. The filled array pair is passed back to client code. The client code iterates through the elements in the array pair and invokes the appropriate handlers or builds appropriate tree objects for Document Object Model parsing. Thus, one CNI call passes the empty array pair from client code to the engine, and the filled array pair is returned from the engine to client code. Individual sets of CNI calls for each element are avoided, minimizing the number of CNI calls. Further, since elements in the array pair are of fixed width, they can be processed more efficiently by the client code.
    Type: Grant
    Filed: May 16, 2007
    Date of Patent: December 18, 2012
    Inventor: Richard A. Ross
  • Patent number: 8321846
    Abstract: Systems, methods, and other embodiments associated with executable templates are described. One example method includes generating an executable template from a set of template data. When an executable template is executed, the executable template creates one or more instantiated entities. These instantiated entities may then be combined with entities created from portions of the original template that were not compilable into the executable format.
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: November 27, 2012
    Assignee: Oracle International Corporation
    Inventor: Ramkrishna Chatterjee
  • Patent number: 8321847
    Abstract: A device receives selection of a function category associated with a dynamically-type programming language, receives selection of a function associated with the selected function category, dynamically generates one or more function signatures associated with the selected function, and stores at least a subset of the one or more function signatures in a memory or displays at least a subset of the one or more function signatures to a user.
    Type: Grant
    Filed: May 17, 2007
    Date of Patent: November 27, 2012
    Assignee: The MathWorks, Inc.
    Inventors: Christopher F. Garvin, Roy Lurie
  • Patent number: 8321848
    Abstract: The described embodiments present techniques for recovering from syntax errors. These techniques correct potential errors while preserving the shape of the parse tree, and the specific implementation of the techniques can be automatically generated from the grammar. These techniques may operate by looking back at states associated with previously-received tokens to determine pair matching status, when a synchronizing symbol is received. The techniques can respond to the pair matching status determination by potentially adding a synthesized token or by deleting a token that has already been received. The techniques may use a structure referred to herein as a tuple to assist with the evaluation of the pair matching status. Some of the techniques utilize indentation information to evaluate the pair matching status, while other techniques ignore such information. The described embodiments also include a technique for automatically generating the tuples from a set of grammar rules associated with the parser.
    Type: Grant
    Filed: April 16, 2009
    Date of Patent: November 27, 2012
    Assignee: The Mathworks, Inc.
    Inventor: Stephen C. Johnson
  • Patent number: 8316358
    Abstract: A method and apparatus are set forth for creating a Document Object Model of an XML document of predetermined type, comprising a first process for receiving and opening a compressed input file containing the XML document; a second process for opening and parsing the contents of a relationships file to create a map of name-value pairs and detecting a value for identifying the predetermined type from among a plurality of types of XML documents; and a further process for parsing data in the XML document according to the predetermined type, and building the Document Object Model.
    Type: Grant
    Filed: May 31, 2007
    Date of Patent: November 20, 2012
    Assignee: Research In Motion Limited
    Inventors: Jack Chen, David Weintraub, Jian Frank Li
  • Patent number: 8311806
    Abstract: An apparatus for processing a sequence of tokens to detect predetermined data, wherein each said token has a token type, and the predetermined data has a structure that comprises a predetermined sequence of token types, including at least one optional token type. The apparatus comprises a processor arranged to: provide a tree for detecting the predetermined data, the tree comprising a plurality of states, each said state being linked with at least one other state by a respective condition, the arrangement of linked states forming a plurality of paths; and compare the token types of the sequence of tokens to respective conditions in the tree to match the sequence of tokens to one or more paths in the tree, wherein the predetermined data can be detected without using an epsilon reduction to take account of said at least one optional token type.
    Type: Grant
    Filed: September 29, 2008
    Date of Patent: November 13, 2012
    Assignee: Apple Inc.
    Inventors: Olivier Bonnet, Frederic de Jaeger, Romain Goyet
  • Patent number: 8312437
    Abstract: Architecture allows a programmer to answer questions about the source code the programmer is authoring, questions that cannot be answered by other means. A searching mechanism is provided over a much more structured presentation of the source code. The architecture utilizes components that provide an intimate knowledge about the structure of the text, namely, the source code of some particular programming language. The search mechanism employs an abstract syntax tree representation of the code over which the search is conducted. The program source code (as edited by the programmer) is transformed into the abstract syntax tree to embody the structure of the program. If the syntax tree is provided in XML, for example, an XML search mechanism such as Xpath can be utilized to perform the actual searching. This tree is then queried, allowing richer searching criteria to be expressed (by virtue of the structured format of the tree).
    Type: Grant
    Filed: December 30, 2008
    Date of Patent: November 13, 2012
    Assignee: Microsoft Corporation
    Inventor: Peter Villadsen
  • Patent number: 8312432
    Abstract: A method of adjusting a control timing accompanying a program correction of a machine language program executed by an information processor includes preparing a first machine language program obtained by compiling a first source program and generating a second intermediate language program from a second source program, the second source program being corrected from the first source program. Then, the method computes a first number of clock cycles, that is a number of clock cycles to execute a first machine language program obtained by compiling the first source program and computes a second number of clock cycles, that is a number of clock cycles to execute a second machine language program obtained by compiling the second source program, using the second intermediate language program, the second intermediate language program including an instruction that is uniquely correlated with a machine language instruction of the second machine language program.
    Type: Grant
    Filed: September 9, 2008
    Date of Patent: November 13, 2012
    Assignee: Renesas Electronics Corporation
    Inventor: Kenji Mori
  • Patent number: 8307351
    Abstract: A system and method is provided for performing code provenance review in a software due diligence system. In particular, performing code provenance review may include sub-dividing source code under review and third-party source into logical fragments using a language-independent text fracturing algorithm. For example, the fracturing algorithm may include a set of heuristic rules that account for variations in coding style to create logical fragments that are as large as possible without being independently copyrightable. Unique fingerprints may then be generated for the logical fragments using a fingerprint algorithm that features arithmetic computation. As such, potentially related source code may be identified if sub-dividing the source code under review and the third-party source code produces one or more logical fragments that have identical fingerprints.
    Type: Grant
    Filed: March 18, 2009
    Date of Patent: November 6, 2012
    Assignee: Oracle International Corporation
    Inventor: Juergen Weigert
  • Patent number: 8307344
    Abstract: In a method for tracing data within an integrated circuit, a default time stamp granularity is selected for a sequence of time stamps, wherein each time stamp has a resolution of 2**N. A sequence of trace events is captured and an elapsed time is determined between each time sequential pair of trace events in the sequence of trace events. A time stamp is formed to associate with each trace event of the sequence of trace events, wherein each time stamp has an associated time stamp granularity, wherein the time stamp has the default time stamp granularity if the elapsed time between a current trace event and a sequentially prior trace event is less than 2**N time slots, otherwise the time stamp granularity is slid to a larger value such that the elapsed time can be represented by N bits, whereby a small number N of bits can accurately represent a large range of elapsed times.
    Type: Grant
    Filed: August 29, 2008
    Date of Patent: November 6, 2012
    Assignee: Texas Instruments Incorporated
    Inventors: Gilbert Laurenti, Gary A. Cooper
  • Patent number: 8302084
    Abstract: A technique is disclosed for correcting inconsistent language model parameters associated with a compiled computer readable project. One or more compiled units are analyzed to identify compiler commentary therein. Based on the debugging information, it is determined whether inconsistent language model parameters exist. If so, a user is allowed to apply a correction strategy to correct the one or more inconsistent parameters.
    Type: Grant
    Filed: November 9, 2007
    Date of Patent: October 30, 2012
    Assignee: Oracle America, Inc.
    Inventors: Alexander Simon, Andrew Krasny
  • Patent number: 8300531
    Abstract: Methods and apparatus are provided for overload control of prioritized message flows in a state machine execution environment. A state machine employs a flow graph associated with a system. The flow graph provides a flow control mechanism that defines a plurality of states and one or more transitions between the states. Tokens circulate within the flow graph and execute functions during the transitions between the states. The state machine parses one of the tokens to extract one or more predefined information elements; assigns a priority to the token based on the extracted information elements and a state occupancy of the token, wherein the assigned priority controls an order in which the token is processed; assesses an overload status of the system and selectively discards one or more of the tokens based on the assigned priority and assessed overload status.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: October 30, 2012
    Assignee: Alcatel Lucent
    Inventors: John H. Shamilian, Thomas L. Wood
  • Patent number: 8302085
    Abstract: A method (1) of developing software code for executing on a target digital processor uses a memory in which it maintains data structures having elements, each of the elements storing data which is represented by a label, and at least some links between the elements are created by the target processor as data is being processed. The method comprises the step (3) of writing the software code with data structure processing operations which comply with random structure preservation rules (2). A static analysis timing tool automatically parses (4) the code developed in step (2) to identify all operations. It determines (7) from an operation and all possible input states for that operation an average time value for execution of the operation by a target data processor, and stores (9) said average time value. It determines (8) from the operation and all possible input states all possible output states for that operation.
    Type: Grant
    Filed: February 16, 2006
    Date of Patent: October 30, 2012
    Assignee: University College Cork—National University of Ireland
    Inventor: Michel Schellekens
  • Patent number: 8296744
    Abstract: Embodiments of tree-based directed graph programming structures for a declarative programming language are provided. In various embodiments, complex graph structured data, referred to as “DGraphs” herein in one non-limiting implementation, is authored using a compact, human friendly syntax without the use of explicit identifiers. In one non-limiting aspect, the syntax includes support for conformance relationships, also referred to as factored relationships. In another non-limiting aspect, the semistructured graph data is a tree-based representation and the syntax includes lexical resolution of references or lexical scoping, and/or non local initialization.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: October 23, 2012
    Assignee: Microsoft Corporation
    Inventors: David E. Langworthy, John L. Hamby, Bradford H. Lovering, Donald F. Box
  • Publication number: 20120266141
    Abstract: API description techniques are described for consumption by dynamically-typed languages. In one or more implementations, machine-readable data is parsed to locate descriptions of one or more application programming interfaces (APIs). The descriptions of the one or more application programming interfaces are projected into an alternate form that is different than a form of the machine-readable data.
    Type: Application
    Filed: April 13, 2011
    Publication date: October 18, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael C. Fanning, Ani Babaian, Jomo A. Fisher, Anson M. Horton, Lucas J. Hoban
  • Patent number: 8291392
    Abstract: Methods and apparatuses for creating a dynamic profile for a plurality of structurally similar extensible markup language (XML) documents based at least in part on a document structure or data pattern of the XML documents. A specialized XML parser is generated based at least in part on the dynamic profile and then is specialized in parsing XML documents that substantially match the dynamic profile.
    Type: Grant
    Filed: September 30, 2008
    Date of Patent: October 16, 2012
    Assignee: Intel Corporation
    Inventors: Jianhui Li, Hui Chen, Tianyou Li, Tao Xie, Kevin Jones
  • Patent number: 8286150
    Abstract: A computer is caused to function as a parsing unit, a macroblocking analyzing unit, a junction-node restructuring unit, an identical portion merging/restructuring unit, a similar portion merging/restructuring unit, and an intermediate language restructuring unit. The parsing unit performs syntax analysis of a source code. The macroblocking analyzing unit segments the program written in the source code into blocks and appends a virtual portion representing a unique number in a statement, to a number for identifying a variable for the statement in each block to virtualize a calculation pattern. The junction-node restructuring unit extracts a node directly related to a subroutine block. The identical portion merging/restructuring unit merges pre-processing together and post-processing together for a subroutine called up at a multiple portions in the program. The similar portion merging/restructuring unit integrates subroutines having similar structures into a related subroutine.
    Type: Grant
    Filed: August 18, 2009
    Date of Patent: October 9, 2012
    Assignee: Fujitsu Limited
    Inventor: Koichiro Yamashita
  • Patent number: 8286149
    Abstract: A novel and useful mechanism for optimizing the detection of dependencies in a software system via feedback between static and dynamic engines. The present invention enables dynamic analysis to be more effective by using the results of static analysis to identify sections that need to be traced during dynamic analysis. The method also increases the accuracy of static analysis by using dynamic values as inputs to static analysis. Dynamic values used as inputs for static analysis are a result of dynamic analysis. The mechanism first executes a static analysis, then executes a dynamic analysis targeting the sections identified by the static analysis and finally executes a static analysis using the dynamic values identified during the dynamic analysis in order to detect dependencies.
    Type: Grant
    Filed: October 15, 2007
    Date of Patent: October 9, 2012
    Assignee: International Business Machines Corporation
    Inventors: Nurit Dor, Yishai Abraham Feldman, Inbal Ronen, Sara Porat
  • Patent number: 8286151
    Abstract: The present invention provides an overlay instruction accessing unit and method, and a method and apparatus for compressing and storing a program.
    Type: Grant
    Filed: September 26, 2008
    Date of Patent: October 9, 2012
    Assignee: International Business Machines Corporation
    Inventors: Liang Chen, Kuan Feng, Wang Zheng, Min Zhu