Including Graph Or Tree Representation (e.g., Abstract Syntax Tree Or Ast) Patents (Class 717/144)
  • Patent number: 8601446
    Abstract: A complexity dependency change impact system and method is disclosed. In one embodiment, a method of determining an efficient software testing scheme based on a dependency structure matrix (DSM) analysis includes generating a compressed DSM based on cyclic blocks associated with modules of a software application, tagging and levelling the modules of the software application based on the compressed DSM, and generating at least one compressed partition matrix based on the tagged and levelled modules. The method further includes generating at least one expanded partition matrix based on the at least one compressed partition matrix, generating value threads using the at least one compressed partition matrix and obtaining a new scheduling table and performing a path analysis using the value threads to determine the efficient software testing scheme.
    Type: Grant
    Filed: October 22, 2008
    Date of Patent: December 3, 2013
    Assignee: Wipro Limited
    Inventors: Ajikumar Thaitharanikarthu Narayanan, Ramprasad Malavalli Krishnamurthi
  • Patent number: 8595702
    Abstract: Visual representations of multiple call stacks in a parallel programming system include a stack segments graph constructed by coalescing data from multiple stacks. The graph has nodes that represent stack segments and has arcs between adjacent segments. Similar stack frames are represented by the same node. In a stack prefix view of the graph, arcs are directed from a node representing stack frames to a node representing subsequently executed stack frames. In a method-centered view, an arc is shown between a node representing stack frames of a selected method and a node representing adjacent stack frames. The graph can be based on call stacks of all tasks or all threads, or based on call stacks of tasks or threads flagged by a user. Stack frame, thread, and/or task details are also displayed.
    Type: Grant
    Filed: March 13, 2009
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Paul Maybee, Daniel Moth, Johan Marien
  • Patent number: 8589898
    Abstract: A computer-implemented method for evaluating a machine-executable software code specification includes using the computer to generate a system dependence graph corresponding to the software code specification. The system dependence graph includes elements including nodes and edges. The computer evaluates the system dependence graph including selecting a variable modified in the software code specification, providing a control operation node of the system dependence graph corresponding to a control statement in the software code specification with a preferred calibration state, traversing to selected elements of the system dependence graph wherein the selected elements are associated with the selected variable and the preferred calibration state of the control operation node, evaluating only the selected elements of the system dependence graph, and identifying ones of the selected elements whereat a state of the selected variable is modified.
    Type: Grant
    Filed: March 29, 2010
    Date of Patent: November 19, 2013
    Assignee: GM Global Technology Operations LLC
    Inventors: Srihari Sukumaran, Ramesh Sethu
  • Patent number: 8589888
    Abstract: A “Demand-Driven Pointer Analyzer” (DDPA) provides a “demand-driven” field-sensitive pointer analysis process. This process rapidly and accurately identifies alias sets for selected pointers in software modules or programs of any size, including large-scale C/C++ programs such as a complete operating system (OS). The DDPA formulates the pointer analysis task as a Context-Free Language (CFL) reachability problem that operates using a Program Expression Graph (PEG) automatically constructed from the program code. The PEG provides a node and edge-based graph representation of all expressions and assignments in the program and allows the DDPA to rapidly identify aliases for pointers in the program by traversing the graph as a CFL reachability problem to determine pointer alias sets. In various embodiments, the DDPA is also context-sensitive.
    Type: Grant
    Filed: August 29, 2011
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Weidong Cui, Marcus Peinado, Zhilei Xu
  • Patent number: 8589884
    Abstract: The present invention provides a method, system and computer program product for identifying regression test cases for a software application by identifying one or more units of functionalities of the software application, structuring the use case activity diagrams using the identified units of functionalities, modifying the structured use case activity diagrams when there is a change in the software application, and analyzing the modifications made to the structured use case activity diagrams to identify regression test cases for the changes in the software application.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: November 19, 2013
    Assignee: Infosys Limited
    Inventors: Ravi Prakash Gorthi, Kailash Kumar Prasad Chanduka, Benny Leong, Anjaneyulu Pasala
  • Patent number: 8584108
    Abstract: A computer-implemented method for evaluating a machine-executable software code specification includes using the computer to generate a system dependence graph corresponding to the software code specification. The system dependence graph includes elements including nodes and edges, wherein the computer evaluates the system dependence graph. The evaluation of the system dependence graph includes selecting a variable modified in the software code specification, traversing to selected elements of the system dependence graph, the selected elements associated with the selected variable, evaluating only the selected elements of the system dependence graph, and identifying ones of the selected elements whereat a state of the selected variable is modified.
    Type: Grant
    Filed: March 29, 2010
    Date of Patent: November 12, 2013
    Assignee: GM Global Technology Operations LLC
    Inventors: Srihari Sukumaran, Ramesh Sethu
  • Patent number: 8578346
    Abstract: Disclosed is a system and method for validating and repairing flow diagrams using a process modeling validation method in conjunction with a process modeling repair method. The process modeling validation method points out structural ambiguities in a flow diagram that can make its automatic interpretation difficult. It also proposes fix to resolve such ambiguities. The method discloses a process semantic annotation scheme that can interpret process semantics in a flow graph implicit in a flow diagram. Further, the validation process compares one or more components of one or more drawings to a set of rules determined by a business process modeling standards and provides a set of semantic errors describing faulty parts of the drawing that do not comply with the business process modeling standards. The process modeling repair method corrects the drawing to ease and enable its automatic interpretation of the flow diagram and make the faulty parts of the drawing comply with the business process modeling standards.
    Type: Grant
    Filed: September 10, 2010
    Date of Patent: November 5, 2013
    Assignee: International Business Machines Corporation
    Inventors: Tian-Jy Chao, Pankaj Dhoolia, David Marston, Debdoot Mukherjee
  • Patent number: 8578389
    Abstract: Methods and systems facilitating a programmer to program parts of a program in data flow programming to produce directed acyclic graphs (“DAGs”), and then merge the graphs at runtime for efficiency and scalability. Large merged DAG can typically be processed with greater efficiency than the collection of smaller DAGs. As a result, smaller DAGs may be created while the execution of the program realizes the increased efficiency of executing a larger DAG based on the merging of the smaller DAGs. In accordance with methods and systems consistent with the present invention, a programmer creates individual data flow directed acyclic graphs in a program.
    Type: Grant
    Filed: May 4, 2004
    Date of Patent: November 5, 2013
    Assignee: Oracle America, Inc.
    Inventor: Michael L. Boucher
  • Patent number: 8572551
    Abstract: Methods and apparatus are provided for production of a difference log in a data processing system. The difference log defines differences between process models defined in system memory. For each of the process models, model structure data provided in memory defines a hierarchy of SESE regions representing the structure of that model. Also provided in memory are model comparison data defining correspondences between elements of the models, and region comparison data defining correspondences between regions of the SESE region hierarchies for the models. The model comparison and region comparison data are analyzed to identify differences between the SESE region hierarchies, and a difference log defining said differences is produced. In preferred systems, the model structure data and the region comparison data are computed for the models, and the difference log has a hierarchical structure corresponding to the structure of the process models.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: October 29, 2013
    Assignee: International Business Machines Corporation
    Inventors: Felix Feger, Christian Gerth, Jochen M. Kuester, Jussi H. Vanhatalo, Hagen Voelzer
  • Patent number: 8572555
    Abstract: A method is provided for generating a test case for testing a program, which can include analyzing instructions of the program to identify basic blocks and superblocks, each basic block containing at least one executable instruction, and each superblock containing a plurality of basic blocks. The method can include executing instructions by a processor to perform determining respective weights of superblocks, each weight representing a number of basic blocks which require execution when the superblock is executed; determining the constraints which cause a superblock having a high weight to be executed, and using the determined constraints to generate a test case which, upon execution of the program, causes the high weight superblock to be executed.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: October 29, 2013
    Assignee: Telcordia Technologies, Inc.
    Inventors: James L. Alberi, Hiralal Agrawal
  • Publication number: 20130283250
    Abstract: Mechanisms are provided for generating a customized runtime library for source code. Source code is analyzed to identify a region of code implementing an application programming interface or programming standard of interest. An invocation tree data structure is generated based on results of analysis of functions of the application programming interface or programming standard of interest that the region of code invokes. A custom runtime library is generated based on the invocation tree data structure. The custom runtime library comprises only a subset of runtime library functions, less than a total number of runtime library functions for the application programming interface or programming standard of interest, actually invoked by the region of code and does not include all runtime library functions in the total number of runtime library functions for the application programming interface or programming standard of interest.
    Type: Application
    Filed: April 23, 2012
    Publication date: October 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Alexandre E. Eichenberger, John K.P. O'Brien
  • Patent number: 8561020
    Abstract: An embodiment of the present invention discloses a method for the computer-aided determination of the dependencies of a plurality of modules of a technical system, especially of a software system. Every module of the system has a known, first consumption of resources. The first consumption of resources of at least one of the modules is modified according to a predetermined criterion, thereby obtaining a modified system. The modified system is executed. A second consumption of resources is measured for every module of the modified system, the consumption resulting from the modification of the first consumption of resources of the at least one module. An analysis of the second consumption of resources of a respective module and the predetermined criterion is used to determine whether there is a dependency between the respective module and the at least one module that is characterized by the modified consumption of resources.
    Type: Grant
    Filed: March 5, 2008
    Date of Patent: October 15, 2013
    Assignee: Siemens Aktiengesellschaft
    Inventors: Moritz Hammer, Kurt Majewski, Florian Mangold, Christoph Moll, Harald Rölle, Rainer Wasgint
  • Publication number: 20130263099
    Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.
    Type: Application
    Filed: May 24, 2013
    Publication date: October 3, 2013
    Applicant: Microsoft Corporation
    Inventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
  • Patent number: 8539593
    Abstract: A method comprising, receiving a source code, identifying a data structure access in the source code, determining whether the data structure access is associated with a security check function, defining the data structure access as a security sensitive operation responsive to determining that the data structure access is associated with the security check function, and defining a security specification to include the security check function and the security sensitive operation.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Lin Tan, Xiaolan Zhang, Yuanyuan Zhou
  • Patent number: 8539462
    Abstract: 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: Grant
    Filed: December 21, 2010
    Date of Patent: September 17, 2013
    Assignee: National Tsing Hua University
    Inventors: Chung Ju Wu, Yu Te Lin, Jenq Kuen Lee
  • Patent number: 8527971
    Abstract: A method for compiling a source code into a parallel executable form, in which the execution order of the executable is partially undefined. During the compilation process a partial execution order is first defined for instructions having ordering constraints related to the source code level. The partial execution order is then completed with architecture related ordering constraints in order to produce an executable code.
    Type: Grant
    Filed: March 30, 2006
    Date of Patent: September 3, 2013
    Assignee: Atostek Oy
    Inventor: Juhana Helovuo
  • Patent number: 8527966
    Abstract: A source code inspection method and system. The method includes receiving by a computing system, source code files associated with a specified project. The computing system retrieves metrics data comprising software metrics associated with the source code files. The computing system generates first evaluation scores associated with the source code files. The computing system generates and presents to a user, a graph displaying the first evaluation scores. The computing system calculates parameter values associated with an evaluation function used to calculate second evaluation scores associated with the source code files. The computing system calculates the second evaluation scores by enabling the evaluation function using the parameter values. The computing system generates and presents to the user, a second graph displaying the second evaluation scores.
    Type: Grant
    Filed: September 17, 2009
    Date of Patent: September 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Nobuhiro Hosokawa, Yuka Mori, Miwako Naoi, Kazutaka Yamasaki
  • Patent number: 8516458
    Abstract: 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: Grant
    Filed: February 26, 2009
    Date of Patent: August 20, 2013
    Assignee: ITI Scotland Limited
    Inventors: Neil Stewart, Douglas Little
  • Patent number: 8510751
    Abstract: A system and computer program product for implementing a workflow include merging a workflow to create a virtual graph, wherein the workflow comprises two or more directed acyclic graphs (DAGs), mapping each of one or more nodes of the virtual graph to one or more physical nodes, and using a message passing scheme to implement a computation via the one or more physical nodes.
    Type: Grant
    Filed: March 18, 2010
    Date of Patent: August 13, 2013
    Assignee: International Business Machines Corporation
    Inventors: Dhrubajyoti Saha, Smruti R. Sarangi
  • Patent number: 8510342
    Abstract: Systems and methods are provided wherein executable files are prepared from source code without generating intermediate files. For example, rather than using a compiler to prepare an intermediate file that is then used by a linker, the compiler may stream its output directly to the linker, thus enabling the linker to perform its functions in parallel with the compiler. The system may also use a data streaming facility, such as a pipe, to stream data between the compilation and linking processes.
    Type: Grant
    Filed: September 22, 2011
    Date of Patent: August 13, 2013
    Assignee: Google Inc.
    Inventor: Don Hsi-Yun Yang
  • Patent number: 8505000
    Abstract: 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: Grant
    Filed: July 24, 2008
    Date of Patent: August 6, 2013
    Assignee: Ezurio Limited
    Inventor: Mahendra Tailor
  • Patent number: 8495591
    Abstract: 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: Grant
    Filed: December 12, 2011
    Date of Patent: July 23, 2013
    Assignee: Microsoft Corporation
    Inventor: Thierry Miceli
  • Patent number: 8495600
    Abstract: 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: Grant
    Filed: February 11, 2010
    Date of Patent: July 23, 2013
    Assignee: Compagnie Industrielle et Financiere d'Ingenierie “Ingenico”
    Inventors: David Naccache, Pavel Polechtchouk
  • Patent number: 8495597
    Abstract: A method and apparatus for processing multimedia instruction enhanced data by the use of an abstract routine generator and a translator. The abstract routine generator takes the multimedia instruction enhanced data and generates abstract routines to compile the multimedia instruction enhanced data. The output of the abstract generator is an abstract representation of the multimedia instruction enhanced data. The translator then takes the abstract representation and produces code for processing.
    Type: Grant
    Filed: October 23, 2006
    Date of Patent: July 23, 2013
    Assignee: STMicroelectronics, Inc.
    Inventor: Ulrich Sigmund
  • Patent number: 8495593
    Abstract: A state machine program is generated from a state machine. The state machine has states, transitions and events. A basic structure for the state machine program is generated. The basic structure has therein a structure that operates in non-final states. A statement is generated within the structure for detecting an event. A statement is generated within the structure for evaluating the detected event based on a current state to identify if the current state is valid for the detected event. A statement is generated within the structure for determining a next state if the current state is valid. A statement is generated within the structure for transitioning the current state to the next state.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: July 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Gregory D Adams, Jonathan David Bennett, Perry Randolph Giffen, Axel Martens, William Gerald O'Farrell
  • Patent number: 8490072
    Abstract: Techniques for partitioning an operator flow graph are provided. The techniques include receiving source code for a stream processing application, wherein the source code comprises an operator flow graph, wherein the operator flow graph comprises a plurality of operators, receiving profiling data associated with the plurality of operators and one or more processing requirements of the operators, defining a candidate partition as a coalescing of one or more of the operators into one or more sets of processing elements (PEs), using the profiling data to create one or more candidate partitions of the processing elements, using the one or more candidate partitions to choose a desired partitioning of the operator flow graph, and compiling the source code into an executable code based on the desired partitioning.
    Type: Grant
    Filed: June 23, 2009
    Date of Patent: July 16, 2013
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Bugra Gedik, Kirsten W. Hildrum, Rohit M. Khandekar, Sunjay S. Parekh, Deepak Rajan, Joel L. Wolf, Kun-Lung Wu
  • Patent number: 8489388
    Abstract: 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: Grant
    Filed: November 10, 2008
    Date of Patent: July 16, 2013
    Assignee: Apple Inc.
    Inventors: Olivier Bonnet, Frederick de Jaeger, Romain Goyet, Jean-Pierre Ciudad
  • Patent number: 8484629
    Abstract: Various technologies and techniques are disclosed for providing a programming model for modular development. A definition feature is provided that allows a definition to be specified for a particular method that is part of an application. A production feature allows a functionality implementation to be specified for the particular method separately from the definition. A consumption feature allows a method call to be made indirectly to the functionality implementation of the particular method by referencing the definition of the particular method from a consuming method. The consuming method has no awareness of the functionality implementation for the particular method. An analysis process inspects components containing indirect associations between these consumers and producers of application functionality to generate a graph of direct associations between the consumers and producers without having to actually load the components. A loader process uses the graph of direct associations to run the application.
    Type: Grant
    Filed: May 24, 2007
    Date of Patent: July 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Patrick Dengler, Oleg Lvovitch, Randy Kimmerly
  • Patent number: 8473897
    Abstract: A common intermediate representation for a data scripting language is provided for efficient representation and direct specification of programming constructs in memory. The common intermediate representation of data scripts allows data intensive applications to be created and analyzed in a machine accessible format, and the elements of the common intermediate representation can be stored independent of underlying storage specifics. Stored elements of the common intermediate representation of code are thus available for fast loading in memory when desired by other applications and programs by mapping the stored elements to the in memory intermediate representation.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
  • Patent number: 8466919
    Abstract: An image may be represented by a directed acyclic graph (DAG) including a number of nodes on paths between input parameters and output values. Intermediate operations are performed at the nodes to produce intermediate output values. One or more of the input parameters may be modified (e.g., by an animator). A determination is then made as to which intermediate output values are affected by the modified input parameters. A simplified DAG is constructed from the nodes corresponding to the intermediate output values affected by the modified input parameters. The intermediate output values that are not affected by the modified input parameters and are maintained at a constant value corresponding to a previously determined value for the intermediate output value. The simplified DAG is evaluated to determine the output resulting from the modified input parameter such that the image may be re-rendered without re-evaluating the full DAG.
    Type: Grant
    Filed: November 6, 2009
    Date of Patent: June 18, 2013
    Assignee: Pixar
    Inventors: Thomas Douglas Selkirk Duff, Robert L. Cook
  • Patent number: 8468445
    Abstract: A content extraction process may parse markup language text into a hierarchical data model and then apply one or more filters. Output filters may be used to make the process more versatile. The operation of the content extraction process and the one or more filters may be controlled by one or more settings set by a user, or automatically by a classifier. The classifier may automatically enter settings by classifying markup language text and entering settings based on this classification. Automatic classification may be performed by clustering unclassified markup language texts with previously classified markup language texts.
    Type: Grant
    Filed: March 30, 2006
    Date of Patent: June 18, 2013
    Assignee: The Trustees of Columbia University in the City of New York
    Inventors: Suhit Gupta, Gail Kaiser, Salvatore J. Stolfo
  • Patent number: 8464281
    Abstract: Various embodiments are generally directed to techniques to remotely access object events. An apparatus may comprise a processor and a memory communicatively coupled to the processor. The memory may be operative to store a remote event bridge having a surrogate object that when executed by the processor is operative to allow an observer object for a first process to subscribe to an event of a subject object for a second process using the surrogate object. In this manner, the remote event bridge and the surrogate object operates as an interface between subject objects and observer objects without any modifications to either class of objects.
    Type: Grant
    Filed: August 18, 2010
    Date of Patent: June 11, 2013
    Assignee: SAS Institute, Inc.
    Inventor: Cummins Aiken Mebane, III
  • Patent number: 8453108
    Abstract: In one approach, a method is described of generating an interface for an operating system kernel. The method calls for creating an input file, where the input file includes a node structure for the interface. A kernel component of the interface is generated from the input file. A user space component of the interface is also generated from the input file.
    Type: Grant
    Filed: February 15, 2007
    Date of Patent: May 28, 2013
    Assignee: VMware, Inc.
    Inventors: Kinshuk Govil, Gregory Hutchins, Patrick Tullmann, Gagandeep S. Arneja, Swathi Muralidharan Koundinya
  • Patent number: 8453127
    Abstract: 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: Grant
    Filed: September 20, 2010
    Date of Patent: May 28, 2013
    Assignee: SAP AG
    Inventors: Sören Balko, Thomas Hettel
  • Patent number: 8453126
    Abstract: 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: Grant
    Filed: July 30, 2009
    Date of Patent: May 28, 2013
    Assignee: Dulles Research LLC
    Inventor: Pavel Ganelin
  • Patent number: 8453131
    Abstract: A method of compiling code includes ordering instructions that protect and release critical sections in the code to improve parallel execution of the code according to an intrinsic order of the critical sections. According to one embodiment, the intrinsic order of the critical sections in the code is determined from data dependence and control dependence of instructions in the critical sections, and additional dependencies are generated to enforce the intrinsic order of the critical sections. Other embodiments are described and claimed.
    Type: Grant
    Filed: December 24, 2005
    Date of Patent: May 28, 2013
    Assignee: Intel Corporation
    Inventors: Long Li, Jinquan Dai, Xiaofeng Guo
  • Patent number: 8446298
    Abstract: Embodiments of the invention present a system and method for controlling audio capture by a smart pen based computing system. An audio capture mechanism that is independent from a gesture capture system is included on the smart pen to control audio capture by one or more microphones included on the smart pen. In one embodiment, the audio capture mechanism comprises a shared function button, such as a power button. For example, a user interaction with the shared function button initiates audio capture by the one or more microphones on the smart pen and a second user interaction with the shared audio function stops audio capture. Alternatively, audio capture is stopped after completion of a predefined time interval after the user interaction with the shared function button.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: May 21, 2013
    Assignee: LiveScribe, Inc.
    Inventors: Jim Marggraff, Tracy L. Edgecomb
  • Patent number: 8448152
    Abstract: 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: Grant
    Filed: June 30, 2008
    Date of Patent: May 21, 2013
    Assignee: International Business Machines Corporation
    Inventors: Richard J. Moore, Thomas R. Zanussi
  • Patent number: 8436867
    Abstract: A degree of detail calculation required for calculations to process computer graphics data is determined based on input parameters that are varying in certain dimensions. During a detail analysis of a shader, a directed graph is built in such a way that each connection between nodes indicates a dependency among inputs and outputs of calculations and/or input parameters. For each input parameter, variability information about the input parameter is obtained. A lattice or a table representing dimensional variability is used to determine a variability value for each calculation for given input parameters and dependency relationships among other calculations. After a variability value has been determined for each calculation, calculations are grouped into several groups and executed once per the variability value.
    Type: Grant
    Filed: November 6, 2009
    Date of Patent: May 7, 2013
    Assignee: Pixar
    Inventors: Thomas Douglas Selkirk Duff, Robert L. Cook
  • Patent number: 8438552
    Abstract: In some embodiments, a method and apparatus for automatically parallelizing a sequential network application through pipeline transformation are described. In one embodiment, the method includes the configuration of a network processor into a D-stage processor pipeline. Once configured, a sequential network application program is transformed into D-pipeline stages. Once transformed, the D-pipeline stages are executed in parallel within the D-stage processor pipeline. In one embodiment, transformation of a sequential application program is performed by modeling the sequential network program as a flow network model and selecting from the flow network model into a plurality of preliminary pipeline stages. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: May 7, 2013
    Assignee: Intel Corporation
    Inventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
  • Patent number: 8438551
    Abstract: 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: Grant
    Filed: June 27, 2006
    Date of Patent: May 7, 2013
    Assignee: CSC Technology Singapore Pte Ltd
    Inventors: Albert Donald Tonkin, Ruth Emma Tonkin
  • Patent number: 8434064
    Abstract: Methods of detecting memory errors using write integrity testing are described. In an embodiment, additional analysis is performed when a program is compiled. This analysis identifies a set of objects which can be written by each instruction in the program. Additional code is then inserted into the program so that, at runtime, the program checks before performing a write instruction that the particular object being written is one of the set of objects that it is allowed to write. The inserted code causes an exception to be raised if this check fails and allows the write to proceed if the check is successful. In a further embodiment, code may also be inserted to perform checks before indirect control-flow transfer instructions, to ensure that those instructions cannot transfer control to locations different from those intended.
    Type: Grant
    Filed: March 28, 2008
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: Periklis Akritidis, Manuel Costa, Miguel Castro
  • Patent number: 8432398
    Abstract: Systems, methods, and computer storage media having computer-executable instructions embodied thereon determine whether an output value of a dependency graph has a particular characteristic. In one embodiment, to make this determination, a dependency graph is generated that illustrates external and internal nodes, in addition to their dependency to one another. External nodes, or those nodes that do not depend on other nodes, are analyzed to determine whether they have a particular characteristic. Depending on the operation associated with the characteristic, it may then be determined whether the output value of the dependency graph also has that characteristic.
    Type: Grant
    Filed: November 5, 2009
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: John Rapp, Andrew Bliss, Shai Hinitz
  • Patent number: 8434074
    Abstract: A single instruction multiple data processor may accomplish register allocation by identifying live ranges that have incompatible write masks during compilation. Then, edges are added in an interference graph between live ranges that have incompatible masks so that those live ranges will not be assigned to the same physical register.
    Type: Grant
    Filed: February 24, 2010
    Date of Patent: April 30, 2013
    Assignee: Intel Corporation
    Inventors: Tomasz Janczak, Ben J. Ashbaugh
  • Patent number: 8434070
    Abstract: Systems and methods are provided for creating a data structure associated with a software application that is based on at least one framework. According to the method, source code and at least one configuration file of the software application is analyzed by at least one framework-specific processor so as to determine entry point information indicating entry points in the source code, request attribute access information indicating where attributes attached to a request data structure are read and written, and forward information indicating forwards performed by the software application. A data structure for a static analysis engine is created based on this information. The data structure includes a list of synthetic methods that model framework-related behavior of the software application, and a list of entry points indicating the synthetic methods and/or application methods of the software application that can be invoked by the framework.
    Type: Grant
    Filed: October 26, 2010
    Date of Patent: April 30, 2013
    Assignee: International Business Machines Corporation
    Inventors: Shay Artzi, Ryan Berg, John T. Peyton, Jr., Marco Pistoia, Manu Sridharan, Robert Wiener
  • Patent number: 8429627
    Abstract: 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: Grant
    Filed: October 12, 2009
    Date of Patent: April 23, 2013
    Assignee: National Instruments Corporation
    Inventors: David C. Jedlicka, Jeffrey L. Kodosky, Gregory C. Richardson, John D. Stanhope
  • Patent number: 8429628
    Abstract: A method and computer program product for generating a suspect abstract syntax tree by partially decompiling a compiled software module. The suspect abstract syntax tree is compared to one or more reference abstract syntax trees.
    Type: Grant
    Filed: December 28, 2007
    Date of Patent: April 23, 2013
    Assignee: International Business Machines Corporation
    Inventor: William J Spurlin
  • Patent number: 8423977
    Abstract: System and method for converting a class oriented data flow program to a structure oriented data flow program. A first data flow program is received, where the first data flow program is an object oriented program comprising instances of one or more classes, and wherein the first data flow program is executable to perform a first function. The first data flow program is automatically converted to a second data flow program, where the second data flow program does not include the instances of the one or more classes, and where the second data flow program is executable to perform the first function. The second data flow program is stored on a computer memory, where the second data flow program is configured to be deployed to a device, e.g., a programmable hardware element, and where the second data flow program is executable on the device to perform the first function.
    Type: Grant
    Filed: April 27, 2009
    Date of Patent: April 16, 2013
    Assignee: National Instruments Corporation
    Inventors: Stephen R. Mercer, Akash B. Bhakta, Matthew E. Novacek
  • Patent number: 8418135
    Abstract: Some embodiments of a method and an apparatus to abstract away rule languages from a rule engine have been presented. In one embodiment, rules written in a first rule language are parsed into descriptor classes, which are used to model concepts that can be expressed in a rule engine. An intermediate structure is generated from the parsed rules. The intermediate structure is input to a core of the rule engine, which is operable to execute the rules.
    Type: Grant
    Filed: May 31, 2007
    Date of Patent: April 9, 2013
    Assignee: Red Hat, Inc.
    Inventors: Mark Proctor, Edson Tirelli, Robert K. McWhirter
  • Patent number: 8406565
    Abstract: Systems, methods, and apparatus, including software tangibly stored on a computer readable medium, involve image processing. An image processing graph includes multiple nodes that each correspond to an image processing operation. Input image data relating to a particular input image is received. Region of interest data defining an output image region to be generated based on the input image data is received. A domain of defined node output data is identified for each of the nodes using the input image data, and the graph is traversed in a first traversal order. An identification of the first traversal order is stored. A region of requested node output data is identified for each of the nodes using the region of interest data, and the graph is traversed in a second traversal order. The second traversal order is based at least in part on the stored identification of the first traversal order.
    Type: Grant
    Filed: August 26, 2008
    Date of Patent: March 26, 2013
    Assignee: Adobe Systems Incorporated
    Inventor: Axel Schildan