Analysis Of Code Form Patents (Class 717/141)
  • Patent number: 8769510
    Abstract: A device receives program code, and receives size/type information associated with inputs to the program code. The device determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a graphical processing unit (GPU), and determines, prior to execution of the program code and based on the input size/type information, a portion of the program code that is executable by a central processing unit (CPU). The device compiles the GPU-executable portion of the program code to create a compiled GPU-executable portion of the program code, and compiles the CPU-executable portion of the program code to create a compiled CPU-executable portion of the program code. The device provides, to the GPU for execution, the compiled GPU-executable portion of the program code, and provides, to the CPU for execution, the compiled CPU-executable portion of the program code.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: July 1, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Jocelyn Luke Martin, Joseph F. Hicklin
  • Patent number: 8769501
    Abstract: A method for analyzing changes in a software code may have the steps of: inputting a plurality of different versions of a plurality of software artifacts to a change analysis device, deriving design constructs of the software code of the software artifacts by using an abstract syntax tree analysis, with the software code differences between the different versions of each of the software artifacts, classifying the derived design constructs of each of the software artifacts according to the compared software code differences, and outputting a visualization of the design constructs of each of the software artifacts, which visualization is structured according to the classification of the design constructs.
    Type: Grant
    Filed: December 7, 2011
    Date of Patent: July 1, 2014
    Assignee: Siemens Aktiengesellschaft
    Inventors: Jürgen Salecker, Egon Wuchner
  • Patent number: 8769507
    Abstract: A method, system, and article of manufacture are disclosed for transforming a definition of a process for delivering a service on a specified computing device. This service process definition is comprised of computer readable code. The method comprises the steps of expressing a given set of assumptions in a computer readable code; and transforming the definition by using a processing unit to apply the assumptions to the definition of the process to change the way in which the process operates. The definition of the process may be transformed by using factors relating to the specific context in or for which the definition is executed. Also, the definition may be transformed by identifying, in a flow diagram for the process, flows to which the assumptions apply, and applying program rewriting techniques to those identified flows.
    Type: Grant
    Filed: May 14, 2009
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
  • Patent number: 8762942
    Abstract: An efficient, logical and expressive type system supports the combination of refinement types and type membership expressions, as well as a top type that encompasses all valid values as members. A bidirectional type checking algorithm is provided for the type system including synthesis and checking steps to statically verify types of code based on the type system.
    Type: Grant
    Filed: October 3, 2008
    Date of Patent: June 24, 2014
    Assignee: Microsoft Corporation
    Inventors: David E. Langworthy, Gavin Bierman, Andrew D. Gordon, Donald F. Box, Bradford H. Lovering, Jeffrey C. Schlimmer, John D. Doty
  • Patent number: 8762974
    Abstract: Methods, systems and computer program products are provided for creating and compiling source program code using one or more compiler directives a programming environment. The compiler directives may provide information on how to compile the source program code. The compiler directives may apply to the source program code under a given condition. The compiler directive may appear at the second or lower level of the source program code. The present invention may also provide a compiler that can determine the given condition of the source program code and apply the compiler directives based upon the determination of the given condition.
    Type: Grant
    Filed: June 30, 2005
    Date of Patent: June 24, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Frederick Mattsson Smith, Alexander Jean-Claude Bottema, Yao Ren
  • Publication number: 20140173574
    Abstract: A determination is made that at least one missing dependency reference of a portion of a software code build prevents full dependency resolution of the software code build. Search path processing is invoked using a SEARCHPATH definition to locate all additional accessible code modules that are potential candidate code modules to resolve the at least one missing dependency reference. The SEARCHPATH definition includes a set of predefined alternative search locations relative to dependency locations specified for the software code build. An interface definition of each coded method is identified within each located additional accessible code module found by the search path processing. A code module found by the search path processing that includes an identified interface definition of at least one coded method that resolves at least a portion of interface requirements of the at least one missing dependency reference is selected.
    Type: Application
    Filed: December 19, 2012
    Publication date: June 19, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Schmidt, Scott A. Will
  • Patent number: 8751823
    Abstract: Disclosed herein are systems, methods, and non-transitory computer-readable storage media for obfuscating branches in computer code. A compiler or a post-compilation tool can obfuscate branches by receiving source code, and compiling the source code to yield computer-executable code. The compiler identifies branches in the computer-executable code, and determines a return address and a destination value for each branch. Then, based on the return address and the destination value for each branch, the compiler constructs a binary tree with nodes and leaf nodes, each node storing a balanced value, and each leaf node storing a destination value. The non-leaf nodes are arranged such that searching the binary tree by return address leads to a corresponding destination value. Then the compiler inserts the binary tree in the computer-executable code and replaces each branch with instructions in the computer-executable code for performing a branching operation based on the binary tree.
    Type: Grant
    Filed: August 1, 2011
    Date of Patent: June 10, 2014
    Assignee: Apple Inc.
    Inventors: Gideon M. Myles, Julien Lerouge, Jon McLachlan, Ganna Zaks, Augustin J. Farrugia
  • Patent number: 8751210
    Abstract: When a wait statement is encountered in an HDL simulation, the simulation kernel executes functions corresponding to other processes while waiting for the wait to mature. However, the preservation of variables and states of each process and procedure in the call chain can be complex and inefficient. An embodiment of the present invention provides a method to suspend procedures in simulation of an HDL circuit design such that processes that call procedures containing wait statements are executed on a secondary runtime stack and can be suspended by saving the state of simulation and switching simulation execution to the primary runtime stack.
    Type: Grant
    Filed: November 16, 2009
    Date of Patent: June 10, 2014
    Assignee: Xilinx, Inc.
    Inventor: Sonal Santan
  • Patent number: 8752035
    Abstract: Transforming dynamic code. The method includes obtaining one or more first data structures defining constructs in a body of dynamic language source code. From the one or more first data structures, identifier information is extracted for one or more of the defined constructs. Knowledge about the constructs is augmented. Using the identifier information and augmented knowledge, metadata is generated about the body of the dynamic language source code. The generated metadata is represented as a symbol table. Using the symbol table, the body of dynamic language source code is transformed.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: June 10, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael C. Fanning, Frederico A. Mameri, Zachary A. Nation
  • Patent number: 8745603
    Abstract: A runtime system implemented in accordance with the present invention provides an application platform for parallel-processing computer systems. Such a runtime system enables users to leverage the computational power of parallel-processing computer systems to accelerate/optimize numeric and array-intensive computations in their application programs. This enables greatly increased performance of high-performance computing (HPC) applications.
    Type: Grant
    Filed: May 10, 2013
    Date of Patent: June 3, 2014
    Assignee: Google Inc.
    Inventors: Morgan S. McGuire, Christopher G. Demetriou, Brian K. Grant, Matthew N. Papakipos
  • Patent number: 8745578
    Abstract: A system for eliminating false-positive reports resulting from static analysis of computer software is provided herein. The system includes the following components executed by a processor: a modeler configured to model a computer code into a model that defines sources, sinks, and flows; a static analyzer configured to apply static analysis to the code or the model, to yield reports indicative of at least one issue relating to one or more of the flows; a preconditions generator configured to generate preconditions for eliminating false-positive issues in the reports, based on the model and user-provided input; and a preconditions checker configured to apply the generated preconditions to the reports for eliminating false-positive issues in the reports.
    Type: Grant
    Filed: December 4, 2011
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marco Pistoia, Omer Tripp
  • Patent number: 8745605
    Abstract: Various domains may wish to specify different implementations of the type; e.g., a compilation domain may describe the type statically, an execution domain may instantiate objects of the given type, while a debugging execution domain may associate additional debugging information such as a symbol name. This may be achieved by specifying a type implementation of a particular type within respective domains which all implement a common type interface. A type binding instruction set may then select a type implementation for the type within the target instruction set according to the domain, and may bind type instances of the type within target instruction set to the selected type implementation for the current domain. This technique yields domain-specific variance in type implementation without having to reconfigure the target instruction set or perform domain-checking logic there-within.
    Type: Grant
    Filed: January 9, 2009
    Date of Patent: June 3, 2014
    Assignee: Microsoft Corporation
    Inventors: Jonathon Michael Stall, Renaud Paquay, Sonja Keserovic, Michael Gregory Montwill
  • Patent number: 8738931
    Abstract: A semantics engine is described that produces a semantically-impaired but equivalent version of the original source code that can be compiled and executed using conventional tools for commonly used programming languages. This semantically-impaired source code and the compiled assemblies it produces are incomprehensible to anyone who would attempt to read them. The semantics-impairing process is irreversible both at the source and the assembly levels and the machine code generated by the semantically-impaired source code is exactly the same as that produced by the original source code. The semantics engine achieves confidentiality without using encryption or compression. All protective modifications are made directly to copies of the original source code thereby introducing no intermediate forms of the code.
    Type: Grant
    Filed: October 21, 2013
    Date of Patent: May 27, 2014
    Inventor: Conley Jack Funk
  • Patent number: 8739122
    Abstract: In one embodiment the invention provides a method to provide command line utility output to an application without the need of temporary files. The method includes receiving an identifier, receiving output from a command line utility, and storing the command line utility output in a system storage at a location identified by the identifier. In one illustrative embodiment, command line utility output is stored in a system registry database. In another illustrative embodiment, command line utility output is stored in a shared system memory. The method may be stored in any media that is readable and executable by a computer system.
    Type: Grant
    Filed: May 19, 2011
    Date of Patent: May 27, 2014
    Assignee: Mircon Technology, Inc.
    Inventor: James McKeeth
  • Patent number: 8732455
    Abstract: Embodiments of the invention provide a method and a system of detecting source code in a message being sent over a digital communication network to secure against unauthorized leakage of source code. The message is intercepted on a network device, placed into a memory on the network device, and divided into one or more segments, wherein each segment includes a predetermined number of lines of text from the message. For each segment, one or more syntax rules of a programming language is applied to the segment and a predetermined number of context lines of text before the segment and/or after the segment, to determine which of the syntax rules of the programming language are matched in the segment. A determination of whether the text message includes source code is provided based on the syntax rules that were matched.
    Type: Grant
    Filed: July 25, 2008
    Date of Patent: May 20, 2014
    Assignee: Infotect Security Pte Ltd
    Inventors: Onn Chee Wong, Siew Keng Loh, Hui Yang, You Liang Wang
  • Patent number: 8732682
    Abstract: The system and methods described herein may be used to detect and tolerate atomicity violations between concurrent code blocks and/or to generate code that is executable to detect and tolerate such violations. A compiler may transform program code in which the potential for atomicity violations exists into alternate code that tolerates these potential violations. For example, the compiler may inflate critical sections, transform non-critical sections into critical sections, or coalesce multiple critical sections into a single critical section. The techniques described herein may utilize an auxiliary lock state for locks on critical sections to enable detection of atomicity violations in program code by enabling the system to distinguish between program points at which lock acquisition and release operations appeared in the original program, and the points at which these operations actually occur when executing the transformed program code.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: May 20, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Virendra J. Marathe, David Dice
  • Patent number: 8726255
    Abstract: Executable code may be recompiled so that generic portions of code may be replaced with specific portions of code. The recompilation may customize executable code for a specific use or configuration, making the code lightweight and executing faster. The replacement mechanism may replace variable names with fixed values, replace conditional branches with only those branches which are known to be executed, and may eliminate executable code portions that are not executed. The replacement mechanism may comprise identifying known values defined in the executable code for variables, and replacing those variables with the constant value. Once the constants are substituted, the code may be analyzed to identify branches that may be evaluated using the constant values. Those branches may be reformed using the constant value and the rest of the conditional code that may not be accessed may be removed.
    Type: Grant
    Filed: May 1, 2012
    Date of Patent: May 13, 2014
    Assignee: Concurix Corporation
    Inventors: Alexander G. Gounares, Charles D. Garrett
  • Patent number: 8726236
    Abstract: In one illustrative embodiment, a computer-implemented method for identifying program components, generates, by a processor unit, associations between the program components stored in a computer usable storage medium to create a first set of relationships, and assigns, by the processor unit, a probability to each relationship in the first set of relationships to create a second set of relationships, wherein the probability indicates a strength of the associations between the program components.
    Type: Grant
    Filed: October 26, 2009
    Date of Patent: May 13, 2014
    Assignee: International Business Machines Corporation
    Inventors: Peter Alan Coldicott, Eoin Lane, Magda Mahmoud Mourad
  • Patent number: 8726245
    Abstract: Preparing a computer software application for static analysis by identifying a control flow within a model portion of a computer software application having a model-view-controller architecture, where the control flow passes a value to a controller portion of the computer software application, analyzing a declarative specification of the controller portion of the computer software application to identify a view to which the controller portion passes control based on the value, and synthesizing a method within the computer software application, where the method calls the view.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: May 13, 2014
    Assignee: International Business Machines Corporation
    Inventors: Yinnon A. Haviv, Omer Tripp, Omri Weisman
  • Patent number: 8719803
    Abstract: A parallelism policy object provides a control parallelism interface whose implementation evaluates parallelism conditions that are left unspecified in the interface. User-defined and other parallelism policy procedures can make recommendations to a worker program for transitioning between sequential program execution and parallel execution. Parallelizing assistance values obtained at runtime can be used in the parallelism conditions on which the recommendations are based. A consistent parallelization policy can be employed across a range of parallel constructs, and inside recursive procedures.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Stephen Toub, Igor Ostrovsky, Joe Duffy, Vance Morrison, Huseyin Yildiz
  • Patent number: 8719792
    Abstract: A method of correcting job control language (JCL) jobs scans a JCL job against a set of JCL syntax rules. The method automatically corrects any syntax errors discovered during the scanning, thereby forming a corrected JCL job. The method then runs the corrected JCL job. If the corrected JCL ends abnormally due to an execution error, the method then automatically determines if the execution error is recoverable. If the execution error is recoverable, the method automatically corrects the recoverable error to form a recovered corrected JCL job. The method reruns the recovered corrected JCL job.
    Type: Grant
    Filed: March 24, 2008
    Date of Patent: May 6, 2014
    Assignee: International Business Machines Corporation
    Inventors: Philip R. Chauvet, David C. Reed, Michael R. Scott, Max D. Smith
  • Patent number: 8713543
    Abstract: A method and software system allowing the ability to use an existing Excel model and extract the business intelligence, relationships, computations and model into pure mathematical relationships and codes such that the business intelligence in the original model is completely protected and the model can be run at extremely high speed and advanced simulations of hundreds of thousands to millions of trials can be run.
    Type: Grant
    Filed: February 11, 2009
    Date of Patent: April 29, 2014
    Inventor: Johnathan C. Mun
  • Patent number: 8713514
    Abstract: Data typing information for heterogeneous language components is obtained during software development without requiring executable regeneration. After source code is changed, dependent compiled components, which are written in multiple high-level programming languages, are identified. A query engine obtains data typing information of the dependent components, such as function signatures and class definition, directly from internal compiler-created structures for the respective programming languages. Through a synchronizer, a shared model is automatically populated with the data typing information. The updated model supports cross-language software development operations such as autocompletion, refactoring, dependency finding, and definition go-to, without regeneration of an executable code unit which reflects the changed source code. In cases involving SQL or Transact-SQL (T-SQL), a Data Definition Language file can be automatically generated from the data typing information.
    Type: Grant
    Filed: May 6, 2011
    Date of Patent: April 29, 2014
    Assignee: Microsoft Corporation
    Inventor: Fabian Winternitz
  • Patent number: 8707270
    Abstract: A system, method, and computer readable medium. A method includes loading a first language definition and a second language definition. The method includes loading a transformation definition corresponding to the first language definition and the second language definition and loading a validation rule definition. The method includes applying the validation rule definition to the transformation definition to produce a validation result indicating whether the transformation definition produces a valid transformation between the first language definition and the second language definition. The method includes storing the validation result.
    Type: Grant
    Filed: February 17, 2010
    Date of Patent: April 22, 2014
    Assignee: Siemens Product Lifecycle Management Software Inc.
    Inventor: John Staehle Whelan
  • Patent number: 8701086
    Abstract: An aspect of the present invention facilitates analysis of software code written in a programming language. In one embodiment, a visual interface designed to receive values identifying constructs of the programming language is provided on a display unit. In response to receiving, from a user using the visual interface, values corresponding to a construct of interest, a rule indicating a string of characters (that would constitute the construct of interest) is generated based on the received values. The generated rule is then applied to the software code to identify blocks matching the string of characters, each block representing a corresponding occurrence of the construct of interest in the software code.
    Type: Grant
    Filed: January 17, 2012
    Date of Patent: April 15, 2014
    Assignee: NIIT Technologies Ltd
    Inventors: Udayan Banerjee, Eswaran Narasimhan
  • Patent number: 8694978
    Abstract: Methods, systems, computer-readable media, and apparatus for determining function side effects of a program function are disclosed. Source code of one or more prototype functions that is configured to simulate the function side-effect behaviors of a program function can be provided, and the compiler can determine the functional side effects of the program function in various specific program contexts based on the source code of the prototype functions rather than the source code of the program function. Optimization procedures can be performed based on the function side effects of the program function derived from the prototype functions and the program contexts.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: April 8, 2014
    Assignee: Google Inc.
    Inventors: Silvius V. Rus, Xinliang David Li
  • Patent number: 8694974
    Abstract: A compiled program has an advanced-load instruction and a load-checking atomic section. The load-checking atomic section follows the advanced-load instruction in the compiled program. The advanced-load instruction, when executed, loads a value from a shared memory address. The load-checking atomic section includes a check instruction for checking the validity of the shared memory address.
    Type: Grant
    Filed: April 29, 2009
    Date of Patent: April 8, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Arvind Krishnaswamy
  • Patent number: 8689172
    Abstract: A method for finding sequential patterns of attributes in a directed graph includes constructing a directed graph comprising multiple nodes and edges between the nodes. Each of the nodes may be assigned one or more attributes. Similarly, each of the edges may be assigned a weight value which may indicate the probably the edge will be traversed during traversal of the directed graph. The method may further include finding sequences of attributes in the directed graph that have some minimum amount of frequency and/or time support. In performing this step, the frequency support of each individual instance of a sequence of attributes may be calculated by multiplying the weight values along the edge or edges of the instance. A corresponding apparatus and computer program product are also disclosed and claimed herein.
    Type: Grant
    Filed: March 24, 2009
    Date of Patent: April 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jose Nelson Amaral, Adam Paul Jocksch, Marcel Mitran
  • Patent number: 8683451
    Abstract: A system and method for generating test code software utilized by a test system for testing a circuit card assembly is provided. A translator provides an automatic translation of a test code from a first computer language to a second computer language. One or more pinmap documents are provided to map the pins of the circuit card assembly.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: March 25, 2014
    Assignee: The United States of America as represented by the Secretary of the Navy
    Inventors: Steven M. Cox, Jonathan Torok
  • Patent number: 8683423
    Abstract: A method for finding sequential patterns of attributes in a directed graph includes constructing a directed graph comprising multiple nodes and edges between the nodes. Each of the nodes may be assigned one or more attributes. Similarly, each of the edges may be assigned a weight value which may indicate the probably the edge will be traversed during traversal of the directed graph. The method may further include finding sequences of attributes in the directed graph that have some minimum amount of frequency and/or time support. In performing this step, the frequency support of each individual instance of a sequence of attributes may be calculated by multiplying the weight values along the edge or edges of the instance. A corresponding apparatus and computer program product are also disclosed and claimed herein.
    Type: Grant
    Filed: March 27, 2012
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jose Nelson Amaral, Adam Paul Jocksch, Marcel Mitran
  • Patent number: 8677330
    Abstract: A compiling method compiles an object program to be executed by a processor having a plurality of execution units operable in parallel. In the method a first availability chain is created from a producer instruction (p1), scheduled for execution by a first one of the execution units (20: AGU), to a first consumer instruction (c1), scheduled for execution by a second one of the execution units (22: EXU) and requiring a value produced by the said producer instruction. The first availability chain comprises at least one move instruction (mv1-mv3) for moving the required value from a first point (20: ARF) accessible by the first execution unit to a second point (22: DRF) accessible by the second execution unit.
    Type: Grant
    Filed: June 9, 2010
    Date of Patent: March 18, 2014
    Assignee: Altera Corporation
    Inventors: Marcio Merino Fernandes, Raymond Malcolm Livesley
  • Publication number: 20140075421
    Abstract: Exemplary embodiments disclose a method for generating an assertion based on a user program code. The method may include receiving a user program comprising at least one assertion directive, a compiled result of the user program, and architecture information of a processor, and generating, based on the compiled result of the user program and the architecture information of the processor, an assertion which states an operation that the processor needs to perform in accordance with a code of the user program indicated by each of the at least one assertion directive.
    Type: Application
    Filed: September 9, 2013
    Publication date: March 13, 2014
    Applicant: Samsung Electronics Co., Ltd.
    Inventors: Jin-sae JUNG, Hee-jun SHIM, Young-chul CHO, Yen-jo HAN
  • Publication number: 20140068576
    Abstract: Methods, systems, and computer program products for generating executable computer code in an extensible format are provided. A computer-implemented method may include receiving computer source code for compilation and compiling the source code, to generate executable computer code in an extensible format that includes instructions for execution by a computer system configured to process the instructions in the extensible format.
    Type: Application
    Filed: August 30, 2012
    Publication date: March 6, 2014
    Applicant: Sybase, Inc.
    Inventors: Santosh Dattu Pendap, Sergey Babkin, Palaniappan Gandhi, JR., Mohyuddin Rehmattullah, Manbeen P. Kohli, Gregory L. Shtilman, Andrzej Kucharczyk, Joseph Michael Skrzypczak, Kyle James Dohring, Vincent Roy Garofalo, Raphael Hercules Sutton
  • Patent number: 8667459
    Abstract: Systems and methods of executing an application in an application specific runtime environment are disclosed. The application specific runtime environment is defined by an application environment specification to include a minimal or reduced set of software resources required for execution of the application. The application environment is generated by determining software resource dependencies and is used to provision the application specific runtime environment in real-time in response to a request to execute the application. Use of the application specific runtime environment allows the application to be executed using fewer computing resources, e.g., memory.
    Type: Grant
    Filed: May 31, 2011
    Date of Patent: March 4, 2014
    Assignee: VMware, Inc.
    Inventors: Stevan Vlaovic, Richard Offer, Lynn Leblanc
  • Patent number: 8661421
    Abstract: An embodiment of the invention includes code, such as a compiler, that enables byte order dependent code to execute on opposite byte order dependent architectures or systems. The compiler analyzes source code and produces diagnostic reports that indicate where source code changes are desirable to produce “endian neutral” source code versions that are compatible with opposite byte order dependent architectures or systems. Such source code changes may be desirable for code portions that will produce implicit byte order changes or byte order border crossings. The modified source code that is generated may include the semantics of the desired endian conversion, as opposed to generated executable code that includes proper endian formats but which may limit the architectures to which the code is applicable.
    Type: Grant
    Filed: December 21, 2009
    Date of Patent: February 25, 2014
    Assignee: Intel Corporation
    Inventors: Maximillian J. Domeika, Hugh Wilkinson, Michael P. Rice
  • Publication number: 20140053142
    Abstract: Aspects of the subject matter described herein relate to imperative attribution. In aspects, metadata of a managed runtime environment may be set by imperative statements included in code of a program executing in the managed runtime environment. The metadata may be associated with lookup data that identifies the metadata. The lookup data may be formed from an identifier supplied by an imperative statement and an identifier of a logical element which may be explicitly or implicitly supplied. The metadata may be computed at parse time, run time, or another time and may be computed based on state available to a managed runtime environment at the time the metadata is computed.
    Type: Application
    Filed: August 16, 2012
    Publication date: February 20, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael C. Fanning, Gregory Bernard Miskelly, Akrosh Gandhi, Timothy S. Rice, Tae Hyung Kim
  • Patent number: 8656377
    Abstract: Embodiments are directed to tracking variable location information in optimized code and efficiently collecting and storing reaching definition information. A computer system receives a portion of source code at a compiler, where the compiler is configured to compile and optimize the source code for execution. The computer system tags selected variables in the source code with a tag, where the tag is configured to provide location information for the variable. The computer system optimizes the received portion of source code including changing at least one of the tagged variables. The computer system also tracks the tagged variables as the variables are changed by the compiler during code optimization and persists the variable location information, so that the persisted variable location information is available to other compiler components.
    Type: Grant
    Filed: June 10, 2010
    Date of Patent: February 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Lin Xu, Weiping Hu, Yongkang Zhu
  • Publication number: 20140047419
    Abstract: Some embodiments include a processing subsystem that compiles program code to generate compiled program code. In these embodiments, while compiling the program code, the processing subsystem first identifies a pointer in the program code that points to an unspecified address space. The processing subsystem then analyzes at least a portion of the program code to determine one or more address spaces to which the pointer may point. Next, the processor updates metadata for the pointer to indicate the one or more address spaces to which the pointer may point, the metadata enabling a determination of an address space to which the pointer points during subsequent execution of the compiled program code.
    Type: Application
    Filed: October 1, 2012
    Publication date: February 13, 2014
    Applicant: Advanced Micro Devices, Inc.
    Inventor: Benedict R. Gaster
  • Patent number: 8650554
    Abstract: A mechanism is provided for improving single-thread performance for a multi-threaded, in-order processor core. In a first phase, a compiler analyzes application code to identify instructions that can be executed in parallel with focus on instruction-level parallelism and removing any register interference between the threads. The compiler inserts as appropriate synchronization instructions supported by the apparatus to ensure that the resulting execution of the threads is equivalent to the execution of the application code in a single thread. In a second phase, an operating system schedules the threads produced in the first phase on the hardware threads of a single processor core such that they execute simultaneously. In a third phase, the microprocessor core executes the threads specified by the second phase such that there is one hardware thread executing an application thread.
    Type: Grant
    Filed: April 27, 2010
    Date of Patent: February 11, 2014
    Assignee: International Business Machines Corporation
    Inventors: Elmootazbellah N. Elnozahy, Ahmed Gheith
  • Publication number: 20140040871
    Abstract: The present technology relates to computer implemented methods and systems for managing mobile applications by executing various routines on one or more computers in connection with the mobile applications. The present technology can involve routines and tools that download source code from a code repository. The present technology automatically builds the source code to create an executable build. The present technology can perform a check on the executable build according to a defined quality control rule, and communicate the executable build to an application repository. In certain aspects, the present technology can monitor application metrics and generate reports relating to the application metrics. In certain embodiments, the present technology compiles a launchability metric that establishes the mobile application's readiness for launch.
    Type: Application
    Filed: August 2, 2013
    Publication date: February 6, 2014
    Applicant: Solstice Consulting, LLC
    Inventors: J Schwan, Andrew Jeremiah Whiting, Graham Haworth
  • Patent number: 8645931
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to externally stored static elements for a document in a document editor and provide a method, system and computer program product for moving static elements for a document between an external file and the document in a document editor. A data processing system for moving static elements for a document between an external file and the document in a document editor can include an automated de-externalization and re-externalization processor coupled to a document editor. The automated de-externalization and re-externalization processor can include program code enabled both to replace static elements in a subject document with static element references while storing replaced static elements in entries in an external file, and also to replace static element references in the subject document with corresponding static elements stored in the entries in the external file.
    Type: Grant
    Filed: November 4, 2005
    Date of Patent: February 4, 2014
    Assignee: International Business Machines Corporation
    Inventor: Allan K. Pratt
  • Patent number: 8639983
    Abstract: An architecture and techniques for implementing a unified and extensible meta-testing framework within a distributed environment. This framework allows entities within the distributed environment to run tests written in different testing frameworks in a unified way. In addition, this disclosure describes techniques for allowing an entity within the distributed environment to test itself, both from its own perspective as well as from the perspective of other entities within the distributed environment.
    Type: Grant
    Filed: September 27, 2010
    Date of Patent: January 28, 2014
    Assignee: Amazon Technologies, Inc.
    Inventors: Nirav P Desai, Stanislav Fritz, Kyle Andrew Farrell, Michael C. Moore
  • Patent number: 8635627
    Abstract: A method, medium and apparatus for storing and restoring a register context for a fast context switching between tasks is disclosed. The method, medium and apparatus may improve overall operating speed of a system by increasing the speed of context switching. The method may include adding an update code for updating information of live registers to a task file that includes a code of a task to perform a specified function, converting the task file having the update code added thereto into a run file, updating the information of the live registers with the update code during running of the task using the run file, and storing a live register context according to the updated information of the registers.
    Type: Grant
    Filed: December 12, 2006
    Date of Patent: January 21, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jung-keun Park, Keun-soo Yim, Woon-gee Kim, Jeong-joon Yoo, Kyoung-ho Kang, Chae-seok Im, Jae-don Lee
  • Publication number: 20140019947
    Abstract: A system and method can support compatibility checking in a programming language environment. The programming language environment can check whether a target type associated with an expression in the programming language environment is functional, wherein the target type is functional when it has exactly one method meeting one or more criteria that define that method as relevant in a counting system. Then, the programming language environment can derive a function descriptor from the target type, which is context-dependent. Furthermore, the programming language environment can type-check the expression with the function descriptor associated with the target type.
    Type: Application
    Filed: February 27, 2013
    Publication date: January 16, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Goetz, Daniel Smith, Maurizio Cimadamore
  • Patent number: 8631392
    Abstract: A tool for analyzing a sequence of data in an object-oriented environment is disclosed. In an embodiment, the sequence of data may include time-indexed sequence of data (“time series data”). The tool may enable a user to generate a time series object for encapsulating the time series data in the object-oriented environment. The user may construct the time series object from data or mathematical expressions using a command line interface. The time series object may include a sequence of objects implementing APIs that supply an interface for analyzing the times series data in the time series object. The user may analyze the time series data encapsulated in the time series object using the APIs of the time series object.
    Type: Grant
    Filed: September 23, 2011
    Date of Patent: January 14, 2014
    Assignee: The MathWorks, Inc.
    Inventors: James G. Owen, Rajiv Singh, Rong Chen, Pascal Gahinet
  • Patent number: 8627287
    Abstract: An exemplary method includes receiving source code having a plurality of code segments, providing a desired level of quality for the source code, analyzing the source code to assign a complexity measure to each of the plurality of code segments and assigning a level of code coverage to each of the plurality of code segments based at least in part on the desired level of quality and the complexity measures. An exemplary system prioritizes quality improvements to source code based, in part, on a quality assessment. Such a system can improve code quality by assigning higher test coverage levels to modules with higher complexity.
    Type: Grant
    Filed: November 29, 2007
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Michael C Fanning, Nachiappan Nagappan, Thomas J Ball, Sean Sandys
  • Patent number: 8627297
    Abstract: For the purpose of evaluating at least one characteristic value of at least one function in the execution of a program, a method uses a graphical representation of the at least one determined characteristic value associated with the functions. The representation is subdivided into a hierarchical structure, dependent on the degree of call depth of the function, and each call of a function in the graphical representation occupies an area whose size is dependent on the associated determined characteristic value in each case. In this context characteristic values can be any variables that are measurable by means of a profiler, as already explained in the introduction. Typically, an execution of a program is initiated via the calling of first functions, also referred to hereinafter as call depth 1. Said functions may possibly call further functions, i.e. of call depth 2, and so on, until processing of the desired task has been completed.
    Type: Grant
    Filed: July 1, 2008
    Date of Patent: January 7, 2014
    Assignee: Seimens Aktiengesellschaft
    Inventor: Thilo Opaterny
  • Patent number: 8615740
    Abstract: A computer implemented method, a computer program product and a data processing system provide a method for modifying a computer program during execution of the computer program by a processor unit. A computer receives an instruction string. The instruction string has a new function data therein for replacing current function data of a function of the computer program during execution of the computer program by a processor unit. The function is capable of being changed during execution of the computer program to modify the behavior of the computer program. The computer replaces the current function data with the new function data. The new function data modifies the computer program. The computer program is modified while the computer program is executed by the processor unit.
    Type: Grant
    Filed: March 25, 2011
    Date of Patent: December 24, 2013
    Assignee: International Business Machines Corporation
    Inventor: Robert W. Thompson
  • Patent number: 8615750
    Abstract: A computer implemented method includes receiving a client programming language input and a server programming language input, processing the client and server programming language inputs, and translating the client programming language input into an executable client application and the server programming language input into an executable server application, the executable client and server applications operable to communicate with each other. Processing the client and server programming language inputs includes identifying any invocations of server procedures of the server programming language input in the client programming language input, producing a combined server procedure in the server programming language input for identified server procedures invoked by the client programming language input, and replacing invocations of the identified server procedures in the client programming language input with an invocation of the combined server procedure.
    Type: Grant
    Filed: June 12, 2009
    Date of Patent: December 24, 2013
    Assignee: Adobe Systems Incorporated
    Inventors: Anantharaman P. Narayana Iyer, Daniel Dura, Christian Cantrell
  • Patent number: 8584104
    Abstract: The disclosed embodiments provide a system that facilitates the compilation of a software program. During operation, the system uses a directory hierarchy for the software program to infer a compilation unit to be used in the software program as a member of a module. Next, the system obtains a module declaration for the module using the directory hierarchy. Finally, the system enables compilation of the software program by dynamically identifying and locating one or more dependencies of the module using the module declaration and the directory hierarchy.
    Type: Grant
    Filed: June 25, 2010
    Date of Patent: November 12, 2013
    Assignee: Oracle International Corporation
    Inventors: Jonathan J. Gibbons, Alexander R. Buckley, Mark B. Reinhold