Parsing, Syntax Analysis, And Semantic Analysis Patents (Class 717/143)
  • Patent number: 8281294
    Abstract: One embodiment of the present invention sets forth a technique for representing and managing a multi-architecture co-processor application program. Source code for co-processor functions is compiled in two stages. The first stage incorporates a majority of the computationally intensive processing steps associated with co-processor code compilation. The first stage generates virtual assembly code from the source code. The second stage generates co-processor machine code from the virtual assembly. Both the virtual assembly and co-processor machine code may be included within the co-processor enabled application program. A co-processor driver uses a description of the currently available co-processor to select between virtual assembly and co-processor machine code. If the virtual assembly code is selected, then the co-processor driver compiles the virtual assembly into machine code for the current co-processor.
    Type: Grant
    Filed: November 12, 2007
    Date of Patent: October 2, 2012
    Assignee: NVIDIA Corporation
    Inventors: Julius Vanderspek, Nicholas Patrick Wilt, Jayant Kolhe, Ian A. Buck, Bastiaan Aarts
  • Patent number: 8281290
    Abstract: A method may include mapping a first program to a context-free grammar. Grammar transformations may be performed on the context-free grammar to produce a transformed context-free grammar representing the first program. A second program having a program structure different than a program structure of the first program may be constructed from the transformed context-free grammar.
    Type: Grant
    Filed: January 31, 2008
    Date of Patent: October 2, 2012
    Assignee: Alcatel Lucent
    Inventor: Gerald R. Thompson
  • Patent number: 8276064
    Abstract: A method to generate an effective schema of an electronic document for optimizing the processing thereof may include performing a programmatic analysis to determine all required portions of the electronic document. The method may also include generating a parser or deserializer to build an optimized document model; and specializing a document processing program against the optimized document model.
    Type: Grant
    Filed: May 7, 2007
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Abraham Heifets, Joseph J. Kesselman, Eric David Perkins
  • Patent number: 8276130
    Abstract: The present invention provides a method and a compiler of compiling a source program. According to an aspect of the present invention, there is provided a method of compiling a source program comprising: identifying a hint related to vector aligning when syntax analyzing said source program; and generating a simplified code based on said identified hint related to vector aligning when generating a code.
    Type: Grant
    Filed: August 1, 2008
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Wenjun Wang, Zhou Wu, Xin Zhong, Zheng Wang
  • Publication number: 20120233601
    Abstract: Executable code may be recompiled so that generic portions of code may be replaced with specific portions of code. The recompilation may customize executable code for a specific use or configuration, making the code lightweight and executing faster. The replacement mechanism may replace variable names with fixed values, replace conditional branches with only those branches which are known to be executed, and may eliminate executable code portions that are not executed. The replacement mechanism may comprise identifying known values defined in the executable code for variables, and replacing those variables with the constant value. Once the constants are substituted, the code may be analyzed to identify branches that may be evaluated using the constant values. Those branches may be reformed using the constant value and the rest of the conditional code that may not be accessed may be removed.
    Type: Application
    Filed: May 1, 2012
    Publication date: September 13, 2012
    Applicant: CONCURIX CORPORATION
    Inventors: Alexander G. Gounares, Charles D. Garrett
  • Patent number: 8266603
    Abstract: The present invention relates to allocating registers to variables in order to compile a program. In an embodiment of the present invention a compiler apparatus stores interference information indicating an interference relationship between variables, selects a register and allocates the register to each variables in accordance with a predetermined procedure, without allocating the same register to a set of variables having interference relationships. The compiler further replaces multiple variables having the same register allocated thereto with a new variable and generates an interference relationship by merging the interference relationships each concerning one of multiple variables.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: September 11, 2012
    Assignee: International Business Machines Corporation
    Inventors: Tatsushi Inagaki, Hideaki Komatsu, Takuya Nakaike, Rei Odaira
  • Patent number: 8261247
    Abstract: In a method of modifying code of a running computer program so as to modify the running computer program without having to restart the running computer program for changes to the running computer program to take effect, the improvement is disclosed of: (a) comparing differences in the running program's running binary code versus object code produced by compiling the running program's source code and (b) using the results of step (a), determining what values to use for symbols in said changes to the program. The compiling may be performed using either the compiler originally used to compile the running program or a different compiler. A data storage medium having instructions stored therein for a computer to perform the improved method is also disclosed.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: September 4, 2012
    Assignee: Oracle International Corporation
    Inventor: Jeffrey Brian Arnold
  • Publication number: 20120222021
    Abstract: The present invention provides a method and system for producing intermediate representation of source code listings with possibly mixed syntaxes to assist software development applications in presenting and analyzing the source code listings through reading the intermediate representation. A source code processor calls Application Programming Interfaces (APIs) to preserve source code information, which includes intermediate representation data sets and is preferably stored in a file-based repository. The source code processor is of a compiler, a preprocessor, a parser, or a comment document processor. The data sets capture lexical, syntax and semantic information of source code construct elements, and comprise of location, processor identification, construct category, and attribute data.
    Type: Application
    Filed: May 9, 2012
    Publication date: August 30, 2012
    Inventor: KAN ZHAO
  • Publication number: 20120222020
    Abstract: Techniques are disclosed for limiting execution of software programs. For example, a method comprises the following steps. A first set of program code is extracted from a second set of program code. The extracted first set of program code is parsed to generate a parsed structure. The parsed structure generated from the first set of program code is examined for one or more expressions predetermined to be unsafe for execution. The one or more expressions predetermined to be unsafe for execution that are contained in the first set of program code are detected. In one example, the first set of program code may be a script generated with the JavaScriptâ„¢ scripting language and the second set of program code may be a business process.
    Type: Application
    Filed: February 28, 2011
    Publication date: August 30, 2012
    Applicant: International Business Machines Corporation
    Inventors: Matthew Jason Duftler, Douglas Charles Lovell
  • Patent number: 8255888
    Abstract: Methods and apparatus, including computer program products, for developing an application. The development includes the use of a data model (e.g., a metamodel represented using UML) from which an API is derived. The API can include features derived from customizable extensions within the data model.
    Type: Grant
    Filed: September 30, 2003
    Date of Patent: August 28, 2012
    Assignee: SAP AG
    Inventors: Stefan Jesse, Johannes Lauterbach
  • Publication number: 20120216178
    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: Application
    Filed: April 27, 2012
    Publication date: August 23, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Wolfgang Gellerich, Andreas Krebbel
  • Patent number: 8245204
    Abstract: Managing program function parameters using compiler directives is provided. A parameter management system can include a compiler coupled to a primary symbol-type dictionary and a supplemental symbol-type dictionary containing parameter data for specific function calls of corresponding generic type functions. Notably, directive processing logic can be configured both to populate the supplemental symbol-type dictionary based upon processor directives embedded in source code, and also to substitute specific function calls for generic function calls in the source code as specified in the supplemental symbol-type dictionary.
    Type: Grant
    Filed: December 31, 2007
    Date of Patent: August 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ying Chau Raymond Mak, Wang Dong Chen, Larry Alexander Lindsay
  • Patent number: 8239842
    Abstract: Modified compilers and other development tools provide implied line continuation within a sequence of syntax tokens of a programming language grammar which includes multiple semantic contexts and which uses line termination as presumptive statement termination. When source code parsing encounters a line terminator adjacent a context-dependent implicit line continuation token in an associated semantic context, an explicit decision is made whether to imply line continuation. Line continuation may also be implied in response to other specified tokens.
    Type: Grant
    Filed: February 24, 2009
    Date of Patent: August 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Avner Aharoni, Timothy Yat Tim Ng, David N. Schach, Paul Allen Vick, Jr., Lisa Feigenbaum, Sophia Salim, Henricus Johannes Maria Meijer, Jonathan Paul Aneja, Joseph Tyler Whitney
  • Publication number: 20120192163
    Abstract: Apparatus, systems, and methods for a compiler are described. One such compiler converts source code into an automaton comprising states and transitions between the states, wherein the states in the automaton include a special purpose state that corresponds to a special purpose hardware element. The compiler converts the automaton into a netlist, and places and routes the netlist to provide machine code for configuring a target device.
    Type: Application
    Filed: January 24, 2012
    Publication date: July 26, 2012
    Inventors: Paul Glendenning, Junjuan Xu
  • Patent number: 8230405
    Abstract: In an administrative tool environment, user input is supplied to an administrative tool framework for processing. The administrative tool framework maps user input to cmdlet objects. The cmdlet objects describe a grammar for parsing the user input and input objects to obtain expected input parameters. The input objects are emitted by one cmdlet and are available as input to another cmdlet. The input objects may be any precisely parseable input, such as .NET objects, plain strings, XML documents, and the like. The input objects are not live objects. The cmdlets may operate within the same process. Alternatively, one cmdlet may operate locally while another cmdlet operates remotely. The cmdlets may be provided by the administrative tool framework or may be provided by third party developers. The user input may be supplied to the framework via a host cmdlet.
    Type: Grant
    Filed: February 23, 2007
    Date of Patent: July 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Jeffrey P. Snover, Daryl W. Wray, James W. Truher, III, Bruce G. Payette
  • Patent number: 8225288
    Abstract: Some embodiments of the present invention provide a system that tests a software program. During operation, the system creates a behavioral model of the software program using branches, decisions, and options. Next, the system generates a test case from the behavioral model and executes the test case on the software program. Finally, the system analyzes an output of the executed test case to determine a validity of the software program.
    Type: Grant
    Filed: January 29, 2008
    Date of Patent: July 17, 2012
    Assignee: Intuit Inc.
    Inventors: Michael D. Miller, Ryan R. Ulaszek
  • Patent number: 8225299
    Abstract: Program converting methods, apparatus and systems including a code analysis unit for performing lexical and syntactic analyses of a source code of an execution program, an optimization unit for transforming this execution program, and an output code generation unit for converting the transformed execution program into a machine language code. In addition, this optimization unit detects a calling procedure and a called procedure in a procedure call of this execution program analyzed by the code analysis unit, guards an evaluation of an argument described in the called procedure under a predetermined evaluation condition, and transforms the execution program so that the evaluation is performed when referring to this argument.
    Type: Grant
    Filed: November 26, 2007
    Date of Patent: July 17, 2012
    Assignee: International Business Machines Corporation
    Inventor: Mikio Takeuchi
  • Patent number: 8225298
    Abstract: A method, system and computer program product for enabling automated analysis of an extracted eScript to identify one or more problems within a configuration and script. The eScript is extracted from a Siebel repository and received in a DAVID (Development Application Verification Information on Demand for Siebel application where the VB.NET application, called SiebelParser, is utilized to conduct the analysis of the eScript. Occurrences of issues within an eScript are detected by SiebelParser. Issues within the eScript may include one or more of: empty event handlers, explicit object release, setting field values utilizing hard coded values, unnecessarily activated fields, call to next record after a call to delete record, and functions containing unnecessary code. Results from the analysis are reported to one log file document. The results of SiebelParser's log file are later incorporated to a spreadsheet by DAVID, to provide a more readable output format.
    Type: Grant
    Filed: November 6, 2008
    Date of Patent: July 17, 2012
    Assignee: International Business Machines Corporation
    Inventor: Oliver Derek Alexander Seiffert
  • Patent number: 8219972
    Abstract: An Extensible Markup Language (XML) Application Server for storing, processing, communicating, and displaying dynamic semi-structured information. It comprises a declarative specification language, a transactional indexed XML data store, and an XML application server engine. An integrated architecture (a) provides for optimization, indexing, and backtracking search in a business logic layer, (b) provides for general-purpose programming idioms including recursive function definitions, iteration, and dynamic dispatch in data layer queries and updates, and (c) eliminates processing overhead and maintenance issues caused by transforming between relational, object-oriented, and semi-structured data paradigms.
    Type: Grant
    Filed: February 24, 2009
    Date of Patent: July 10, 2012
    Inventor: Judson Ames Cornish
  • Patent number: 8214810
    Abstract: A method of compiling source code, involving a pre-processing step for including at least one additional source code file into the source code prior to generating target code from the source code. The proposed method further comprises the steps of: establishing, during the pre-processing step, at least one network connection to at least one remote server; and downloading the additional source code file from the remote server.
    Type: Grant
    Filed: August 28, 2007
    Date of Patent: July 3, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mark Dettinger, Andreas Krebbel
  • Publication number: 20120167065
    Abstract: A compiler compiler system with a design paradigm different from traditional compiler compiler systems in many aspects. First, instead of parsing tree, compiler compiler runtime and binary are designed according to compiler compiler parsing model. Second, any semantics processing is totally separated from syntax processing. Third, the whole compilation process is defined as syntax processing and semantics processing followed by syntax processing performed under compiler compiler management supervision. Fourth, syntax processing has two phases: building compiler compiler runtime, and converting compiler compiler runtime into compiler compiler binary with available option to convert back compiler compiler binary to compiler compiler runtime. Fifth, compiler compiler runtime and binary syntax-controlled APIs are defined in terms of syntax. Sixth, there are formal methods de-compiling compiler compiler runtime and/or binary into original program text accordingly to syntax.
    Type: Application
    Filed: December 27, 2010
    Publication date: June 28, 2012
    Inventor: Aleksandr F. Urakhchin
  • Patent number: 8209662
    Abstract: Various technologies and techniques are disclosed for retargeting applications to different types. A development environment is provided for writing software. Input is received from a user to write application logic for a project. The user selects an option to save the project as a particular type of project. The application logic is wrapped with metadata appropriate for the particular type of project and at least one resulting file is created. The system determines if the resulting file needs compiled, and if so, compiles the resulting file into a compiled application. A second selection can be received from the user to save the project as a second type. In such a case, the application logic is wrapped with metadata appropriate for the second type of project and at least one resulting file is created.
    Type: Grant
    Filed: December 4, 2006
    Date of Patent: June 26, 2012
    Assignee: Microsoft Corporation
    Inventors: Adam D. Nathan, John I. Montgomery
  • Publication number: 20120137276
    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: Application
    Filed: February 7, 2012
    Publication date: May 31, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: STEPHEN JAMES TODD
  • Patent number: 8185881
    Abstract: Pointer analysis is used for different applications, e.g., compilers, debugging tools and programs understanding tools, each having different requirements. A framework for pointer analysis is provided that defines a multidimensional space, for example a three-dimensional space, containing an order sensitivity dimension, a predicate sensitivity dimension and a value persistence dimension. A point in the three-dimensional space is identified. This point yields values for order sensitivity, predicate sensitivity and value persistence. Pointer analysis is then conducted on a computer program in accordance with the identified values for order sensitivity, predicate sensitivity and value persistence.
    Type: Grant
    Filed: June 19, 2007
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventors: Daniel Brand, Marcio Buss, Vugranam C Sreedhar
  • Patent number: 8181105
    Abstract: Statistical information about instance documents and schema information are used to integrate multiple state transitions that enable sectioning of a structure document, thereby generating an optimum automaton. In integrating state transitions, consecutively matching state transitions are held in the form of an ID list, which is then used to count the number of consecutive state transitions. Furthermore, patterns in the number of occurrences of repetitive elements including nested elements are statistically obtained. Variations of blanks in XML are addressed by using a statistical method. Schema information is used to build an automaton beforehand, thereby initialization overhead of the syntax parsing apparatus is reduced.
    Type: Grant
    Filed: April 3, 2008
    Date of Patent: May 15, 2012
    Assignee: International Business Machines Corporation
    Inventors: Toyotaro Suzumura, Michiaki Tatsubori, Naohiko Uramoto
  • Patent number: 8181167
    Abstract: The present invention provides a method and system for producing intermediate representation of source code listings with possibly mixed syntaxes to assist software development applications in presenting and analyzing the source code listings through reading the intermediate representation. A source code processor calls Application Programming Interfaces (APIs) to preserve source code information, which includes intermediate representation data sets and is preferably stored in a file-based repository. The source code processor is of a compiler, a preprocessor, a parser, or a comment document processor. The data sets capture lexical, syntax and semantic information of source code construct elements, and comprise of location, processor identification, construct category, and attribute data.
    Type: Grant
    Filed: January 9, 2008
    Date of Patent: May 15, 2012
    Inventor: Kan Zhao
  • Patent number: 8176477
    Abstract: A method, system and program product for optimizing emulation of a suspected malware. The method includes identifying, using an emulation optimizer tool, whether an instruction in a suspected malware being emulated by an emulation engine in a virtual environment signifies a long loop and, if so, generating a first hash for the loop. Further, the method includes ascertaining whether the first hash generated matches any long loop entries in a storage and, if so calculating a second hash for the long loop. Furthermore, the method includes inspecting any long loop entries ascertained to find an entry having a respective second hash matching the second hash calculated. If an entry matching the second hash calculated is found, the method further includes updating one or more states of the emulation engine, such that, execution of the long loop of the suspected malware is skipped, which optimizes emulation of the suspected malware.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: May 8, 2012
    Assignee: International Business Machines Corporation
    Inventor: Ji Yan Wu
  • Publication number: 20120110559
    Abstract: A method for processing computer program code to enable different parts of the computer program code to be executed by different processing elements of a plurality of communicating processing elements. The method comprises identifying at least one first part of the computer program code, which is to be executed by a particular one of said processing elements. The method further comprises identifying at least one further part of the computer code which is related to the at least one first part of the computer code. The at least one first part of the computer program code and the at least one further part of the computer program code are caused to be executed by the particular one of said processing elements.
    Type: Application
    Filed: June 11, 2010
    Publication date: May 3, 2012
    Applicant: Codeplay Software Limited
    Inventors: Jens-Uwe Dolinsky, Andrew Richards, Colin Riley
  • Patent number: 8171395
    Abstract: A method for interfacing with an XML (Extensible Markup Language) parser generator to generate deserialization information interleaved with XML parsing and validation, including: providing an XML parser generator with information about the schema which the instance data conforms to; providing a data reporting application programming interface (API) and a generator module; providing one or more implementations of the data reporting API; providing the XML parser generator with a selected data reporting API implementation module; generating an XML parser to parse and validate instance documents conforming to the specified input schema and deserializing the instance documents into the desired deserialization format during the parse.
    Type: Grant
    Filed: May 30, 2008
    Date of Patent: May 1, 2012
    Assignee: International Business Machines Corporation
    Inventors: Margaret Gaitatzes Kostoulas, Moshe E. Matsa, Martha A. Mercaldi, Eric Perkins
  • Patent number: 8171462
    Abstract: A user declarative language for formatted data processing is provided. The user declarative language may be used to generate constraints which can be projected onto a string according to one or more anchor points. The constraints can correspond to evaluation criteria. At least a portion of a string can be evaluated according to the evaluation criteria.
    Type: Grant
    Filed: April 21, 2006
    Date of Patent: May 1, 2012
    Assignee: Microsoft Corporation
    Inventors: David Ahs, Jordi Mola Marti
  • Publication number: 20120102472
    Abstract: A method is provided for allowing programmers to specify program execution control semantics using standard programming language syntax even when the standard language does not provide a language construct for specifying execution control. In a similar manner, the approach provides programmers the ability to extend the expressiveness of a language by introducing statements expressed in the syntax of a target programming language. A program written in a first programming language may be translated into statements of a second programming language, where the target programming language is more expressive than the first. This language-based approach preserves the standard syntax of the first programming language, allowing a program written with semantic extensions to be compiled and run according to the standard on any standards-compliant system.
    Type: Application
    Filed: October 26, 2010
    Publication date: April 26, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Zhe Wu, Vladimir Kolovski
  • Patent number: 8166465
    Abstract: A method for assembling a stream processing application in which data source descriptions, component descriptions and a stream processing request are input and used to assemble a stream processing graph. Each of the data source descriptions includes a graph pattern that semantically describes an output of a data source, each of the component descriptions includes a graph pattern that semantically describes an input of a component and a graph pattern that semantically describes an output of the component, the stream processing request includes a goal that is represented by a graph pattern that semantically describes a desired stream processing outcome and the stream processing graph includes at least one data source or at least one component that satisfies the desired processing outcome.
    Type: Grant
    Filed: April 2, 2007
    Date of Patent: April 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mark D. Feblowitz, Zhen Liu, Anand Ranganathan, Anton V. Riabov
  • Patent number: 8161467
    Abstract: A compiler includes a register allocator for allocating registers for instructions in a program to be compiled, and a code generator for generating object code based on the register allocation results performed by the register allocator. The register allocator allocates logical registers for instructions in the program to be compiled. The register allocation further allocates, to physical registers, the logical registers that are allocated to the instructions of the program, so that the physical registers that are live at a procedure call in the program to be compiled are allocated from the bottom of the register stack.
    Type: Grant
    Filed: October 31, 2007
    Date of Patent: April 17, 2012
    Assignee: International Business Machines Corporation
    Inventors: Akira Koseki, Mikio Takeuchi, Hideaki Komatsu
  • Patent number: 8161468
    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 13, 2008
    Date of Patent: April 17, 2012
    Assignee: International Business Machines Corporation
    Inventor: Stephen James Todd
  • Patent number: 8156559
    Abstract: To achieve end-to-end security, traditional machine-to-machine security measures are insufficient if the integrity of the graphical user interface (GUI) is compromised. GUI logic flaws are a category of software vulnerabilities that result from logic flaws in GUI implementation. The invention described here is a technology for uncovering these flaws using a systematic reasoning approach. Major steps in the technology include: (1) mapping a visual invariant to a program invariant; (2) formally modeling the program logic, the user actions and the execution context, and systematically exploring the possibilities of violations of the program invariant; (3) finding real spoofing attacks based on the exploration.
    Type: Grant
    Filed: November 30, 2006
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Shuo Chen, Jose Meseguer, Ralf Sasse, Jiahe Helen Wang, Yi-Min Wang
  • Patent number: 8156483
    Abstract: A method and system of detecting vulnerabilities in source code. Source code is parsed into an intermediate representation. Models (e.g., in the form of lattices) are derived for the variables in the code and for the variables and/or expressions used in conjunction with routine calls. The models are then analyzed in conjunction with pre-specified rules about the routines to determine if the routine call posses one or more of pre-selected vulnerabilities.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: April 10, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ryan J. Berg, Larry Rose, John Peyton, John J. Danahy, Robert Gottlieb, Chris Rehbein
  • Patent number: 8156472
    Abstract: A reflective process algebra called the ?-calculus facilitates the serialization of processes at the level of the reflective process algebra. The reflective process algebra because of its reflective properties, can be used on computing systems with finite resources. The reflective process calculus can be made to be sensitive to resources, such as memory and bandwidth, hence facilitating its use as a programming language at the machine level. The reflective process calculus causes the dual nature of a computation entity to be exposed. A name can be caused to become a process and a process can be caused to become a name.
    Type: Grant
    Filed: March 30, 2004
    Date of Patent: April 10, 2012
    Assignee: Microsoft Corporation
    Inventors: L. Gregory Meredith, Allen L. Brown, Jr., David Richter, George Moore
  • Patent number: 8156474
    Abstract: A method, system, and computer program product are disclosed for automatic test generation for a compiler. In one approach, the method, system and computer program product represent a test case for the compiler in a structure with one or more elements of a programming language, associate at least one syntactic rule and semantic rule with the one or more elements in the structure, create a test with the structure compiling the test with the compiler, and display results of the test.
    Type: Grant
    Filed: December 28, 2007
    Date of Patent: April 10, 2012
    Assignee: Cadence Design Systems, Inc.
    Inventors: Marat Teplitsky, Meir Ovadia, Noa Gradovich
  • Patent number: 8151252
    Abstract: A computer program is speculatively parallelized with transactional memory by scoping program variables at compile time, and inserting code into the program at compile time. Determinations of the scoping can be based on whether scalar variables being scoped are involved in inter-loop non-reduction data dependencies, are used outside loops in which they were defined, and at what point in a loop a scalar variable is defined. The inserted code can include instructions for execution at a run time of the program to determine loop boundaries of the program, and issue checkpoint instructions and commit instructions that encompass transaction regions in the program. A transaction region can include an original function of the program and a spin-waiting loop with a non-transactional load, wherein the spin-waiting loop is configured to wait for a previous thread to commit before the current transaction commits.
    Type: Grant
    Filed: February 22, 2008
    Date of Patent: April 3, 2012
    Assignee: Oracle America, Inc.
    Inventors: Yonghong Song, Xiangyun Kong, Spiros Kalogeropulos, Partha P. Tirumalai
  • Patent number: 8151253
    Abstract: Efficient generation of executable file from program files when some of the program files expressly incorporate other program files. In an embodiment, dependency information representing which program files (conditionally or unconditionally) incorporate other program files is generated and stored in a secondary (non-volatile) storage. When some program files are modified, the dependency information is used to identify for recompilation all the program files that incorporate any of the modified program files. The modified program files and the identified program files are recompiled and the executable file is regenerated.
    Type: Grant
    Filed: May 9, 2006
    Date of Patent: April 3, 2012
    Assignee: Oracle International Corporation
    Inventors: Mrinal Sharma, Shelendra Singh, Vivek Sam Sunder Raj
  • Patent number: 8150862
    Abstract: In a method and system for collecting event information, XML documents specifying event parsing logic for respective groups of related events are loaded. Representations for the parsing logic contained in the plurality of XML documents are stored in one or more parsing trees. Events are received, including events in a plurality of groups of events. The received events are processed in accordance with the event parsing logic in the one or more parsing trees. The received events are also processed in accordance with stored program instructions that are independent of the parsing logic for the plurality of groups of events. Event information for the received events is stored. The stored event information includes information determined in accordance with the event parsing logic in at least one or more parsing trees.
    Type: Grant
    Filed: March 11, 2010
    Date of Patent: April 3, 2012
    Assignee: Accelops, Inc.
    Inventors: Partha Bhattacharya, Sheng Chen, Hongbo Zhu
  • Publication number: 20120079464
    Abstract: A query specified in a source programming language can be analyzed as a function of a type-based state machine that encodes query constraints of a target programming language. The type-based state machine can encode such constraints as types representing states and methods representing transitions between states or types.
    Type: Application
    Filed: September 27, 2010
    Publication date: March 29, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Bart De Smet, Henricus Johannes Maria Meijer
  • Publication number: 20120079463
    Abstract: A computer-implemented method of generating output computer code, for an application executable via a server running application logic in communication with a client running a presentation layer for the application, from input computer code of a synchronous application in which logic and presentation layers run locally on a single computer. The output code runs asynchronously.
    Type: Application
    Filed: September 26, 2011
    Publication date: March 29, 2012
    Applicant: GROUP BUSINESS SOFTWARE AG
    Inventors: Nathan T. Freeman, Colin MaCdonald, Tim Tripcony
  • Publication number: 20120072891
    Abstract: In one embodiment, a compiler parses a function call that invokes a function and a first symbol associated with the function call; and in response to the first symbol, generates a first set of code that, when executed, determines whether the function is associated with an activity; and if the function is associated with an activity, then: creates a first callback function for the activity; and associates the first callback function with the activity so that the first callback function is automatically invoked when the activity is completed.
    Type: Application
    Filed: September 17, 2010
    Publication date: March 22, 2012
    Inventor: Joseph Raymond Hewitt
  • Patent number: 8141059
    Abstract: A method/system for avoiding software conflicts, with library being divided into layer 1 to layer M and M?1.
    Type: Grant
    Filed: December 22, 2006
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Yong Ding, Xiao Bing Guo, Hui Su, Zhepeng Wang, Shiwan Zhao
  • Patent number: 8141069
    Abstract: A method for generating an executable workflow code from an unstructured cyclic process model comprises the following steps. First, the unstructured cyclic process model is transformed into a preliminary workflow code. Then, from the preliminary workflow code the executable workflow code is generated by eliminating unstructured cycles.
    Type: Grant
    Filed: October 1, 2008
    Date of Patent: March 20, 2012
    Assignee: International Business Machines Corporation
    Inventor: Jana Koehler
  • Patent number: 8140445
    Abstract: A method to add expression level fuzzy rule processing capability to existing crisp rule engine without requiring extensive modifications to such rule engine. A system and computer implemented method receive a data set at a crisp rule engine. If the data set involves a fuzzy rule, a callback to a fuzzy rule broker is done. The fuzzy rule broker selects one of multiple tailored processing modules for processing the fuzzy rule. The result of processing the fuzzy rule may be converted to a crisp result and returned to the crisp rule engine.
    Type: Grant
    Filed: May 20, 2008
    Date of Patent: March 20, 2012
    Assignee: CA, Inc.
    Inventor: Zhuo Meng
  • Patent number: 8132151
    Abstract: Disclosed are apparatus and methods for performing actions with respect to objects. An object having an action tag, that specifies that a particular action script is to be performed with respect to the object, is provided. The action tag can be in the form of a textual label or any suitable user interface object that can be associated with the object. A search is then performed in a plurality of reference action tags, that each correspond to a different action script, for the provided action tag. When a matching reference action tag is found for the provided action tag, the corresponding, matching action script is then invoked so that the matching action script is automatically performed with respect to the object.
    Type: Grant
    Filed: July 18, 2006
    Date of Patent: March 6, 2012
    Assignee: Yahoo! Inc.
    Inventors: Shane P. Ahern, Alexander B. Jaffe, Simon P. King, Mor Naaman, Rahul Nair, Jeannie Hui-I Yang
  • Patent number: 8120610
    Abstract: A system traverses a directed cyclic graph to discover a relationship between a first object and a second object, and creates an alias. The alias represents the second object. The system replaces the relationship between the first object and the second object with the created alias, and creates a reference from the first object to the alias.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: February 21, 2012
    Assignee: Adobe Systems Incorporated
    Inventor: Norman A. Stratton
  • Patent number: 8112430
    Abstract: A system for modifying a rule base for use in processing data, wherein an instance of an entity comprises associated data, for use with a parser for identifying a first instance of an entity in data associated with a document set in accordance with a first rule and for using the first instance of the entity to identify a second instance of the entity in the data associated with the document set. The system comprises an accessor for accessing data associated with the second instance of the entity; and a generator for using the data associated with the second instance of the entity to generate a second rule.
    Type: Grant
    Filed: October 19, 2006
    Date of Patent: February 7, 2012
    Assignee: International Business Machines Corporation
    Inventor: Graham Anthony Bent