Patent application number | Description | Published |
20080250254 | APPLICATION SETTINGS MIGRATION USING VIRTUALIZATION - Application setting virtualization for a user. Application settings from a source computer are copied to a user-specific location on a destination computer and layered under corresponding application settings associated with one or more applications installed on the destination computer. In response to receiving a request from an application for an application setting, the requested application setting is retrieved from the layered application settings such that the layers are searched in order for the requested application setting and the first application setting found is retrieved and returned to the requesting application. | 10-09-2008 |
20080258865 | BINARY VERIFICATION SERVICE - A binary is received at a binary verification service from a binary verification client agent. The binary verification service performs binary verification of the binary, wherein binary verification includes determining whether the binary is complicit with a set of usage rules. The binary verification service sends a binary verification result to the binary verification client agent. | 10-23-2008 |
20080271021 | MULTI CORE OPTIMIZATIONS ON A BINARY USING STATIC AND RUN TIME ANALYSIS - An apparatus and method provide for profile optimizations at a binary level. Thread specific data may be used to lay out a procedure in a binary. In one example, a hot thread may be identified and a layout may be generated based on the identified hot thread. Also, threads of an application may be ranked according to frequency of execution of the corresponding threads. The layout may be created based on the different threads of differing frequency of execution and conflicts between a hottest thread and each of the other threads of the application. In another example, different threads of the application may conflict. For example, two threads may contain operations that overlap temporally to create a race condition. A layout of the application threads may be created based on conflicting threads. | 10-30-2008 |
20080271147 | Pattern matching for spyware detection - Spyware programs are detected even if their binary code is modified by normalizing the available code and comparing to known spyware patterns. Upon normalizing the known spyware code patterns, a signature of the normalized code is generated. Similar normalization techniques are employed to reduce the executable binary code as well. A match between the normalized spyware signature and the patterns in the normalized executable code is analyzed to determine whether the executable code includes a known spyware. For pattern matching, Deterministic Finite Automata (DFA) is constructed for basic blocks and simulated on the basic blocks of target executable, hash codes are generated for instructions in target code and known spyware code and compared, register usages are replaced with common variables and compared, and finally Direct Acyclic Graphs (DAGs) of all blocks are constructed and compared to catch reordering of mutually independent instructions and renamed variables. | 10-30-2008 |
20080276253 | AUTOMATED EVENT CORRELATION - Events captured at an application are compared to event correlation instances, wherein an event correlation instance represents a relationship between events of components of the application. The event of a plurality of events that is a potential root cause event of the plurality of events is determined. The potential root cause event and component associated with the potential root cause event are outputted. | 11-06-2008 |
20080295058 | REPRESENTING BINARY CODE AS A CIRCUIT - A high level intermediate representation of a binary is generated. Circuit nodes from the high level intermediate representation are built, wherein a circuit node represents an operation in the high level intermediate representation. The circuit nodes are connecting using a flow analysis of the binary to build a circuit that represents the binary. | 11-27-2008 |
20080295085 | INTEGRATED CODE REVIEW TOOL - A code review tool system includes a developer on a developer node, a reviewer on a reviewer node, and a server on a server node. The developer node and the reviewer node include an integrated code review tool. The integrated code review tool includes functionality for a developer to specify source code files to be reviewed and a list of reviewer identifiers. The integrated code review tool also includes functionality to associate the reviewer's comments and/or proposed code changes with context information identifying a location in the source code files. The reviewer's comments, proposed code changes, and associated context information is sent to the developer. The developer may then see the reviewer's comments and proposed code changes in context with the location in the source code to which the comments and code changes pertain. | 11-27-2008 |
20080301502 | SYSTEM CRASH ANALYSIS USING PATH TRACING TECHNOLOGIES - Technologies, systems and methods for code path analysis of an executable including: generating call graphs and control flow graphs of selected functions in the executable, and instrumenting the selected functions to provide for logging of path trace information for the selected functions upon execution of the instrumented executable, the path trace information usable for efficient system crash analysis and debugging. A stack trace from a crash dump may be utilized in the selection of the functions to analyze. | 12-04-2008 |
20080301650 | STATIC PERFORMANCE ANALYSIS OF SOFTWARE - Technologies for estimating deviations in the performance characteristics of a newer version of software relative to an older version. Such performance characteristics include cache misses, pages faults, and the like. Estimations are typically made by instrumenting and profiling an older version binary, determining differences in code blocks between the older and a newer version, propagating profile data from the older version to the newer version based on a simulation heuristic, and estimating performance deviations based on the older version, the profile data, configuration parameters, and the changes in the newer version without actually executing the newer version of the binary. | 12-04-2008 |
20080320056 | FUNCTION MATCHING IN BINARIES - Which target functions in a target binary have target function basic blocks that match the source function basic blocks in a source function in a source binary is determined. For the target functions having matching target function basic blocks, a target function control flow graph is determined that has the greatest control flow matching strength to a source function control flow graph, wherein a node in the source function control graph represents a source function basic block, wherein a node in a target function control graph represents a target function basic block in a corresponding target function. | 12-25-2008 |
20090006075 | PHONETIC SEARCH USING NORMALIZED STRING - A method and system for generating a normalized string and performing a phonetic search are provided. To normalize a string, a native string is obtained. Upon obtaining a native string, native-character sets within the native string are identified. Each native-character set is associated with a phonetically corresponding normalized character-set. A normalized string is generated based on the phonetically corresponding normalized character-sets. After normalizing a query string and one or more search content strings, the normalized strings may be utilized to perform a phonetic search. As such, the query string may be compared to the one or more search content strings to ascertain relevant search results. Relevant search results may be indexed and obtained at a later instant. | 01-01-2009 |
20090240698 | COMPUTING ENVIRONMENT PLATFORM - The diverse objects comprising a computing environment may be represented together as a deployable object hierarchy, which may facilitate the deployment, as well as the consistency, of a computing environment rendered by a plurality of devices. The processes within the computing environment often operate on the objects of the object hierarchy in a variety of ways, including simple operations (creation, reading, updating, and deleting) and more sophisticated operations (synchronizing, paginating, and caching), as well as with the object hierarchy in general. A platform may be devised to facilitate the various operations of the processes on the object hierarchy. The platform may be embodied, such as in an application runtime, and deployed to a variety of platforms to facilitate an equivalent execution of the processes on any type of device and consistent interactions with the object hierarchy. | 09-24-2009 |
20110265050 | REPRESENTING BINARY CODE AS A CIRCUIT - A high level intermediate representation of a binary is generated. Circuit nodes from the high level intermediate representation are built, wherein a circuit node represents an operation in the high level intermediate representation. The circuit nodes are connecting using a flow analysis of the binary to build a circuit that represents the binary. | 10-27-2011 |
20110321063 | APPLICATION SETTINGS MIGRATION USING VIRTUALIZATION - Application setting virtualization for a user. Application settings from a source computer are copied to a user-specific location on a destination computer and layered under corresponding application settings associated with one or more applications installed on the destination computer. In response to receiving a request from an application for an application setting, the requested application setting is retrieved from the layered application settings such that the layers are searched in order for the requested application setting and the first application setting found is retrieved and returned to the requesting application. | 12-29-2011 |