Including Graph Or Tree Representation (e.g., Abstract Syntax Tree Or Ast) Patents (Class 717/144)
-
Patent number: 8601446Abstract: 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: GrantFiled: October 22, 2008Date of Patent: December 3, 2013Assignee: Wipro LimitedInventors: Ajikumar Thaitharanikarthu Narayanan, Ramprasad Malavalli Krishnamurthi
-
Patent number: 8595702Abstract: 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: GrantFiled: March 13, 2009Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Paul Maybee, Daniel Moth, Johan Marien
-
Patent number: 8589898Abstract: 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: GrantFiled: March 29, 2010Date of Patent: November 19, 2013Assignee: GM Global Technology Operations LLCInventors: Srihari Sukumaran, Ramesh Sethu
-
Patent number: 8589888Abstract: 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: GrantFiled: August 29, 2011Date of Patent: November 19, 2013Assignee: Microsoft CorporationInventors: Weidong Cui, Marcus Peinado, Zhilei Xu
-
Patent number: 8589884Abstract: 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: GrantFiled: September 27, 2010Date of Patent: November 19, 2013Assignee: Infosys LimitedInventors: Ravi Prakash Gorthi, Kailash Kumar Prasad Chanduka, Benny Leong, Anjaneyulu Pasala
-
Patent number: 8584108Abstract: 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: GrantFiled: March 29, 2010Date of Patent: November 12, 2013Assignee: GM Global Technology Operations LLCInventors: Srihari Sukumaran, Ramesh Sethu
-
Patent number: 8578346Abstract: 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: GrantFiled: September 10, 2010Date of Patent: November 5, 2013Assignee: International Business Machines CorporationInventors: Tian-Jy Chao, Pankaj Dhoolia, David Marston, Debdoot Mukherjee
-
Patent number: 8578389Abstract: 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: GrantFiled: May 4, 2004Date of Patent: November 5, 2013Assignee: Oracle America, Inc.Inventor: Michael L. Boucher
-
Patent number: 8572551Abstract: 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: GrantFiled: December 19, 2008Date of Patent: October 29, 2013Assignee: International Business Machines CorporationInventors: Felix Feger, Christian Gerth, Jochen M. Kuester, Jussi H. Vanhatalo, Hagen Voelzer
-
Patent number: 8572555Abstract: 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: GrantFiled: December 8, 2009Date of Patent: October 29, 2013Assignee: Telcordia Technologies, Inc.Inventors: James L. Alberi, Hiralal Agrawal
-
Publication number: 20130283250Abstract: 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: ApplicationFiled: April 23, 2012Publication date: October 24, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Alexandre E. Eichenberger, John K.P. O'Brien
-
Patent number: 8561020Abstract: 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: GrantFiled: March 5, 2008Date of Patent: October 15, 2013Assignee: Siemens AktiengesellschaftInventors: Moritz Hammer, Kurt Majewski, Florian Mangold, Christoph Moll, Harald Rölle, Rainer Wasgint
-
Publication number: 20130263099Abstract: 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: ApplicationFiled: May 24, 2013Publication date: October 3, 2013Applicant: Microsoft CorporationInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Patent number: 8539593Abstract: 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: GrantFiled: January 23, 2009Date of Patent: September 17, 2013Assignee: International Business Machines CorporationInventors: Lin Tan, Xiaolan Zhang, Yuanyuan Zhou
-
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: 8527971Abstract: 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: GrantFiled: March 30, 2006Date of Patent: September 3, 2013Assignee: Atostek OyInventor: Juhana Helovuo
-
Patent number: 8527966Abstract: 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: GrantFiled: September 17, 2009Date of Patent: September 3, 2013Assignee: International Business Machines CorporationInventors: Nobuhiro Hosokawa, Yuka Mori, Miwako Naoi, Kazutaka Yamasaki
-
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: 8510751Abstract: 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: GrantFiled: March 18, 2010Date of Patent: August 13, 2013Assignee: International Business Machines CorporationInventors: Dhrubajyoti Saha, Smruti R. Sarangi
-
Patent number: 8510342Abstract: 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: GrantFiled: September 22, 2011Date of Patent: August 13, 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: 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: 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: 8495597Abstract: 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: GrantFiled: October 23, 2006Date of Patent: July 23, 2013Assignee: STMicroelectronics, Inc.Inventor: Ulrich Sigmund
-
Patent number: 8495593Abstract: 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: GrantFiled: September 9, 2005Date of Patent: July 23, 2013Assignee: International Business Machines CorporationInventors: Gregory D Adams, Jonathan David Bennett, Perry Randolph Giffen, Axel Martens, William Gerald O'Farrell
-
Patent number: 8490072Abstract: 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: GrantFiled: June 23, 2009Date of Patent: July 16, 2013Assignee: International Business Machines CorporationInventors: Henrique Andrade, Bugra Gedik, Kirsten W. Hildrum, Rohit M. Khandekar, Sunjay S. Parekh, Deepak Rajan, Joel L. Wolf, Kun-Lung Wu
-
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: 8484629Abstract: 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: GrantFiled: May 24, 2007Date of Patent: July 9, 2013Assignee: Microsoft CorporationInventors: Patrick Dengler, Oleg Lvovitch, Randy Kimmerly
-
Patent number: 8473897Abstract: 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: GrantFiled: October 3, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Donald F. Box, Bradford H. Lovering, John D. Doty, Jeffrey C. Schlimmer, John L. Hamby, David E. Langworthy
-
Patent number: 8466919Abstract: 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: GrantFiled: November 6, 2009Date of Patent: June 18, 2013Assignee: PixarInventors: Thomas Douglas Selkirk Duff, Robert L. Cook
-
Patent number: 8468445Abstract: 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: GrantFiled: March 30, 2006Date of Patent: June 18, 2013Assignee: The Trustees of Columbia University in the City of New YorkInventors: Suhit Gupta, Gail Kaiser, Salvatore J. Stolfo
-
Patent number: 8464281Abstract: 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: GrantFiled: August 18, 2010Date of Patent: June 11, 2013Assignee: SAS Institute, Inc.Inventor: Cummins Aiken Mebane, III
-
Patent number: 8453108Abstract: 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: GrantFiled: February 15, 2007Date of Patent: May 28, 2013Assignee: VMware, Inc.Inventors: Kinshuk Govil, Gregory Hutchins, Patrick Tullmann, Gagandeep S. Arneja, Swathi Muralidharan Koundinya
-
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: 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: 8453131Abstract: 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: GrantFiled: December 24, 2005Date of Patent: May 28, 2013Assignee: Intel CorporationInventors: Long Li, Jinquan Dai, Xiaofeng Guo
-
Patent number: 8446298Abstract: 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: GrantFiled: March 31, 2009Date of Patent: May 21, 2013Assignee: LiveScribe, Inc.Inventors: Jim Marggraff, Tracy L. Edgecomb
-
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: 8436867Abstract: 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: GrantFiled: November 6, 2009Date of Patent: May 7, 2013Assignee: PixarInventors: Thomas Douglas Selkirk Duff, Robert L. Cook
-
Patent number: 8438552Abstract: 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: GrantFiled: March 31, 2010Date of Patent: May 7, 2013Assignee: Intel CorporationInventors: Jinquan Dai, Luddy Harrison, Bo Huang, Cotton Seed, Long Li
-
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: 8434064Abstract: 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: GrantFiled: March 28, 2008Date of Patent: April 30, 2013Assignee: Microsoft CorporationInventors: Periklis Akritidis, Manuel Costa, Miguel Castro
-
Patent number: 8432398Abstract: 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: GrantFiled: November 5, 2009Date of Patent: April 30, 2013Assignee: Microsoft CorporationInventors: John Rapp, Andrew Bliss, Shai Hinitz
-
Patent number: 8434074Abstract: 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: GrantFiled: February 24, 2010Date of Patent: April 30, 2013Assignee: Intel CorporationInventors: Tomasz Janczak, Ben J. Ashbaugh
-
Patent number: 8434070Abstract: 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: GrantFiled: October 26, 2010Date of Patent: April 30, 2013Assignee: International Business Machines CorporationInventors: Shay Artzi, Ryan Berg, John T. Peyton, Jr., Marco Pistoia, Manu Sridharan, Robert Wiener
-
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
-
Patent number: 8429628Abstract: 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: GrantFiled: December 28, 2007Date of Patent: April 23, 2013Assignee: International Business Machines CorporationInventor: William J Spurlin
-
Patent number: 8423977Abstract: 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: GrantFiled: April 27, 2009Date of Patent: April 16, 2013Assignee: National Instruments CorporationInventors: Stephen R. Mercer, Akash B. Bhakta, Matthew E. Novacek
-
Patent number: 8418135Abstract: 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: GrantFiled: May 31, 2007Date of Patent: April 9, 2013Assignee: Red Hat, Inc.Inventors: Mark Proctor, Edson Tirelli, Robert K. McWhirter
-
Patent number: 8406565Abstract: 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: GrantFiled: August 26, 2008Date of Patent: March 26, 2013Assignee: Adobe Systems IncorporatedInventor: Axel Schildan