Parsing, Syntax Analysis, And Semantic Analysis Patents (Class 717/143)
-
Patent number: 8281294Abstract: 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: GrantFiled: November 12, 2007Date of Patent: October 2, 2012Assignee: NVIDIA CorporationInventors: Julius Vanderspek, Nicholas Patrick Wilt, Jayant Kolhe, Ian A. Buck, Bastiaan Aarts
-
Patent number: 8281290Abstract: 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: GrantFiled: January 31, 2008Date of Patent: October 2, 2012Assignee: Alcatel LucentInventor: Gerald R. Thompson
-
Patent number: 8276064Abstract: 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: GrantFiled: May 7, 2007Date of Patent: September 25, 2012Assignee: International Business Machines CorporationInventors: Abraham Heifets, Joseph J. Kesselman, Eric David Perkins
-
Patent number: 8276130Abstract: 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: GrantFiled: August 1, 2008Date of Patent: September 25, 2012Assignee: International Business Machines CorporationInventors: Wenjun Wang, Zhou Wu, Xin Zhong, Zheng Wang
-
Publication number: 20120233601Abstract: 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: ApplicationFiled: May 1, 2012Publication date: September 13, 2012Applicant: CONCURIX CORPORATIONInventors: Alexander G. Gounares, Charles D. Garrett
-
Patent number: 8266603Abstract: 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: GrantFiled: June 4, 2008Date of Patent: September 11, 2012Assignee: International Business Machines CorporationInventors: Tatsushi Inagaki, Hideaki Komatsu, Takuya Nakaike, Rei Odaira
-
Patent number: 8261247Abstract: 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: GrantFiled: October 1, 2008Date of Patent: September 4, 2012Assignee: Oracle International CorporationInventor: Jeffrey Brian Arnold
-
Publication number: 20120222021Abstract: 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: ApplicationFiled: May 9, 2012Publication date: August 30, 2012Inventor: KAN ZHAO
-
Publication number: 20120222020Abstract: 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: ApplicationFiled: February 28, 2011Publication date: August 30, 2012Applicant: International Business Machines CorporationInventors: Matthew Jason Duftler, Douglas Charles Lovell
-
Patent number: 8255888Abstract: 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: GrantFiled: September 30, 2003Date of Patent: August 28, 2012Assignee: SAP AGInventors: Stefan Jesse, Johannes Lauterbach
-
Publication number: 20120216178Abstract: 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: ApplicationFiled: April 27, 2012Publication date: August 23, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Wolfgang Gellerich, Andreas Krebbel
-
Patent number: 8245204Abstract: 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: GrantFiled: December 31, 2007Date of Patent: August 14, 2012Assignee: International Business Machines CorporationInventors: Ying Chau Raymond Mak, Wang Dong Chen, Larry Alexander Lindsay
-
Patent number: 8239842Abstract: 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: GrantFiled: February 24, 2009Date of Patent: August 7, 2012Assignee: Microsoft CorporationInventors: 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: 20120192163Abstract: 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: ApplicationFiled: January 24, 2012Publication date: July 26, 2012Inventors: Paul Glendenning, Junjuan Xu
-
Patent number: 8230405Abstract: 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: GrantFiled: February 23, 2007Date of Patent: July 24, 2012Assignee: Microsoft CorporationInventors: Jeffrey P. Snover, Daryl W. Wray, James W. Truher, III, Bruce G. Payette
-
Patent number: 8225288Abstract: 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: GrantFiled: January 29, 2008Date of Patent: July 17, 2012Assignee: Intuit Inc.Inventors: Michael D. Miller, Ryan R. Ulaszek
-
Patent number: 8225299Abstract: 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: GrantFiled: November 26, 2007Date of Patent: July 17, 2012Assignee: International Business Machines CorporationInventor: Mikio Takeuchi
-
Patent number: 8225298Abstract: 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: GrantFiled: November 6, 2008Date of Patent: July 17, 2012Assignee: International Business Machines CorporationInventor: Oliver Derek Alexander Seiffert
-
Patent number: 8219972Abstract: 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: GrantFiled: February 24, 2009Date of Patent: July 10, 2012Inventor: Judson Ames Cornish
-
Patent number: 8214810Abstract: 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: GrantFiled: August 28, 2007Date of Patent: July 3, 2012Assignee: International Business Machines CorporationInventors: Mark Dettinger, Andreas Krebbel
-
Publication number: 20120167065Abstract: 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: ApplicationFiled: December 27, 2010Publication date: June 28, 2012Inventor: Aleksandr F. Urakhchin
-
Patent number: 8209662Abstract: 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: GrantFiled: December 4, 2006Date of Patent: June 26, 2012Assignee: Microsoft CorporationInventors: Adam D. Nathan, John I. Montgomery
-
Publication number: 20120137276Abstract: 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: ApplicationFiled: February 7, 2012Publication date: May 31, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: STEPHEN JAMES TODD
-
Patent number: 8185881Abstract: 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: GrantFiled: June 19, 2007Date of Patent: May 22, 2012Assignee: International Business Machines CorporationInventors: Daniel Brand, Marcio Buss, Vugranam C Sreedhar
-
Patent number: 8181105Abstract: 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: GrantFiled: April 3, 2008Date of Patent: May 15, 2012Assignee: International Business Machines CorporationInventors: Toyotaro Suzumura, Michiaki Tatsubori, Naohiko Uramoto
-
Patent number: 8181167Abstract: 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: GrantFiled: January 9, 2008Date of Patent: May 15, 2012Inventor: Kan Zhao
-
Patent number: 8176477Abstract: 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: GrantFiled: September 14, 2007Date of Patent: May 8, 2012Assignee: International Business Machines CorporationInventor: Ji Yan Wu
-
Publication number: 20120110559Abstract: 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: ApplicationFiled: June 11, 2010Publication date: May 3, 2012Applicant: Codeplay Software LimitedInventors: Jens-Uwe Dolinsky, Andrew Richards, Colin Riley
-
Patent number: 8171395Abstract: 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: GrantFiled: May 30, 2008Date of Patent: May 1, 2012Assignee: International Business Machines CorporationInventors: Margaret Gaitatzes Kostoulas, Moshe E. Matsa, Martha A. Mercaldi, Eric Perkins
-
Patent number: 8171462Abstract: 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: GrantFiled: April 21, 2006Date of Patent: May 1, 2012Assignee: Microsoft CorporationInventors: David Ahs, Jordi Mola Marti
-
Publication number: 20120102472Abstract: 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: ApplicationFiled: October 26, 2010Publication date: April 26, 2012Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Zhe Wu, Vladimir Kolovski
-
Patent number: 8166465Abstract: 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: GrantFiled: April 2, 2007Date of Patent: April 24, 2012Assignee: International Business Machines CorporationInventors: Mark D. Feblowitz, Zhen Liu, Anand Ranganathan, Anton V. Riabov
-
Patent number: 8161467Abstract: 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: GrantFiled: October 31, 2007Date of Patent: April 17, 2012Assignee: International Business Machines CorporationInventors: Akira Koseki, Mikio Takeuchi, Hideaki Komatsu
-
Patent number: 8161468Abstract: 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: GrantFiled: February 13, 2008Date of Patent: April 17, 2012Assignee: International Business Machines CorporationInventor: Stephen James Todd
-
Patent number: 8156559Abstract: 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: GrantFiled: November 30, 2006Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventors: Shuo Chen, Jose Meseguer, Ralf Sasse, Jiahe Helen Wang, Yi-Min Wang
-
Patent number: 8156483Abstract: 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: GrantFiled: June 27, 2008Date of Patent: April 10, 2012Assignee: International Business Machines CorporationInventors: Ryan J. Berg, Larry Rose, John Peyton, John J. Danahy, Robert Gottlieb, Chris Rehbein
-
Patent number: 8156472Abstract: 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: GrantFiled: March 30, 2004Date of Patent: April 10, 2012Assignee: Microsoft CorporationInventors: L. Gregory Meredith, Allen L. Brown, Jr., David Richter, George Moore
-
Patent number: 8156474Abstract: 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: GrantFiled: December 28, 2007Date of Patent: April 10, 2012Assignee: Cadence Design Systems, Inc.Inventors: Marat Teplitsky, Meir Ovadia, Noa Gradovich
-
Patent number: 8151252Abstract: 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: GrantFiled: February 22, 2008Date of Patent: April 3, 2012Assignee: Oracle America, Inc.Inventors: Yonghong Song, Xiangyun Kong, Spiros Kalogeropulos, Partha P. Tirumalai
-
Patent number: 8151253Abstract: 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: GrantFiled: May 9, 2006Date of Patent: April 3, 2012Assignee: Oracle International CorporationInventors: Mrinal Sharma, Shelendra Singh, Vivek Sam Sunder Raj
-
Patent number: 8150862Abstract: 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: GrantFiled: March 11, 2010Date of Patent: April 3, 2012Assignee: Accelops, Inc.Inventors: Partha Bhattacharya, Sheng Chen, Hongbo Zhu
-
Publication number: 20120079464Abstract: 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: ApplicationFiled: September 27, 2010Publication date: March 29, 2012Applicant: MICROSOFT CORPORATIONInventors: Bart De Smet, Henricus Johannes Maria Meijer
-
Publication number: 20120079463Abstract: 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: ApplicationFiled: September 26, 2011Publication date: March 29, 2012Applicant: GROUP BUSINESS SOFTWARE AGInventors: Nathan T. Freeman, Colin MaCdonald, Tim Tripcony
-
Publication number: 20120072891Abstract: 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: ApplicationFiled: September 17, 2010Publication date: March 22, 2012Inventor: Joseph Raymond Hewitt
-
Patent number: 8141059Abstract: A method/system for avoiding software conflicts, with library being divided into layer 1 to layer M and M?1.Type: GrantFiled: December 22, 2006Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventors: Yong Ding, Xiao Bing Guo, Hui Su, Zhepeng Wang, Shiwan Zhao
-
Patent number: 8141069Abstract: 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: GrantFiled: October 1, 2008Date of Patent: March 20, 2012Assignee: International Business Machines CorporationInventor: Jana Koehler
-
Patent number: 8140445Abstract: 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: GrantFiled: May 20, 2008Date of Patent: March 20, 2012Assignee: CA, Inc.Inventor: Zhuo Meng
-
Patent number: 8132151Abstract: 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: GrantFiled: July 18, 2006Date of Patent: March 6, 2012Assignee: Yahoo! Inc.Inventors: Shane P. Ahern, Alexander B. Jaffe, Simon P. King, Mor Naaman, Rahul Nair, Jeannie Hui-I Yang
-
Patent number: 8120610Abstract: 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: GrantFiled: March 15, 2006Date of Patent: February 21, 2012Assignee: Adobe Systems IncorporatedInventor: Norman A. Stratton
-
Patent number: 8112430Abstract: 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: GrantFiled: October 19, 2006Date of Patent: February 7, 2012Assignee: International Business Machines CorporationInventor: Graham Anthony Bent