Parsing, Syntax Analysis, And Semantic Analysis Patents (Class 717/143)
-
Patent number: 8555260Abstract: In some embodiments, the execution of load and store instructions for internal fields of data structures is accelerated by using on-chip template registers and appropriate machine code instructions. A load/store machine code instruction comprises an identifier of a memory address offset of an internal field word relative to a base address of the data structure, an identifier of an intra-word start bit of the internal field, and an identifier of an intra-word length of the internal field. The three identifiers may coincide, for example if the three identifiers are represented by an identity of a template register storing a template entry including the memory address offset, the start position, and the field length. The three identifiers may also be provided as part of a machine code instruction itself. Further provided are compilers, compiler methods, and hardware systems for implementing accelerated internal-field load and store operations.Type: GrantFiled: December 3, 2007Date of Patent: October 8, 2013Assignee: QLogic CorporationInventors: Govind Kizhepat, Kenneth Y. Y. Choy, Suresh Kadiyala
-
Patent number: 8555261Abstract: A system and method for parsing XML is provided. The method includes associating an input stream with a pull model parser, accepting requests to selectively parse out XML items from the input stream and retrieving metadata information associated with the parsed out XML items. The method further includes checking the pulled XML item to determine whether it conforms to XML syntax and/or semantic standards and validating the pulled XML item to determine whether it conforms to a selected DTD.Type: GrantFiled: June 28, 2001Date of Patent: October 8, 2013Assignee: Microsoft CorporationInventors: Anders Hejlsberg, Christopher J. Lovett, Matthew J. Warren, Chia-Hsun Chen, Mark W. Fussell, Neetu Rajpal
-
Patent number: 8555263Abstract: A system is provided for computer application code automation comprising a code automation computer server configured for presenting an electronic user interface for receiving user input for generating a Structured Query Language (SQL) query, the user input comprising a plurality of SQL tokens, a processor, associated with the code automation computer server, for receiving the plurality of SQL tokens, the processor retrieving from memory and executing computer executable instructions for at least one of: (a) optimizing performance of the SQL query while receiving the user input, and (b) error checking the SQL query while receiving the user input, wherein the processor is adapted for automatically incorporating the generated SQL query into the computer application code and storing the computer application code in a non-transitory computer readable medium.Type: GrantFiled: November 24, 2010Date of Patent: October 8, 2013Assignee: Aetna Inc.Inventors: Douglas Allen, Laura Gaulzetti
-
Patent number: 8549494Abstract: Techniques for parsing electronic files are disclosed. In one particular exemplary embodiment, the techniques may be realized as an apparatus for parsing electronic files comprising an input module operable to read one or more electronic files, a syntax element store, associated with one or more syntax elements, a mutation module operable to mutate one or more of the one or more syntax elements and parse the one or more electronic files read from the input module, and an output module operable to create one or more normalized electronic files from the one or more parsed electronic files.Type: GrantFiled: June 28, 2007Date of Patent: October 1, 2013Assignee: Symantec CorporationInventors: Atanu Neogi, David Jay Barbrow
-
Patent number: 8549502Abstract: Performance of a program written in dynamic languages is improved through the use of a compiler that provides type inference for methods having a user-defined element. The user-defined element may be an input in a user-defined type. Though, the user-defined element may reflect that the method is user-defined. Type inference may be performed based on a user-defined mapping, relating input types to output types for one or more methods. The mapping may be specified as a data table provided to the compiler or as one or more functions that register with the compiler such that, as the compiler processes portions of a source program and detects a method with a user-defined element, the compiler may access the mapping and infer the type of an output of the method. The inferred type may then be used to optimize code dependent on that output.Type: GrantFiled: June 21, 2010Date of Patent: October 1, 2013Assignee: Microsoft CorporationInventor: Parry Jones Reginald Husbands
-
Patent number: 8549464Abstract: A reusable expression graph system and method that generates reusable expression graphs that can be used with potentially different input parameters in order to achieve computational efficiency and ease of programming. Reusable expression graph mitigate the need to rebuild an expression for each new value. This is achieved in part by creating a node called a “parameter node.” The parameter node acts as a generic placeholder for a leaf node in the expression graph. In addition, the parameter node acts as a proxy for a bindable term of the leaf node, and the bindable term can be either a value or one or more additional expressions. The parameter node then is bound to the bindable term and the expression is evaluated with that bindable term instead of the placeholder. The parameter node created by embodiments of the reusable expression graph system and method works across many different programming languages.Type: GrantFiled: November 22, 2010Date of Patent: October 1, 2013Assignee: Microsoft CorporationInventors: Barry Clayton Bond, Vivian Sewelson, Daniel Johannes Pieter Leijin, Lubomir Boyanov Litchev
-
Patent number: 8539443Abstract: Analyzing code written in a loosely typed language. User input specifying code for a script may be received. The specified code may be analyzed. More specifically, one or more code portions referenced by the specified code may be determined. Properties of symbols of the specified code and the one or more code portions may also be determined. Additionally, the specified code may be analyzed using the determined properties to determine errors in the specified code. Accordingly, one or more errors may be graphically indicated based on said analyzing. Receiving the user input, analyzing the specified code, and graphically indicating the one or more errors may be performed at edit time.Type: GrantFiled: May 13, 2008Date of Patent: September 17, 2013Assignee: National Instruments CorporationInventors: Rishi H. Gosalia, Jesse M. Attas, Bryan A. Marker
-
Patent number: 8539450Abstract: A system and method for analyzing a concurrent program employ asynchronous function calls for communication and recursion. A control flow graph is constructed based on a context-sensitive pointer analysis, whereupon encountering a function pointer, a points-to set of the function pointer is computed in a context-sensitive fashion to determine a set of potential function calls. The context-sensitive pointer analysis is terminated when no new potential function calls are encountered and where the potential function calls may contribute new data races other than those that exist in the contexts traversed thus far. To decide this, a characterization of pointer aliasing based upon complete update sequences is employed. A set of contexts that may contribute to different data races are enumerated by tracking update sequences for function and lock pointers and pointers that are shared or point to shared memory locations. Data race detection is carried out on the control flow graph.Type: GrantFiled: February 8, 2010Date of Patent: September 17, 2013Assignee: NEC Laboratories America, Inc.Inventors: Vineet Kahlon, Nishant Sinha, Yun Zhang, Eric J. Kruus
-
Patent number: 8539462Abstract: A method of allocating registers for a processor based on cycle information is disclosed. The processor comprises a first cluster and a second cluster. Each cluster comprises a first functional unit, a second functional unit, a first local register file connected to the first functional unit, a second local register file connected to the second register file, and a global register file having a ping-pong structure formed by a first register bank and a second register bank. After building a Component/Register Type Associated Data Dependency Graph (CRTA-DDG), a functional unit assignment, register file assignment, ping-pong register bank assignment, and cluster assignment are performed to take full advantage of the properties of a processor as well as cycle information.Type: GrantFiled: December 21, 2010Date of Patent: September 17, 2013Assignee: National Tsing Hua UniversityInventors: Chung Ju Wu, Yu Te Lin, Jenq Kuen Lee
-
Patent number: 8533694Abstract: A system for identifying read/write chains in computer software, including a static analysis engine identifying within computer software logical container accesses, a string analyzer configured to at least partly resolve any variables identifying the logical container in any of the accesses by determining a set of potential values of any of the variables, and a Logical Container Access Virtualization component (LCAV) configured to identify the type and scope of any permutations of the accesses, where each of the permutations is defined by substituting any of the potential values for any of the access variables, and identify any read/write chains within the computer software by matching any of the access permutations that read from the logical container with any of the access permutations that write to the logical container if there is an intersection between the scopes of the read and write access permutations.Type: GrantFiled: May 30, 2008Date of Patent: September 10, 2013Assignee: International Business Machines CorporationInventors: Marco Pistoia, Takaaki Tateishi, Omer Tripp, Omri Weisman
-
Patent number: 8527962Abstract: A method for promotion of a child procedure in a software application for a heterogeneous architecture, wherein the heterogeneous architecture comprises a first architecture type and a second architecture type, comprises inserting a parameter representing a parallel frame pointer to a parent procedure of the child procedure into the child procedure; and modifying a reference in the child procedure to a stack variable of the parent procedure to include an indirect access to the parent procedure via the parallel frame pointer.Type: GrantFiled: March 10, 2009Date of Patent: September 3, 2013Assignee: International Business Machines CorporationInventors: Raul Silvera, Ettore Tiotto, Guansong Zhang
-
Patent number: 8522219Abstract: A recorder, comprising: a context analyzer configured to associate HTTP transactions of a web application with a web session, wherein the web application executes code on the client side; an extensible document parser configured to parse a document included in the HTTP transactions; a library of parser additions used by the context analyzer to generate a context-full replay instruction; and a script generator configured to record a script including the context-full replay instruction in order to recreate the HTTP transactions in order to simulate use of the web application by a user.Type: GrantFiled: December 17, 2010Date of Patent: August 27, 2013Assignee: Borland Software CorporationInventors: Gunter Schwarzbauer, Helmut Spiegl, Ernst Ambichl, Bernd Greifeneder
-
Patent number: 8522203Abstract: A method for managing script added to an interactive document or fillable, electronic form. The method includes receiving user input for generating a script and then generating a script based on the user input. The method further includes as part of script generation providing a header in the script that includes a management flag or data in a header block indicating that the script is managed, a managed script object, and an edit verification value such as a cyclic redundancy check value. After the script is generated, the method includes parsing the document to determine whether the managed script has been edited or to otherwise verify the script's integrity. The method includes when the script has been edited modifying the management flag to indicate the script is released from script management. Unmanaged editing may be detected by comparing a stored edit verification value with the header value from each snippet.Type: GrantFiled: August 28, 2009Date of Patent: August 27, 2013Assignee: Adobe Systems IncorporatedInventors: Steve Tibbett, Mark C. Leyden
-
Patent number: 8522221Abstract: A method and system for the automatic generation of user guides. Specifically, the method of the present invention includes accessing an abstract processor model of a processor, wherein said abstract processor model is represented using a hierarchical architecture description language (ADL). The abstract processor model includes a plurality of instructions arranged in a hierarchical structure. An internal representation of the abstract processor model is generated by flattening the abstract processor model. The flattening process generates a plurality of rules grouped by common convergent instructions. Each rule describes an instruction path through the hierarchical structure that converges at a corresponding convergent instruction. An instruction-set documentation is automatically generated from the plurality of rules, wherein the instruction-set documentation is arranged convergent instruction by convergent instruction.Type: GrantFiled: August 9, 2011Date of Patent: August 27, 2013Assignee: Synopsys, Inc.Inventors: Gunnar Braun, Andreas Hoffmann, Volker Greive
-
Patent number: 8516457Abstract: 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: GrantFiled: June 28, 2011Date of Patent: August 20, 2013Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
-
Patent number: 8516458Abstract: A computer-programming tool for generating an implementation of a first data structure, the first data structure representing at least a portion of a computer-programming language. The implementation includes a second data structure and implementation rules which define the syntax rules of the first data structure to be enforced in relation to nodes of the second data structure during a subsequent processing operation which utilizes the implementation in order to establish compliance with the syntax rules represented by the first data structure. Links between nodes of the first data structure are representative of paths of inheritance of substitutability but not implementation and interface between those nodes.Type: GrantFiled: February 26, 2009Date of Patent: August 20, 2013Assignee: ITI Scotland LimitedInventors: Neil Stewart, Douglas Little
-
Patent number: 8516442Abstract: A metadata migration tool helps GUI application developers keep track of institutional knowledge that may be lost between application versions. The maintenance and transference of this knowledge from one application version to another aids developers in conforming future applications to restrictions and requirements imposed on previous versions that may not be immediately apparent. The architecture and processes facilitate the migration of this institutional knowledge, thus greatly reducing the time, cost, and resource expenditures spent re-creating similar components in an updated application and updated scripts to test those application components.Type: GrantFiled: February 27, 2008Date of Patent: August 20, 2013Assignee: Accenture Global Services LimitedInventors: Mark Grechanik, Qing Xie, Chen Fu
-
Patent number: 8504984Abstract: In general, the subject matter described in this specification can be embodied in methods, systems, and program products for selecting a first grammar rule in a programming language grammar. The grammar is used for determining a syntax validity of a programming code statement in a text editor and the first grammar rule includes a hard-to-type symbol that is syntactically correct for the programming code statement. A second grammar rule for the grammar is created. The created second grammar rule is substantially identical to the first grammar rule but the hard-to-type symbol is replaced with an easy-to-type symbol that is syntactically incorrect for the programming code statement. An action is associated with the grammar and is performed upon satisfying the second grammar rule. Performance of the second grammar rule causes the easy-to-type symbol in the programming code statement in the text editor to be replaced with the hard-to-type symbol.Type: GrantFiled: May 29, 2009Date of Patent: August 6, 2013Assignee: Google Inc.Inventor: Don Hsi-Yun Yang
-
Patent number: 8505000Abstract: There is described a method of compiling source code for a computer program into corresponding object code. The source code includes several declared variables. The method comprises, for each declared variable in the source code, including in the object code a declaration statement indicating an associated memory location for that variable and indicating the position in the object code of the next declaration statement. During compilation, the memory location for each declared variable can be retrieved from the object code by examining each declaration statement in turn, using the position information from each declaration statement to locate the next declaration statement. This is of particular advantage where the available volatile memory is limited, because there is no requirement for a look-up table of variables against memory locations.Type: GrantFiled: July 24, 2008Date of Patent: August 6, 2013Assignee: Ezurio LimitedInventor: Mahendra Tailor
-
Patent number: 8499292Abstract: A virtual execution environment (VEE) for a streaming Intermediate Language (IL), wherein the streaming IL represents a streaming program, communicates streaming data in queues, stores data-at-rest in variables, and determines data by functions, where inputs are read from the queues and the variables, and outputs are written to the queues and the variables.Type: GrantFiled: March 8, 2010Date of Patent: July 30, 2013Assignee: International Business Machines CorporationInventors: Henrique Andrade, Jim Challenger, Bugra Gedik, Robert Grimm, Martin J. Hirzel, Vibhore Kumar, Robert Soule, Kun-Lung Wu
-
Patent number: 8499286Abstract: In one embodiment, a method for testing adjustment and configuration is disclosed. The method can include accessing source code of a test framework that is configured for testing a module, creating a configuration folder having a property override for a test suite for the module testing, determining a source root folder for the test suite, starting the test framework by passing in an identifier for the test suite, and adding a custom test to the source root folder using the configuration folder to customize the test suite. The method can further include compiling the test framework with each of the plurality of test folders enabled. The method also may use a refactoring tool to make changes in a file within the test framework.Type: GrantFiled: July 27, 2010Date of Patent: July 30, 2013Assignee: salesforce.com, inc.Inventors: Steven S. Lawrance, Marcus Ericsson
-
Patent number: 8495100Abstract: A computer implemented method and computer usable program product for version control of source code. In one embodiment, a source code file is scanned for relationships between source code sections. A semantic graph with dependencies and metadata describing the source code sections is constructed. The dependencies indicate the relationships between the source code sections. If changes are received for the semantic graph, the semantic graph is modified with the changes to form a modified semantic graph.Type: GrantFiled: November 15, 2007Date of Patent: July 23, 2013Assignee: International Business Machines CorporationInventor: Lik Cheung
-
Patent number: 8495591Abstract: Declarations from an input source code are serialized into a stream of tokens produced by following each branch of a preprocessor conditional directive statement that interrupts a declaration. Tokens are labeled with a parsing path indicator corresponding to a parsing path induced by branches of a preprocessor conditional directive. The declarations that are formed along the different parsing paths are serialized by fetching the tokens that belong to the first parsing path in a first pass, and passing the tokens on to a next phase of a compiler. The pointer that marks the next token is repositioned to return to the start of the declaration. The declaration may be serialized again through the second parsing path in a second pass. The operation may be repeated until each of the parsing paths induced by the presence of branches of the preprocessor conditional directives in the source code is exhausted.Type: GrantFiled: December 12, 2011Date of Patent: July 23, 2013Assignee: Microsoft CorporationInventor: Thierry Miceli
-
Patent number: 8495599Abstract: An apparatus and method for power savings are provided. The apparatus includes a register analysis unit and a register change unit. The register analysis unit determines if registers among bit-switching targeted registers are one of changeable and unchangeable. The register change unit searches for a register pair having a minimum bit switching frequency among registers determined to be changeable, and changes at least one register.Type: GrantFiled: October 24, 2008Date of Patent: July 23, 2013Assignee: Samsung Electronics Ltd., Co.Inventor: Il-Hyun Cho
-
Patent number: 8495600Abstract: A method is provided for displaying the properties of a source code element of a computer program being edited. The includes selecting, within the source code, the source code element; searching, within the source code, a set of related code elements of the selected source code element, the elements of the set comprising typified properties; creating a data structure comprising the properties of the code elements of the set of code elements; grouping, within the data structure, the properties in function of their types; displaying the properties grouped within a portion of a display displaying the source code.Type: GrantFiled: February 11, 2010Date of Patent: July 23, 2013Assignee: Compagnie Industrielle et Financiere d'Ingenierie “Ingenico”Inventors: David Naccache, Pavel Polechtchouk
-
Patent number: 8495572Abstract: An apparatus for identifying a contextual change to a source code file, in a development environment, the apparatus including: a detector component for detecting a modification to the source code file; a requester component for retrieving a previous version of the modified source code file; a parser component for parsing a first source code set associated with the source code file and a second source code set associated with the previous version of the source code file and for building an in-memory representation of the first and second source code sets; and a comparator component for comparing the in-memory representation of the first source code set with the in-memory representation of the second source code set in order to generate contextual information identifying a change made to a source code element associated with the modified source code set.Type: GrantFiled: February 5, 2008Date of Patent: July 23, 2013Assignee: International Business Machines CorporationInventor: Olivier Bernin
-
Patent number: 8495602Abstract: The present disclosure includes a shader compiler system and method. In an embodiment, a shader compiler includes a decoder to translate an instruction having a vector representation to a unified instruction representation. The shader compiler also includes an encoder to translate an instruction having a unified instruction representation to a processor executable instruction.Type: GrantFiled: September 28, 2007Date of Patent: July 23, 2013Assignee: QUALCOMM IncorporatedInventors: Lin Chen, Guofang Jiao, Chihong Zhang, Junhong Sun
-
Patent number: 8489388Abstract: A method for detecting data in a sequence of characters or text using both a statistical engine and a pattern engine. The statistical engine is trained to recognize certain types of data and the pattern engine is programmed to recognize the grammatical pattern of certain types of data. The statistical engine may scan the sequence of characters to output first data, and the pattern engine may break down the first data into subsets of data. Alternatively, the statistical engine may output items that have a predetermined probability or greater of being a certain type of data and the pattern engine may then detect the data from the output items and/or remove incorrect information from the output items.Type: GrantFiled: November 10, 2008Date of Patent: July 16, 2013Assignee: Apple Inc.Inventors: Olivier Bonnet, Frederick de Jaeger, Romain Goyet, Jean-Pierre Ciudad
-
Patent number: 8490056Abstract: A system and program product for automatic identification of subroutines from test scripts is disclosed. An instruction class may be coded as a subroutine vector in a vector space model. A test script action may be coded as a test script vector in a vector space model. The test script vector may be compared to the subroutine vector. The test script vector may be identified and labeled. The test script vector may be labeled as a new test script action if the result of comparing is below a threshold value. An identifier may be associated with a new test script action.Type: GrantFiled: April 28, 2010Date of Patent: July 16, 2013Assignee: International Business Machines CorporationInventors: Tessa A. Lau, Jalal U. Mahmud
-
Patent number: 8484620Abstract: A method, apparatus and computer program product are provided for implementing performance impact reduction of watched variables. Source code is parsed and a variable in the source code to be watched is identified. The identified variable is allocated to a predefined page of storage. The predefined page of storage is separated from frequently accessed variables, such as, a page containing least frequently modified variables, a last page associated with a static storage, and a separate page added for receiving the identified variables to be watched.Type: GrantFiled: April 12, 2006Date of Patent: July 9, 2013Assignee: International Business Machines CorporationInventors: Cary Lee Bates, John Matthew Santosuosso
-
Publication number: 20130167128Abstract: A computer implemented method includes receiving a programming language input having a client portion and a server portion, where client symbols of the client input portion are usable in the server input portion and server symbols of the server input portion are usable in the client input portion. The method includes parsing the input to separate the client input portion from the server input portion, identifying the usage of any client symbols in the server input portion and any server symbols in the client input portion, producing at least one communication service between the separated client and server input portions to support the usage of any client symbols in the separated server input portion and any server symbols in the separated client input portion, and translating the client input portion into an executable client application and the server input portion into an executable server application with communication there between.Type: ApplicationFiled: May 29, 2009Publication date: June 27, 2013Applicant: Adobe Systems IncorporatedInventors: Anantharaman P. Narayana Iyer, Daniel Dura, Christian Cantrell
-
Patent number: 8473933Abstract: A system and method for refactoring one or more call sites based on a revised signature. If the original call site is ordered, the refactored call site is generated by sorting the arguments based on the revised signature. Each unnamed argument is selectively changed to a named argument based on whether it is preceded by a named argument and whether its index value matches the index value of its corresponding parameter in the revised signature. If the original call site is unordered, the arguments preceding the first named argument are ordered. New arguments corresponding to new parameters are added and selectively made to be named arguments. New optional arguments may be included or omitted from the refactored call site.Type: GrantFiled: May 12, 2010Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventor: Theodore Yaung
-
Patent number: 8473937Abstract: Selected components of a piece of software serve in a first variant, as variation points, are converted into a first XML code. The software, now in hybrid form, is shipped. The first code is converted on the customer side via one or more transformations, for example SLT, exclusively in accordance with transformation rules into a second XML code. In a second variant, a first XML code containing at least one language extension is converted in accordance with transformation rules into a more easily verifiable second XML code without said language extensions. In a third variant a source code formulated in XML is transformed in such a way that, following a back-conversion into the original programming language, a new source code is produced in which not only the representation, but also the actual program content and/or functionality has been changed.Type: GrantFiled: March 29, 2004Date of Patent: June 25, 2013Assignee: Siemens AktiengesellschaftInventors: Roy Oberhauser, Christian Reichel
-
Patent number: 8473911Abstract: Generation of documentation from a computer readable symbolic representation is described. In an embodiment, a reified version of an input is obtained as coded objects. The input is readable by a programmed computer for execution, and is in an applied form of a symbolic representation of knowledge for a defined domain of knowledge. The reified version is a coded form of the applied form, wherein the coded objects are in a dynamic language. A content sequence library is accessed by the programmed computer responsive to the coded objects to extract content for a document plan. A reasoning library is then accessed by the programmed computer responsive to the content extracted to provide a sequenced organization of phrase structure for the content extracted. A natural language representation of the input is output from a realization of the sequenced organization of phrase structure.Type: GrantFiled: July 23, 2010Date of Patent: June 25, 2013Assignee: Xilinx, Inc.Inventor: Michael A. Baxter
-
Publication number: 20130159981Abstract: A method for forming an extension to a scripting language compiler is disclosed. A compiler of a machine receives a source code that has a new keyword to a scripting language of the compiler. An extension compiler module processes the source code to support the new keyword. The compiler and the extension compiler module generate an executable machine code based on a process of the extension compiler module and the compiler.Type: ApplicationFiled: December 15, 2011Publication date: June 20, 2013Applicant: SAP AGInventors: Oliver Klemenz, Andreas Mueller, Anna Kabala, Lu Zhao
-
Publication number: 20130152062Abstract: 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: ApplicationFiled: December 14, 2012Publication date: June 13, 2013Applicant: Veracode, Inc.Inventor: Veracode, Inc.
-
Publication number: 20130152061Abstract: An augmented parser can create an augmented parse tree that captures all the information in the source code as additional elements. Information included in the augmented parse tree can include whitespace, comments, pre-processor directives, line continuation characters, missing text, text errors, and original text. Thus, the augmented parse tree can be used to fully reconstruct the original source code, character for character, including spaces, comments, and incorrect code. The improved parser can store syntactic error information in the original source code in the parse tree. The augmented parse tree can be used to generate or modify source code. The parse tree created by the augmented parser can be used for incremental parsing to create a new augmented parse tree after a change.Type: ApplicationFiled: December 12, 2011Publication date: June 13, 2013Applicant: Microsoft CorporationInventors: Peter Golde, Matthew J. Warren, Neal M. Gafter, HeeJae Chang
-
Patent number: 8464232Abstract: 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: GrantFiled: December 27, 2010Date of Patent: June 11, 2013Inventor: Aleksandr F. Urakhchin
-
Patent number: 8458676Abstract: A virtual machine can be extended to be aware of secondary cores and specific capabilities of the secondary cores. If a unit of platform-independent code (e.g., a function, a method, a package, a library, etc.) is more suitable to be run on a secondary core, the primary core can package the unit of platform-independent code (“code unit”) and associated data according to the ISA of the secondary core. The primary core can then offload the code unit to an interpreter associated with the secondary core to execute the code unit.Type: GrantFiled: June 30, 2009Date of Patent: June 4, 2013Assignee: International Business Machines CorporationInventors: Nobuhiro Asai, Andrew B. Cornwall, Rajan Raman, Akira Saitoh, Ravi Shah
-
Patent number: 8453126Abstract: A system and method for automated conversion of a SAS runtime macro language (RML) program to a target language program such as JAVA. RML macros are identified and converted for inclusion in the RML program. A lexer is applied to generate a stream of tokens, including a token type for ambiguous tokens. A context dependent parsing module, including a token filter to resolve ambiguous tokens, assists the parser in generating an abstract syntax tree (AST), which is modified to express RML specific control flow constructs with target language program elements. The elements of the modified AST are replaced with target language templates from a library, with template parameters filled from the corresponding AST element. A run time library is provided for execution of the target language program.Type: GrantFiled: July 30, 2009Date of Patent: May 28, 2013Assignee: Dulles Research LLCInventor: Pavel Ganelin
-
Patent number: 8453127Abstract: According to some embodiments, a token synchronization gateway may be recognized in a graph-based business process model, such as a business process modeling notation model. A number of upstream artifacts located upstream from the token synchronization gateway may then be identified in the business process modeling notation model. In addition, a final artifact may be identified directly in front of the token synchronization gateway. The token synchronization gateway may then be compiled into code that will be executed at runtime to perform a synchronization process. The synchronization process may, for example, include handling tokens T1 through Tn to synchronize the upstream artifacts, with each token being associated with one of the n upstream artifacts.Type: GrantFiled: September 20, 2010Date of Patent: May 28, 2013Assignee: SAP AGInventors: Sören Balko, Thomas Hettel
-
Patent number: 8448153Abstract: A method and system encodes data objects and their metadata. An implementation provides a method and system for rewriting a program to encode metadata in the run-time environment of the program and to add run-time checks to the program. An implementation provides a method for serializing a data object according to the encoding method and a method for deserializing a bit sequence that is generated by the serialization method.Type: GrantFiled: August 16, 2010Date of Patent: May 21, 2013Inventor: Ning Wang
-
Patent number: 8448158Abstract: To obtain a program code generation support device, method, and the like, capable of generating a new program code, in particular, generating in accordance with an incorporating apparatus, by performing a further optimization on a program code. The device includes storage means 6 for storing as data, an optimization rule that is composed of a conversion condition for converting data of a program code and a conversion content thereof, and code optimization means 4 that includes a code analysis unit 4A for analyzing the program code, a condition search unit 4B for search a part matching the conversion condition in the program code through a collation with the optimization rule stored in the storage means on the basis of the analyzed program code, and an optimization unit 4C for generating data of a new program code by converting the part matching the conversion condition on the basis of the conversion content.Type: GrantFiled: February 2, 2006Date of Patent: May 21, 2013Assignee: Mitsubishi Electric CorporationInventors: Takahiro Ito, Shigeki Suzuki, Yoshiko Ochiai, Noriyuki Kushiro, Yoshiaki Koizumi
-
Patent number: 8448152Abstract: A high-level language, architecture-independent probe program compiler is disclosed. A base program is executable by one or processors, and has one or more breakpoints. A probe program is associated with each breakpoint and is also indirectly executable by the one or more processors. The probe program is independent of the architecture of the processors, and is generated from source code written in a high-level language. The probe program associated with each breakpoint is executed when the breakpoint is reached during execution of the base program. The compiler may employ an abstract syntax tree to switch between an address space of the probe program and an address space of the base program, by traversing the tree. Some of the nodes of the tree may more simply represent address space-specific objects of the base program. The probe program may be able to pass messages by manipulating the state of the base program.Type: GrantFiled: June 30, 2008Date of Patent: May 21, 2013Assignee: International Business Machines CorporationInventors: Richard J. Moore, Thomas R. Zanussi
-
Patent number: 8443352Abstract: The specification of a string within source code written in a programming language is received. The source code is processed for ultimate execution of a computer program encompassing the source code, by at least performing the following. It is determined whether the string specified is a short string or a long string. The string is processed in accordance with a first manner where the string is a short string. The string is processed in accordance with a second manner where the string is a long string.Type: GrantFiled: March 31, 2008Date of Patent: May 14, 2013Assignee: International Business Machines CorporationInventors: Michiaki Tatsubori, Akihiko Tozawa, Toyotaro Suzumura, Tamiya Onodera, Scott Ross Trent
-
Patent number: 8443339Abstract: Embodiments of articles, apparatuses, devices and/or systems for manipulating hierarchical sets of data are disclosed. For example, in one embodiment, a method of transforming one or more trees to one or more corresponding symbol strings according to an association of trees and symbol strings is disclosed. In another embodiment, as another example, a method of transforming between at least a first and at least a second expression is disclosed in which the expressions have a common view that is other than one. Additional embodiments are also described.Type: GrantFiled: February 8, 2010Date of Patent: May 14, 2013Assignee: Robert T. and Virginia T. JenkinsInventor: Jack J. LeTourneau
-
Patent number: 8438538Abstract: A SimpleBinding extension in Window Presentation Foundation (WPF) is established using a compact binding syntax in which all binding components are specified in a string. The simple binding string is parsed to derive a native WPF binding class. A typecast may be used to determine how the binding result will be translated from one Common Language Runtime (CLR) type to another. The typecast may be provided with the binding components or derived from properties of the target WPF dependency property.Type: GrantFiled: April 25, 2007Date of Patent: May 7, 2013Assignee: IdentityMine, Inc.Inventor: Jonathan B. Russ
-
Patent number: 8438550Abstract: System and method for implicit downcasting at compile time in a data flow program. A first data flow function in an object-oriented dataflow program is identified, where the first function includes an input of a parent data type and an output of the parent data type. The first function is analyzed to determine if the output preserves the run-time data type of the input. A second dataflow function in the object-oriented data flow program is identified, where the second function includes a program element that calls the first function, passing an input parameter of a child data type of the parent data type as input. If the analysis determines that an output parameter returned by the output of the first function will always be of the child data type, the program element is automatically configured at compile time to always downcast the output parameter from the parent data type to the child data type at run-time.Type: GrantFiled: May 13, 2010Date of Patent: May 7, 2013Assignee: National Instruments CorporationInventors: Stephen R. Mercer, Steven W. Rogers
-
Patent number: 8438551Abstract: The invention concerns the transformation of executable code from one language to another. In particular, the invention concerns the automated transformation of code. The invention concerns methods, software and computer systems for the creation of a tree comprised of nodes to be used in the transformation of code. The invention also concerns the methods, software and computer systems for the building of a parser to be used in the transformation of code. Finally, the invention also concerns an automated and iterative method of transforming, assessing and re-transforming code. The invention is advantageous in its ability to avoid usage of an intermediate transformation language, and its high level of automation that reduces manual transformation and accordingly is more efficient and less costly.Type: GrantFiled: June 27, 2006Date of Patent: May 7, 2013Assignee: CSC Technology Singapore Pte LtdInventors: Albert Donald Tonkin, Ruth Emma Tonkin
-
Patent number: 8429627Abstract: System and method for analyzing a graphical program. A graphical program is displayed on a display. A semantic edit operation is performed on the graphical program in response to user input. The semantic edit operation is performed by a first process. Semantic analysis of the graphical program is performed by a second process in response to performing the semantic edit operation, where the second process is asynchronous with respect to the first process. Results from the semantic analysis of the graphical program are displayed in response to completion of the semantic analysis. If during the semantic analysis, another semantic edit operation is performed on the graphical program, the semantic analysis may be preemptively terminated and re-initiated. Displaying results from the semantic analysis of the graphical program may then include displaying results from the re-initiated semantic analysis of the graphical program in response to completion of the re-initiated semantic analysis.Type: GrantFiled: October 12, 2009Date of Patent: April 23, 2013Assignee: National Instruments CorporationInventors: David C. Jedlicka, Jeffrey L. Kodosky, Gregory C. Richardson, John D. Stanhope