Data Flow Analysis Patents (Class 717/155)
-
Patent number: 8601458Abstract: Techniques for compiling a data stream processing application are provided. The techniques include receiving, by a compiler executing on a computer system, source code for a data stream processing application, wherein the source code comprises source code for a plurality of operators, each of which performs a data processing function, determining, by the compiler, one or more characteristics of operators within the data stream processing application, grouping, by the compiler, the operators into one or more execution containers based on the one or more characteristics, and compiling, by the compiler, the source code for the data stream processing application into executable code, wherein the executable code comprises a plurality of execution units, wherein each execution unit contains one or more of the operators, wherein each operator is assigned to an execution unit based on the grouping, and wherein each execution unit is to be executed in a partition.Type: GrantFiled: May 14, 2009Date of Patent: December 3, 2013Assignee: International Business Machines CorporationInventors: Henrique Andrade, Bugra Gedik, Kun-Lung Wu
-
Patent number: 8601456Abstract: Various technologies and techniques are disclosed that provide software transactional protection of managed pointers. A software transactional memory system interacts with and/or includes a compiler. At compile time, the compiler determines that there are one or more reference arguments in one or more code segments being compiled whose source cannot be recovered. The compiler executes a procedure to select one or more appropriate techniques or combinations thereof for communicating the sources of the referenced variables to the called code segments to ensure the referenced variables can be recovered when needed. Some examples of these techniques include a fattened by-ref technique, a static fattening technique, a dynamic ByRefInfo type technique, and others. One or more combinations of these techniques can be used as appropriate.Type: GrantFiled: August 4, 2006Date of Patent: December 3, 2013Assignee: Microsoft CorporationInventors: John Joseph Duffy, Michael M. Magruder, Goetz Graefe, David Detlefs
-
Patent number: 8572595Abstract: Computer-executed transformation of source code enables optimization of the code for one or more of parallelism, locality, and memory footprint of operations represented in the source code on a computing apparatus. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.Type: GrantFiled: August 5, 2011Date of Patent: October 29, 2013Assignee: Reservoir Labs, Inc.Inventors: Richard A. Lethin, Allen K. Leung, Benoit J. Meister, Nicolas T. Vasilache
-
Patent number: 8566801Abstract: Techniques for generating concurrent static single assignment (CSSA) are provided. The techniques include generating a clocked control flow graph of a program, for each thread of the program created through async instruction, determining each part of the program that can execute concurrently with each thread to create a pair comprising a thread and a parallel program part, for each pair that can execute concurrently, using one or more flow equations to perform node-by-node matching, and using the node-by-node matching to generate CSSA form for the program.Type: GrantFiled: May 22, 2009Date of Patent: October 22, 2013Assignee: International Business Machines CorporationInventors: Harshit J. Shah, Rudrapatna Kallikote Shyamasundar, Pradeep Varma
-
Patent number: 8561176Abstract: A system, method and computer program product are provided. In use, execution of a portion of internal code of an interface is identified. Further, in response to the execution of the portion of internal code, at least one aspect of an invocation of the interface is monitored and/or analyzed.Type: GrantFiled: January 24, 2007Date of Patent: October 15, 2013Assignee: McAfee, Inc.Inventor: Gregory William Dalcher
-
Patent number: 8555267Abstract: A mechanism for performing register allocation based on priority spills and assignments is disclosed. A method of embodiments of the invention includes repetitively detecting fat points during a compilation process of a software program running on a virtual machine of a computer system, each fat point representing a program point having a high register pressure, the high register pressure occurs when a number of live program variables of the software program living at a given program point of the software program is greater than a number of available processor registers of the computer system. The method further includes choosing a fat point with a highest register pressure, selecting a live program variable having a lowest priority at the chosen fat point, and spilling the lowest priority live program variable to memory of the computer system.Type: GrantFiled: March 3, 2010Date of Patent: October 8, 2013Assignee: Red Hat, Inc.Inventor: Vladimir Makarov
-
Patent number: 8543991Abstract: Idle processor cores can be used to compile methods that are likely to be executed by a program based on profile data that is captured during one or more previous executions. Methods that are determined by the profile data to be likely to be used can be compiled eagerly on one or more background threads. Transparency can be achieved by ensuring that module load order is not altered because of the background threads by recording the state of loaded modules after each profiled compilation, persisting that data, and waiting to eagerly compile a method until the method to be compiled and all its dependencies has been loaded by the executing program.Type: GrantFiled: March 10, 2011Date of Patent: September 24, 2013Assignee: Microsoft CorporationInventors: Subramanian Ramaswamy, David Hiniker-Roosa, Feng Yuan, Sedar Gokbulut, Ashok C. Kamath, Jan Kotas, Vance P. Morrison
-
Patent number: 8539466Abstract: A method of determining suitable insertion points for inserting string sanitizers in a computer code is provided herein. The method includes the following stages: obtaining: (i) a computer code associated with a data flow of externally supplied data, from one or more sources to one or more sinks, (ii) locations of the sources, and (iii) locations of the sinks; building a graph representing control paths, data paths and semantic relationships between the control paths and the data paths of the computer code; associating all tainted data paths on the graph, being data paths that go from sources to sinks and do not include a sanitizer; and determining, on the tainted data paths, potential control paths suitable for sanitizer insertion.Type: GrantFiled: May 23, 2011Date of Patent: September 17, 2013Assignee: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Abraham Feldman, Yinnon Avraham Haviv, Adi Sharabani
-
Patent number: 8527973Abstract: A computing device-implemented method includes receiving a program created by a technical computing environment, analyzing the program, generating multiple program portions based on the analysis of the program, dynamically allocating the multiple program portions to multiple software units of execution for parallel programming, receiving multiple results associated with the multiple program portions from the multiple software units of execution, and providing the multiple results or a single result to the program.Type: GrantFiled: August 22, 2011Date of Patent: September 3, 2013Assignee: The MathWorks, Inc.Inventors: John N. Little, Joseph F. Hicklin, Jocelyn Luke Martin, Nausheen B. Moulana, Halldor N. Stefansson, Loren Dean, Roy E. Lurie, Stephen C. Johnson, Penelope L. Anderson, Michael E. Karr, Jason A. Kinchen
-
Patent number: 8516229Abstract: A test code generation technique that replaces instructions having a machine state dependent result with special redirection instructions provides generation of test code in which state dependent execution choices are made without a state model. Redirection instructions cause execution of a handler than examines the machine state and replaces the redirection instruction with a replacement instruction having a desired result resolved in accordance with the current machine state. The instructions that are replaced may be conditional branch instructions and the result a desired execution path. The examination of the machine state permits determination of a branch condition for the replacement instruction so that the next pass of the test code executes along the desired path. Alternatively, the handler can execute a jump to the branch instruction, causing immediate execution of the desired branch path.Type: GrantFiled: February 5, 2010Date of Patent: August 20, 2013Assignee: International Business Machines CorporationInventors: Allon Adir, Brad Lee Herold, John Martin Ludden, Pedro Martin-de-Nicolas, Charles Leverett Meissner, Gil Eliezer Shurek
-
Patent number: 8516467Abstract: A method and apparatus that utilizes techniques for formatting assembly and/or machine code, including using arrows, indentations and textual symbols, so that a programmer who reads the code has an enhanced understanding of the program flow. Different methods of assessing computing time complexity (e.g., the up branch method and the strongly connected subgraph method) have strengths and weaknesses but benefit from being used together.Type: GrantFiled: August 31, 2010Date of Patent: August 20, 2013Assignee: Nintendo Co., Ltd.Inventors: Nathaniel Guy, Chad Hinkle, Mark Jawad, Steve Rabin
-
Patent number: 8505001Abstract: A method and system are provided in which one or more processors may be operable to generate an intermediate representation of a shader source code, wherein the intermediate representation comprises one or more whole-program data flow graph representations of the shader source code. The one or more processors may be operable to generate machine code based on the generated intermediate representation of the shader source code. The one or more whole-program data flow graph representations of the shader source code may be generated utilizing a compiler front end. The machine code may be generated utilizing a compiler back end. The generated machine code may be executable by a graphics processor. The generated machine code may be executable by a processor comprising a single-instruction multiple-data (SIMD) architecture. The generated machine code may be executable to perform coordinate and/or vertex shading of image primitives.Type: GrantFiled: August 25, 2010Date of Patent: August 6, 2013Assignee: Broadcom CorporationInventor: Eben Upton
-
Patent number: 8495606Abstract: A system performs operations comprising creating a call graph for a program translated from source code, identifying redundant exception handling code in the program utilizing the call graph, and removing the redundant exception handling code. The operation of identifying redundant exception handling code may comprise identifying at least one function or callsite by determining that a first function in the at least one function's or callsite's callee chain throws an exception and that the exception is handled by a second function in the function's or callsite's callee chain or by determining that an exception is not thrown in the at least one function's or callsite's callee chain. The operation of removing the redundant exception handling code may comprise removing redundant exception handling code included in at least one function or callsite and/or removing at least one entry for the at least one function or callsite from an exception lookup table.Type: GrantFiled: November 14, 2008Date of Patent: July 23, 2013Assignee: Oracle America, Inc.Inventors: Sheldon M. Lobo, Fu-Hwa Wang
-
Patent number: 8484630Abstract: Optimizing program code in a static compiler by determining the live ranges of variables and determining which live ranges are candidates for moving code from the use site to the definition site of source code. Live ranges for variables in a flow graph are determined. Selected live ranges are determined as candidates in which code will be moved from a use site within the source code to a definition site within the source code. Optimization opportunities within the source code are identified based on the code motion.Type: GrantFiled: December 23, 2008Date of Patent: July 9, 2013Assignee: International Business Machines CorporationInventors: Shimin Cui, Raul Esteban Silvera
-
Patent number: 8473927Abstract: In general, in one aspect, the invention relates to a method for performing points-to analysis by generating a value flow graph for source code. The method steps include: initializing the value flow graph including a set of memory objects and a set of edges based on Base and Assignment instructions, where the set of edges represents inclusion constraints between the set of memory objects and a set of pointer variables; determining a pointed-to-by set including at least one pointer variable of the set of pointer variables; updating the value flow graph by introducing a flow edge based on an indirect reference, where the flow edge is related to a memory object of the set of memory objects that is added to a working list; updating the pointed-to-by set based on the memory object in the working list; and analyzing the source code using the pointed-to-by set.Type: GrantFiled: May 26, 2011Date of Patent: June 25, 2013Assignee: Oracle International CorporationInventors: Lian Li, Cristina N. Cifuentes, Nathan Robert Albert Keynes
-
Patent number: 8473935Abstract: Pre-compiling postdominating functions. Some embodiments may be practiced in a computing environment including a runtime compilation. For example one method includes acts for compiling functions. The method includes determining that a function of an application has been called. A control flow graph is used to determine one or more postdominance relationships between the function and one or more other functions. The one or more other functions are assigned to be pre-compiled based on the postdominance relationship.Type: GrantFiled: April 21, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventor: Matthew B. Grice
-
Patent number: 8473933Abstract: A system and method for refactoring one or more call sites based on a revised signature. If the original call site is ordered, the refactored call site is generated by sorting the arguments based on the revised signature. Each unnamed argument is selectively changed to a named argument based on whether it is preceded by a named argument and whether its index value matches the index value of its corresponding parameter in the revised signature. If the original call site is unordered, the arguments preceding the first named argument are ordered. New arguments corresponding to new parameters are added and selectively made to be named arguments. New optional arguments may be included or omitted from the refactored call site.Type: GrantFiled: May 12, 2010Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventor: Theodore Yaung
-
Patent number: 8473924Abstract: Application profiles for applications stored on the endpoint are defined. An application profile identifies components on the endpoint associated with an application with which the application profile is associated. Applications on the endpoint accessed by a user to perform a task are monitored. A task profile associated with the task is created and stored, the task profile associated with the application profiles for the applications accessed by the user to perform the task.Type: GrantFiled: December 19, 2008Date of Patent: June 25, 2013Assignee: Symantec CorporationInventors: Sourabh Satish, William E. Sobel
-
Patent number: 8458682Abstract: 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: June 4, 2013Assignee: National Instruments CorporationInventors: Stephen R. Mercer, Akash B. Bhakta, Matthew E. Novacek
-
Patent number: 8458650Abstract: In one embodiment, the invention comprises partial fault tolerant stream processing applications. One embodiment of a method for implementing partial fault tolerance in a stream processing application comprising a plurality of stream operators includes: defining a quality score function that expresses how well the application is performing quantitatively, injecting a fault into at least one of the plurality of operators, assessing an impact of the fault on the quality score function, and selecting at least one partial fault-tolerant technique for implementation in the application based on the quantitative metric-driven assessment.Type: GrantFiled: March 29, 2010Date of Patent: June 4, 2013Assignee: International Business Machines CorporationInventors: Henrique Andrade, Bugra Gedik, Gabriela Jacques da Silva, Kun-Lung Wu
-
Patent number: 8451474Abstract: A host computer which generates a print job subjected to printing by a printer stores a drawing command output from an application in a spool file via a graphic engine. A spool system, the graphic engine, and a job chasing function processing unit execute a chasing data generation process by using the drawing command. The spool system, the graphic engine, and a graphics control unit execute a print data generation process by using the same drawing command. At this time, the drawing command is read out and output so as to successively execute the chasing data generation process and print data generation process. With this configuration, there are provided a method of protecting leakage of information by which the contents of information can be reliably chased without requiring either a special application or a device having a special function and posing any restriction on the read or output path, and an information processing apparatus and driver program which implement the method.Type: GrantFiled: November 18, 2005Date of Patent: May 28, 2013Assignee: Canon Kabushiki KaishaInventors: Yasuhiro Kujirai, Tatsuro Uchida, Masanori Aritomi, Hiroaki Nakata
-
Patent number: 8448157Abstract: One embodiment of a method for eliminating redundant operations establishing common properties includes identifying a first virtual register storing a first value having a common property. The method may assign the first virtual register to use a real register. The method may further identify a second virtual register storing a second value also having the common property. The method may assign the second virtual register to use the same real register after the first value is no longer live. As a result of assigning the second virtual register to the first real register, the method may eliminate an operation configured to establish the common property for the second virtual register since this operation is redundant and is no longer needed.Type: GrantFiled: October 26, 2010Date of Patent: May 21, 2013Assignee: International Business Machines CorporationInventors: Marcel Mitran, Kishor V. Patil, Joran S. C. Siu, Mark G. Stoodley, Vijay Sundaresan
-
Patent number: 8443354Abstract: Detecting new or modified portions of executable code is disclosed. An indication is received that a prior version of an executable file has been replaced by a new version. A security response is provided if a process associated with the executable file attempts to perform a restricted action and a new or changed portion of code comprising the new version has executed. If no new or changed portion of code has executed, the restricted action is allowed to an extent determined previously for the prior version of the executable file.Type: GrantFiled: March 29, 2006Date of Patent: May 14, 2013Assignee: Symantec CorporationInventors: Sourabh Satish, Brian Hernacki
-
Patent number: 8429631Abstract: A system and method for managing data, such as in a data warehousing, analysis, or similar applications, where dataflow graphs are expressed as reusable map components, at least some of which are selected from a library of components, and map components are assembled to create an integrated dataflow application. Composite map components encapsulate a dataflow pattern using other maps as subcomponents. Ports are used as link points to assemble map components and are hierarchical and composite allowing ports to contain other ports. The dataflow application may be executed in a parallel processing environment by recognizing the linked data processes within the map components and assigning threads to the linked data processes.Type: GrantFiled: September 14, 2010Date of Patent: April 23, 2013Assignee: Pervasive Software, Inc.Inventors: Larry Lee Schumacher, Agustin Gonzales-Tuchmann, Laurence Tobin Yogman, Paul C. Dingman
-
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: 8413150Abstract: A method includes providing a baseline workflow as an electronic representation of an actual workflow, the baseline workflow including baseline tasks, data items, and baseline data scopes, and providing a fragment workflow as an electronic representation of an actual fragment workflow, the fragment workflow including at least one fragment task, and at least one fragment data scope. A baseline data scope is identified as an affected data scope based on a structural change operation, the baseline workflow and the fragment workflow, and the affected data scope is compared to the at least one fragment data scope to identify at least one change operation. The fragment and baseline workflows are integrated based on the structural change operation to provide an integrated workflow, and the at least one data scope change operation is executed to provide at least one integrated data scope in the integrated workflow.Type: GrantFiled: July 31, 2009Date of Patent: April 2, 2013Assignee: SAP AGInventors: Ruopeng Lu, Marek Kowalkiewicz, Marita Kruempelmann, Stefan Baeuerle
-
Patent number: 8402429Abstract: In an embodiment, a predicate condition that compares a predicate variable to a compared value is determined. The predicate condition is in a predicate block that exists on a path to a current block that accesses a current variable. A decision is made whether the current variable and the predicate variable are defined by a sub-clique and whether a member of the sub-clique sets the predicate variable to a predicate value that causes control flow to take the path from the predicate block to the current block. Upon a determination that the current variable and the predicate variable are defined by the sub-clique and the member of the sub-clique sets the predicate variable to the predicate value that causes control flow to take the path from the predicate block to the current block, then contents for the current variable are calculated and first object code is generated, which loads the contents.Type: GrantFiled: August 13, 2010Date of Patent: March 19, 2013Assignee: International Business Machines CorporationInventor: Allan H. Kielstra
-
Patent number: 8397213Abstract: The invention relates to programming hardware for useful data processing also used in the form of a suitable graphical editor. The inventive method consists in providing a plurality of modules, wherein each module can carry out at least one function for useful data processing, in defining the module connecting interfaces, in establishing, by a user, an additional connection of modules (topology) corresponding to a sequence of functions suitable for useful data processing, in classifying the modules into a plurality of module types according to predefined properties, in defining connection rules indicating admissible connections for different module types according to said types of modules in programming the hardware according to said topology.Type: GrantFiled: September 19, 2006Date of Patent: March 12, 2013Assignee: Silicon Software GmbHInventors: Ralf Lay, Klaus-Henning Noffz
-
Patent number: 8392013Abstract: A method for automating a process includes the following steps: providing a user interface which graphically presents a plurality of icons to a user, wherein each icon represents an operation step having at least one input and at least one output; enabling the user to select one or more of the icons; enabling the user to form connections between the selected icons to represent data flow between the operation steps represented by the icons; and generating computer instructions for executing the operation steps corresponding to the selected icons, and in accordance with the connections, in such a way that each operation step can only be executed when data is present at all of its inputs, and cannot be executed when data is absent at any one of its inputs.Type: GrantFiled: January 27, 2006Date of Patent: March 5, 2013Assignee: Microgen Aptitude LimitedInventors: Neil Thomson, Grzegorz R. Pusz
-
Patent number: 8381193Abstract: An apparatus, system, and method are disclosed for visual log analysis. The apparatus for visual log analysis is provided with a plurality of modules configured to functionally execute the necessary steps of retrieving log entries from a plurality of devices on a network, parsing the log entries to determine an execution flow of commands executed of the network, and displaying a graphical representation of such execution on the network. These modules in the described embodiments include a log consolidation module, a parsing module, and a display module.Type: GrantFiled: September 6, 2007Date of Patent: February 19, 2013Assignee: International Business Machines CorporationInventor: Ezequiel Cervantes
-
Patent number: 8381178Abstract: The system and method in one aspect allow understanding of Boolean expressions by representing them graphically as a flow of information. NOTs are represented as switches in the flow, capturing the original structure of the expression as written by the user. Verification of those expressions with live data is also enabled.Type: GrantFiled: July 2, 2009Date of Patent: February 19, 2013Assignee: International Business Machines CorporationInventors: Jacquelyn A. Martino, Paul M. Matchen, Rosario A. Uceda-Sosa
-
Patent number: 8356289Abstract: A mechanism for encoding and reporting instrumented data is disclosed that requires less storage space and incurs less processor overhead than other methods of the prior art. In accordance with the illustrative embodiment, a bit vector in shared memory corresponds to nodes of a program's control-flow graph that have been instrumented, and the contents of the vector indicate which of these nodes have executed; in addition, character strings in shared memory indicate what file, class, and method each node belongs to. A process that executes concurrently with those of the program under test transmits instrumented data from the shared memory to a database. The illustrative embodiment enables efficient, rapid reporting and storage of instrumented data, and is therefore especially well-suited for run-time analysis of real-time concurrent systems.Type: GrantFiled: September 29, 2008Date of Patent: January 15, 2013Assignee: Avaya Inc.Inventors: Juan Jenny Li, David Mandel Weiss
-
Patent number: 8347375Abstract: The intrusion detection function monitors for and reports detected intrusion signatures. The dynamic intrusion signatures function determines whether reported intrusion signatures exist in a library of signatures associated with a particular intrusion detection function. If the reported signature does not exist in the library, the library is updated. Detected intrusion signatures are reported to similarly enabled devices for library analysis and updating, if necessary. The related method includes the steps of monitoring for intrusion signatures or other triggering events, analyzing the events and updating IDS signature libraries as necessary.Type: GrantFiled: October 1, 2004Date of Patent: January 1, 2013Assignee: Enterasys Networks, Inc.Inventors: Richard W. Graham, John J. Roese
-
Patent number: 8341612Abstract: Disclosed are a method and system for optimized, dynamic data-dependent program execution. The disclosed system comprises a statistics computer which computes statistics of the incoming data at the current time instant, where the said statistics include the probability distribution of the incoming data, the probability distribution over program modules induced by the incoming data, the probability distribution induced over program outputs by the incoming data, and the time-complexity of each program module for the incoming data, wherein the said statistics are computed on as a function of current and past data, and previously computed statistics; a plurality of alternative execution path orders designed prior to run-time by the use of an appropriate source code; a source code selector which selects one of the execution path orders as a function of the statistics computed by the statistics computer; a complexity measurement which measures the time-complexity of the currently selected execution path-order.Type: GrantFiled: May 16, 2007Date of Patent: December 25, 2012Assignee: International Business Machines CorporationInventors: Dake He, Ashish Jagmohan, Jian Lou, Ligang Lu
-
Patent number: 8341613Abstract: Embodiments of the invention provide a method for reducing stack space consumption via a head-call optimization. When compiling the source code of a computer application, a compiler application may be configured to analyze program flow to identify a “head-call” within any functions included in the program source code. Once identified, the “head-call” may be removed during program compilation. Doing so may reduce the number of elements pushed onto a program's stack space during program execution.Type: GrantFiled: December 4, 2007Date of Patent: December 25, 2012Assignee: International Business Machines CorporationInventors: Aran Donohue, Ian Richard Finlay
-
Patent number: 8316357Abstract: The efficient use of type descriptors with frozen objects. A frozen object might actually include several type descriptors, a primary type descriptor that is canonical according to a set of canonicalization rules, and an auxiliary type descriptor that is not identical to the primary type descriptor. The auxiliary type descriptor may be used to access the canonical type descriptor. When performing an operation, if the auxiliary type descriptor can be used to perform the operation, then that auxiliary type descriptor may be used. If the canonical type descriptor is to be used to perform the operation, the auxiliary type descriptor is used to gain access to the canonical primary type descriptor. The primary type descriptor is then used to perform the operation.Type: GrantFiled: September 3, 2008Date of Patent: November 20, 2012Assignee: Microsoft CorporationInventors: Scott D. Mosier, Peter F. Sollich, Frank V. Peschel-Gallee, Patrick H. Dussud, Simon J. Hall, Rudi Martin, Michael M. Magruder, Andrew Pardoe, Madhusudhan Talluri
-
Patent number: 8316311Abstract: A system and method for visually indicating one or more problems in a graphical program. The graphical program may be programmatically analyzed to discover a problem (or potential problem) in the graphical program. The problem found during the programmatic analysis of the graphical program may then be visually indicated on a display device. Visually indicating the problem may comprise visually indicating one or more objects in the graphical program to which the problem corresponds. Visually indicating the graphical program object(s) may comprise displaying information or altering the appearance of the object(s) in order to call the user's attention to the object(s).Type: GrantFiled: November 13, 2009Date of Patent: November 20, 2012Assignee: National Instruments CorporationInventor: Darren M. Nattinger
-
Patent number: 8312062Abstract: Preventing a resource leak is disclosed. An indication that an implementation object is no longer referenced by a user of the implementation object is received. The implementation object is prevented from becoming unavailable until after it is determined whether a resource associated with the implementation object is released.Type: GrantFiled: March 29, 2006Date of Patent: November 13, 2012Assignee: EMC CorporationInventors: Victor Spivak, Alex Oscherov, David Buccola
-
Patent number: 8302084Abstract: A technique is disclosed for correcting inconsistent language model parameters associated with a compiled computer readable project. One or more compiled units are analyzed to identify compiler commentary therein. Based on the debugging information, it is determined whether inconsistent language model parameters exist. If so, a user is allowed to apply a correction strategy to correct the one or more inconsistent parameters.Type: GrantFiled: November 9, 2007Date of Patent: October 30, 2012Assignee: Oracle America, Inc.Inventors: Alexander Simon, Andrew Krasny
-
Patent number: 8289884Abstract: A method and system for identifying unknown illicit networks uses node data, link data, and network data in a recursive analysis that computes node probabilities by combining patterns based on nodes, links and the topology of the network structure present simultaneously in the data. An iterative balancing algorithm is used to make the probability values self-consistent.Type: GrantFiled: January 14, 2009Date of Patent: October 16, 2012Assignee: Dulles Research LLCInventors: Vladimir Fishman, William A. Eginton, Yuri Galperin
-
Patent number: 8281290Abstract: A method may include mapping a first program to a context-free grammar. Grammar transformations may be performed on the context-free grammar to produce a transformed context-free grammar representing the first program. A second program having a program structure different than a program structure of the first program may be constructed from the transformed context-free grammar.Type: GrantFiled: January 31, 2008Date of Patent: October 2, 2012Assignee: Alcatel LucentInventor: Gerald R. Thompson
-
Patent number: 8271956Abstract: A method, system and program product for dynamically adjusting trace buffer capacity based on execution history. The method includes receiving, by a module configured to trace, a plurality of traces pertaining to one or more trace events generated during execution of a program being traced, the trace events generated including panel data and sequence data. The method further includes determining, using trace data captured from the plurality of traces received, whether or not a path for a trace event is a new path. If the path for the trace event is determined to be a new path, the method includes dynamically adjusting, by the module, an initial size of a trace buffer configured to store the trace data captured, such that, the module increases the initial size of the trace buffer upon making a determination that the trace event is a new trace event based on execution history.Type: GrantFiled: February 7, 2008Date of Patent: September 18, 2012Assignee: International Business Machines CorporationInventors: Michael J. Howland, Paul E. Rogers
-
Patent number: 8266606Abstract: A mechanism is provided for increasing efficiency of tasks by observing the performance of generally equivalent code paths during execution of the task are disclosed. Embodiments involve a computer system with software, or hard-coded logic that includes reflexive code paths. The reflexive code paths may be identified by a software or hardware designer during the design of the computer system. For that particular computer system, however, one of the code paths may offer better performance characteristics so a monitor collects performance data during execution of the reflexive code paths and a code path selector selects the reflexive code with favorable performance characteristics. One embodiment improves the performance of memory allocation by selectively implementing a tunable, linear, memory allocation module in place of a default memory allocation module.Type: GrantFiled: May 13, 2008Date of Patent: September 11, 2012Assignee: International Business Machines CorporationInventor: Marc Alan Dickenson
-
Patent number: 8255911Abstract: According to one embodiment, parallel processing optimization method for an apparatus configured to assign dynamically a part of some of basic modules, into which a program is divided and which comprise a execution rule which defines a executing order of the basic modules and are executable asynchronously with another modules, to threads includes identifiers based on the execution rule wherein the some of the basic modules are assignable to the threads, and configured to execute in parallel the threads by execution modules, the method includes managing the part of some of the basic modules and the identifiers of the threads assigned the part of some of the basic modules, managing an executable set includes the some of the basic modules, calculating transfer costs of the some of the basic modules when data, and selecting one of the basic module with a minimum transfer cost in the transfer costs.Type: GrantFiled: April 27, 2010Date of Patent: August 28, 2012Assignee: Kabushiki Kaisha ToshibaInventor: Ryuji Sakai
-
Patent number: 8255891Abstract: A computer-implemented method and system for improved data flow analysis and optimization are disclosed. The method and system generates data flow analysis information from vectorized processing components, the data flow analysis information including an input information set and an output information set, generates hole information from the vectorized processing components, selects needed holes based on the input information set, the output information set, and the hole information, and modifies a portion of the data flow analysis 10 information by retaining needed holes and removing holes not identified as needed holes from the vectorized processing components.Type: GrantFiled: December 30, 2005Date of Patent: August 28, 2012Assignee: Intel CorporationInventors: Zhenqiang Chen, Lei Jin, Jiangang Zhuang
-
Patent number: 8250553Abstract: A method for detecting problems caused by access to incompletely initialized data storage in assembler programs includes generating an internal representation of control flow of the source code of the assembler program including nodes for every statement found in the source code and a directed edge for every possible flow of control between the nodes. The method also includes: attributing data attributes to the nodes and/or the edges, wherein the data attributes are used to store the information how many bits within the data storage can be guaranteed to be initialized; applying a data-flow analysis method to the internal representation of the control flow of the source code for determining how many bits of the data storage can be guaranteed to be initialized; checking for each node whether the instruction reads more bits than are guaranteed to be initialized; and generating one or more error messages responsive to the problem.Type: GrantFiled: March 26, 2007Date of Patent: August 21, 2012Assignee: International Business Machines CorporationInventor: Wolfgang Gellerich
-
Patent number: 8245211Abstract: The present invention provides a system and method for detecting problems caused by access to incompletely initialized data storage in assembler and high-level language programs. An internal representation of the control flow of the source code of the assembler program is generated and a data-flow analysis method is applied to the internal representation.Type: GrantFiled: May 30, 2008Date of Patent: August 14, 2012Assignee: International Business Machines CorporationInventor: Wolfgang Gellerich
-
Patent number: 8239847Abstract: General-purpose distributed data-parallel computing using high-level computing languages is described. Data parallel portions of a sequential program written in a high-level language are automatically translated into a distributed execution plan. Map and reduction computations are automatically added to the plan. Patterns in the sequential program can be automatically identified to trigger map and reduction processing. Direct invocation of map and reduction processing is also provided. One or more portions of the reduce computation are pushed to the map stage and dynamic aggregation is inserted when possible. The system automatically identifies opportunities for partial reductions and aggregation, but also provides a set of extensions in a high-level computing language for the generation and optimization of the distributed execution plan. The extensions include annotations to declare functions suitable for these optimizations.Type: GrantFiled: March 18, 2009Date of Patent: August 7, 2012Assignee: Microsoft CorporationInventors: Yuan Yu, Pradeep Kumar Gunda, Michael A Isard
-
Patent number: 8239844Abstract: A computing device-implemented method includes receiving a program, analyzing and transforming the program, determining an inner context and an outer context of the program based on the analysis of the program, and allocating one or more portions of the inner context of the program to two or more labs for parallel execution. The method also includes receiving one or more results associated with the parallel execution of the one or more portions from the two or more labs, and providing the one or more results to the outer context of the program.Type: GrantFiled: October 20, 2008Date of Patent: August 7, 2012Assignee: The MathWorks, Inc.Inventors: Halldor N. Stefansson, Brett Baker, Edric Ellis, Joseph F. Hicklin, John N. Little, Jocelyn Luke Martin, Piotr R. Luszczek, Nausheen B. Moulana, Loren Dean, Roy E. Lurie
-
Patent number: 8234637Abstract: In an implementation, a computing device-implemented method includes identifying a non-blocking block in a graphical block diagram that includes the non-blocking block and other blocks, the other blocks including one or more non-blocking blocks, one or more blocking blocks, or a combination of one or more non-blocking blocks and one or more blocking blocks, determining whether one or more of the other blocks are dependent on an output from the non-blocking block, and partitioning execution of the non-blocking block into two or more execution stages, generating an order of execution of the graphical blocks, the order including a first stage of execution of the two or more execution stages for the non-blocking block, followed by an execution of one or more of the other blocks that have been determined not be dependent on the output from the non-blocking block, followed by a second stage of execution of the two or more execution stages.Type: GrantFiled: September 11, 2009Date of Patent: July 31, 2012Assignee: The Mathworks, Inc.Inventors: Rajiv Ghosh-Roy, John Edward Ciolfi