Analysis Of Code Form Patents (Class 717/141)
  • Patent number: 8954940
    Abstract: A method, computer program product, and system is described. Software code text associated with a software code editor and including one or more preprocessor statements is identified. The software code text is translated into a preprocessor output using one or more preprocessors associated with the software code text. One or more transformations of the one or more preprocessor statements is identified based upon comparing the preprocessor output with the software code text. One or more locations in the software code text associated with the one or more transformations is identified based upon comparing the preprocessor output with the software code text. The software code text is parsed, based upon lexing the software code text to generate an integrated token stream model including a first token stream representing the software code text and one or more other token streams representing the one or more transformations of the software code text.
    Type: Grant
    Filed: October 12, 2012
    Date of Patent: February 10, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jeremy Flicker, Jason C. Garcowski
  • Patent number: 8954942
    Abstract: Various arrangements for reducing a size of a Business Process Execution Language (BPEL) data blob for storage may be presented. One or more dehydration points within compiled BPEL code may be identified. A liveness analysis for the one or more dehydration points may be performed. At each of the one or more dehydration points, one or more live variables from a set of variables may be identified. An optimization data structure may be created for each dehydration point identifies the one or more live variables.
    Type: Grant
    Filed: January 27, 2012
    Date of Patent: February 10, 2015
    Assignee: Oracle International Corporation
    Inventor: Sanjay M. Krishnamurthy
  • Patent number: 8949802
    Abstract: A system, method, and computer-readable medium for static analysis of large-scale computer programs that uses a compiler to shard the computer programs by source files. Original compilation information is received for one or more groups of source files that reference modules in module containers. The compiler is run to determine a set of modules in the module containers and other source files that are referenced by a source file of the groups of source files. The compilation information is modified on the basis of the source file, the set of modules and the referenced source files. Static analysis is performed on the source file using the modified compilation information. Static analysis is efficiently performed over large-scale computer programs.
    Type: Grant
    Filed: October 18, 2011
    Date of Patent: February 3, 2015
    Assignee: Google Inc.
    Inventors: Jeffrey van Gogh, Manuel Victor Klimek
  • Publication number: 20150033213
    Abstract: A compiling method for reading, by a computer comprising a processor and a memory, a source file therein and outputting an executable binary file, the compiling method including: a first step of receiving, by the computer, an interface file including a process and a module constructing a business process, input/output information of data of the business process being defined in the interface file, operation information for data set to be used in the business process being defined in the interface file; a second step of validating, by the computer, the operation information for the data set defined in the interface file; a third step of inhibiting, by the computer, generation of the executable binary file when a validation result is invalid; and a fourth step of generating, by the computer, the executable binary file from a source file containing the interface file when the validation result is valid.
    Type: Application
    Filed: July 3, 2014
    Publication date: January 29, 2015
    Applicant: HITACHI, LTD.
    Inventors: Jun YUBAMOTO, Tetsuro ABE, Hiroshi KIMURA
  • Patent number: 8943600
    Abstract: A method, computer program product, and system for transforming unit tests is described. A unit test associated with one or more software units is identified. A graphical representation of a portion of a computer program is built, wherein the graphical representation includes a control flow edge. A potentially vulnerable data flow associated with the control flow edge is identified. A control flow weight is assigned to the control flow edge, based upon, at least in part, identifying the potentially vulnerable data flow. A security analysis is applied to the portion of the computer program based upon, at least in part, the control flow weight.
    Type: Grant
    Filed: October 26, 2012
    Date of Patent: January 27, 2015
    Assignee: International Business Machines Corporation
    Inventor: Omer Tripp
  • Patent number: 8938723
    Abstract: A system, method and computer program product for a system, method and computer program product for using a GPU of a host computer system for supporting functionality of a number of VMs implemented on the host computer system. The GPU usage by a VM includes e.g., sharing a video card with a VM hypervisor; executing applications controlled by the hypervisor; optimization of a snapshot memory consumption; CRC calculations for memory ballooning; on-the-fly disk data encryption; indexing disk data; efficient data compression for HDD; compression of the VM execution trace data and video traffic; computations for backup storage; AV scanning; firewall-related services; traffic encryption (IPSec); processing and restoration of disk transactions; optimization of incremental backups (creation and comparison of snapshots); traffic indexing and replay; isolating some applications on the GPU for virus protection; optimization of runtime compilers.
    Type: Grant
    Filed: August 3, 2010
    Date of Patent: January 20, 2015
    Assignee: Parallels IP Holdings GmbH
    Inventors: Alexander G. Tormasov, Maxim A. Kuzkin, Kirill S. Korotaev
  • Patent number: 8935795
    Abstract: A method, computer program product, and system for transforming unit tests is described. A unit test associated with one or more software units is identified. A graphical representation of a portion of a computer program is built, wherein the graphical representation includes a control flow edge. A potentially vulnerable data flow associated with the control flow edge is identified. A control flow weight is assigned to the control flow edge, based upon, at least in part, identifying the potentially vulnerable data flow. A security analysis is applied to the portion of the computer program based upon, at least in part, the control flow weight.
    Type: Grant
    Filed: August 23, 2013
    Date of Patent: January 13, 2015
    Assignee: International Business Machines Corporation
    Inventor: Omer Tripp
  • Patent number: 8933827
    Abstract: A data processing apparatus that is capable of reducing the garbling of characters caused by the difference among the character codes when setting data are transferred to another apparatus by the import-export function. A storage unit stores setting data for the data processing apparatus. A receiving unit receives an instruction for exporting the setting data stored in the storage unit. A converting unit converts Unicode data included in the setting data into character code data of language, which is set to the data processing apparatus. An export unit exports the character code data converted by the converting unit and the Unicode data.
    Type: Grant
    Filed: May 24, 2013
    Date of Patent: January 13, 2015
    Assignee: Canon Kabushiki Kaisha
    Inventor: Noritsugu Okayama
  • Patent number: 8931103
    Abstract: Embodiments of the invention relate to generating security permissions for applications. A static analysis on an application is carried out to determine security exceptions and to determine the application components responsible for the security exceptions. The determined security exceptions are analyzed to calculate permissions required for each component. A security policy file that includes a hierarchy of the required permissions suitable for the type of application is formatted and applied to the application to provide a security enabled application.
    Type: Grant
    Filed: July 30, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Hannah Deakin, Fenghui Jiang, John McNamara, Emlyn Whittick
  • Patent number: 8930921
    Abstract: According to one embodiment of the present invention, a computer system is provided where the computer system includes a main processor, first and second active memory device. The computer system is configured to perform a method including receiving an executable module generated by a compiler, wherein the executable module includes a code section identified as executable by a first processing element in the first active memory device and a second processing element in the second active memory device. The method includes copying the code section to memory in the first device based on the code section being executable on the first device, copying the code section from the first active memory device to an instruction buffer of the first processing element and copying the code section from the first device to the second device based on the code section being executable on the second device.
    Type: Grant
    Filed: November 20, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, John K. O'Brien, Zehra Sura
  • Patent number: 8930922
    Abstract: A software-to-hardware compiler is provided that generates hardware constructs in programmable logic resources. The programmable logic resources may be optimized in terms of being configured to make additional copies of regions on memory devices other than on the programmable logic resources (e.g., RAM). This facilitates multiple reads during a single clock cycle. Symbol set analysis is used to minimize the size of regions to allow for more efficient use of hardware resources.
    Type: Grant
    Filed: September 13, 2012
    Date of Patent: January 6, 2015
    Assignee: Altera Corporation
    Inventor: Paul Metzgen
  • Patent number: 8918772
    Abstract: One embodiment of the present invention provides a system that uses static analysis to determine program correctness for a program written in a dynamic programming language. During operation, the system receives executable code for a program written in the dynamic programming language. The system identifies a program method called in the executable code, and determines if the program method is implemented for the executable code. If not, the system signals that the program method is not implemented for the executable code.
    Type: Grant
    Filed: July 25, 2007
    Date of Patent: December 23, 2014
    Assignee: Google Inc.
    Inventors: David MacLachlan, Greg Miller
  • Patent number: 8910130
    Abstract: Certain example embodiments transform a third-generation language (3GL) and/or an Assembler program so that it can be executed within a fourth-generation language (4GL) runtime environment. Certain example embodiments include a method for transforming a 3GL and/or an Assembler program that is callable by a 4GL program so that the 3GL and/or Assembler program is executable upon call by the 4GL program and from within a 4GL runtime environment. For instance a 4GL identifier may be included in the executable of the 3GL and/or the Assembler program to facilitate execution of the 3GL and/or the Assembler program upon call of the fourth-generation language (4GL) program and within the 4GL runtime environment.
    Type: Grant
    Filed: December 30, 2011
    Date of Patent: December 9, 2014
    Assignee: Software AG
    Inventors: Michael Münster, Uwe Henker
  • Patent number: 8898646
    Abstract: An apparatus and method for profiling program code. In particular, an apparatus according to one embodiment comprises a filtering component identifying a first set of instructions for which profiling is desired wherein, in response to detecting that an instruction has been retired, the filtering component determines whether the instruction is within the first set of instructions for which profiling is desired; an event selection component detecting an event in response to the instruction retiring, the event selection component generating event signals in response to a designated event; and a profiling component recording the occurrence or not occurrence of the event within a first storage device responsive to signals from the filtering component and/or the event selection component.
    Type: Grant
    Filed: December 22, 2010
    Date of Patent: November 25, 2014
    Assignee: Intel Corporation
    Inventors: Enric Gibert Codina, Josep M. Codina, Carlos Madriles, Raul Martinez
  • Patent number: 8893098
    Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During runtime of the software program, the system delays type inference on a generic type parameter of an implementation of an overloaded function, wherein the generic type parameter is associated with a type interval containing an unbounded lower limit and one or more self-typed constraints. Upon detecting a type query for a dynamic type of the generic type parameter, the system compares a queried type from the type query with a set of inference choices for the generic type parameter. If the queried type matches an inference choice from the set of inference choices, the system uses the inference choice to perform type inference on the generic type parameter.
    Type: Grant
    Filed: December 14, 2012
    Date of Patent: November 18, 2014
    Assignee: Oracle International Corporation
    Inventor: David R. Chase
  • Patent number: 8893095
    Abstract: There are provided methods and computer program products for generating code for an architecture encoding an extended register specification. A method for generating code for a fixed-width instruction set includes identifying a non-contiguous register specifier. The method further includes generating a fixed-width instruction word that includes the non-contiguous register specifier.
    Type: Grant
    Filed: July 26, 2012
    Date of Patent: November 18, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Robert Kevin Montoye, Brett Olsson, John-David Wellman
  • Patent number: 8893097
    Abstract: A tool configured to build a cross-browser toolbar is provided. The tool includes a processor; and a memory coupled to the processor and configured to store at least instructions for execution of a wizard program by the processor, the wizard program causes to: receive an input identifying at least user interface elements and event handlers respective of the user interface elements, the input further identifies at least two different types of a web browser on which the toolbar can be executed; generate respective of the received input a toolbar render object, a script file, and at least one toolbar library for each type of web browser; and compile the toolbar render object, the script file, and the least one toolbar library into an installer file.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: November 18, 2014
    Assignee: Visicom Media Inc.
    Inventor: Miguel Enrique Cepero Gonzalez
  • Patent number: 8887140
    Abstract: Disclosed herein are systems, methods, and computer-readable storage media for obfuscating using inlined functions. A system configured to practice the method receives a program listing including annotated functions for obfuscation, identifies an annotated function called more than once in the program listing, and creates an inline control flow structure in the program listing for the identified annotated function, the control flow structure being computationally equivalent to inlining the identified annotated function into the program listing for each occurrence of the identified annotated function. The program listing can include tiers of annotated functions. The system can identify annotated functions called more than once based on an optionally generated callgraph. The system can create inline control flow structures in the program listing in order of annotation importance. The system can identify how many times each annotated function is called in the program listing.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: November 11, 2014
    Assignee: Apple Inc.
    Inventors: Julien Lerouge, Nicholas T. Sullivan, Gideon M. Myles, Jon McLachlan, Augustin J. Farrugia
  • Patent number: 8881123
    Abstract: A method for generating a binary executable of a program so that private symbols in a module are accessible from another module. In one embodiment, the method compiles a source program to an intermediate representation and scans the representation to find the private symbols in the program's modules. It then wraps a function around each private symbol. When called, the function returns an address of the private symbol, so that the other module can access the symbol from outside the module in which the symbol is found. At run time, a call is made to obtain the address of the function, which is then executed to obtain the address of the private symbol so that the symbol can be accessed. In another embodiment, a Just-In-Time compiler executes the wrapper functions and patches the executable program with the direct address of the private symbol to avoid a call to the wrapper function.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: November 4, 2014
    Assignee: Oracle International Corporation
    Inventors: Mason Chang, Hassan Chafi, Eric Sedlar
  • Patent number: 8881112
    Abstract: A method for estimating a quality measure of a composite application is presented. The method may include receiving a set of sequence diagrams describing interactions between pairs of components in a composite application. Each sequence diagram may describe a functional use case of the composite application. Component quality metrics may also be received, such that each component quality metric corresponds to a component of the composite application. A quality estimation may be calculated for each use case of the composite application. The quality estimation may be determined as a function of one or more of the component quality metrics. A quality measure of the composite application may then be calculated as a function of the quality estimation for each use case. The quality measure of the composite application may be output.
    Type: Grant
    Filed: December 10, 2008
    Date of Patent: November 4, 2014
    Assignee: International Business Machines Corporation
    Inventors: Giorgio Corsetti, Salvatore Branca
  • Patent number: 8881121
    Abstract: An object-oriented query to retrieve data from a data source stored on a data storage device connected to a computer is processed. One implementation involves receiving a Java Query Language (JQL) user query, compiling the JQL query using a Java compliant compiler, and detecting any compilation error due to a syntax error in the JQL query. If a compilation error is detected, then informing the user of the compilation error such that the user may correct the syntax error in the JQL query. Otherwise if a compilation error is not detected, then processing the JQL query for execution.
    Type: Grant
    Filed: February 18, 2009
    Date of Patent: November 4, 2014
    Assignee: International Business Machines Corporation
    Inventor: Amr Ali
  • Patent number: 8881120
    Abstract: Methods and systems for creating multi-state content using state information are disclosed. The state information may specify, for example, that a subcomponent is included in one state and excluded from another state. As another example, the state information may specify that an attribute of the object will have a first value in one state and a different value in another state. Certain embodiments allow a developer to use declarative statements to specify different states for an object. These declarative statements may directly specify the appearance attributes or subcomponents of the object. Certain embodiments allow a developer to specify state-specific appearance attributes and sub-components within the general specification of the object and without having to specify appearance attributes or subcomponents in terms of changes to a base state or any other state.
    Type: Grant
    Filed: August 19, 2008
    Date of Patent: November 4, 2014
    Assignee: Adobe Systems Incorporated
    Inventors: Corey Lucier, Eliot Seth Greenfield
  • Patent number: 8869129
    Abstract: An apparatus and method for scheduling an instruction are provided. The apparatus includes an analyzer configured to analyze dependency of a plurality of recurrence loops and a scheduler configured to schedule the recurrence loops based the analyzed dependencies. When scheduling a plurality of recurrence loops, the apparatus first schedules a dominant loop whose loop head has no dependency on another loop among the recurrence loops.
    Type: Grant
    Filed: November 2, 2009
    Date of Patent: October 21, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Tae-wook Oh, Won-sub Kim, Bernhard Egger
  • Patent number: 8869122
    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: Grant
    Filed: August 30, 2012
    Date of Patent: October 21, 2014
    Assignee: 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: 8869106
    Abstract: A language service provider framework that generates an application context of a dynamic language program being authored. The application context includes a description of the dynamic language application being authored, one or more specific locations within the program, and runtime environment information. A language service provider port component holds one or more language service providers. Each language service provider may receive the application context and generate a set of available symbols corresponding to each of at least one of the identified one or more specific locations. A management component receives the application context from the application context generation component, provides the application context the language service provider, and correspondingly receives the available symbol set from the language service provider.
    Type: Grant
    Filed: December 16, 2011
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Charles P. Jazdzewski, Michael C. Fanning, Randy S. Kimmerly, A. Michael Horton
  • Patent number: 8863099
    Abstract: According to one embodiment of the present invention, a method for operation of a computer system including a main processor, a first and a second active memory device includes receiving an executable module generated by a compiler, wherein the executable module includes a code section identified as executable by a first processing element in the first active memory device and a second processing element in the second active memory device. The method further includes copying the code section to memory in the first device based on the code section being executable on the first device, copying the code section from the memory in the first active memory device to an instruction buffer of the first processing element and copying the code section from the memory in the first device to the second device based on the code section being executable on the second device.
    Type: Grant
    Filed: November 5, 2012
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventors: Tong Chen, John K. O'Brien, Zehra Sura
  • Patent number: 8863100
    Abstract: An embodiment of the disclosure can compile source of an interactive application with debug options enabled. Execution activity of the interactive application can be enabled. A code path of a selected service of the interactive application can be executed in a debug environment using a user interface of the selected service to identify execution data associated with the selected service. Unresolved branch conditions in the execution data can be addressed for each code path of the selected service. A source extraction of the selected service can be performed.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ibrahim Batthish, Satish Gungabeesoon, Donald J. Yantzi
  • Patent number: 8863101
    Abstract: A system including an input compiler that receives a unified input description containing syntax rules for both regular and context-free expressions and interspersed code, the first compiler configured to translate the unified input description into a common internal representation is disclosed. The system also includes a regular expression checker, a context-free expression checker, a code checker and a second compiler coupled to the code checker.
    Type: Grant
    Filed: December 10, 2008
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventors: Wolfgang Gellerich, Andreas Krebbel
  • Patent number: 8850414
    Abstract: Method and system for direct access of language metadata are disclosed. In an implementation, the method includes receiving commands from a user to modify language metadata of a programming language. The metadata is modified based on the command and the modified metadata is utilized as a feature in the programming language at runtime.
    Type: Grant
    Filed: February 2, 2007
    Date of Patent: September 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Bruce Payette, George Xie, Jonathan M. Rowlett, Lee Holmes, Jeffrey P. Snover, Jim Truher
  • Patent number: 8850574
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for runtime language-independent sandboxing of software. In one aspect, a system implements an extended Software Fault Isolation (SFI) software sandboxing system configured to provide a user-mode program interface for receiving runtime requests for modifying verifiably safe executable machine code. Requests can include dynamic code creation, dynamic code deletion, and atomic modification of machine code instructions. A runtime modification of a verifiably safe executable memory region is made in response to each received runtime request, and code within the modified memory region has a guarantee of safe execution.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: September 30, 2014
    Assignee: Google Inc.
    Inventors: Jason Ansel, Cliff L. Biffle, Ulfar Erlingsson, David C. Sehr
  • Patent number: 8850410
    Abstract: A system and method for improving software maintainability, performance, and/or security by associating a unique marker to each software code-block; the system comprising of a plurality of processors, a plurality of code-blocks, and a marker associated with each code-block. The system may also include a special hardware register (code-block marker hardware register) in each processor for identifying the markers of the code-blocks executed by the processor, without changing any of the plurality of code-blocks.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ramanjaneya S. Burugula, Joefon Jann, Pratap C. Pattnaik
  • Patent number: 8850415
    Abstract: The invention concerns model program analysis of software code using model checking. Initially, a transition system (22) and an extensible markup language (XML) (24) representation of the data is generated. Next, labels (26) for the transition system are generated by querying the XML representation of the data using (markup) query language. The labels and the structure of the transition system are then used as input to model checking techniques to analyse the software code (28). It is an advantage of the invention that the problem of labelling a transition system can be transformed into the XML domain so that detailed information about the software code can be extracted using queries in a format that can be run in the XML domain which are well known. At the same time the transformation to the XML domain does not prevent the use of efficient model checking technologies.
    Type: Grant
    Filed: September 13, 2007
    Date of Patent: September 30, 2014
    Assignee: National ICT Australia Limited
    Inventors: Ralf Huuck, Ansgar Fehnker, Patrick Jayet, Felix Rauch Valenti
  • Patent number: 8850386
    Abstract: A method for estimating a resource consumption of storage space and/or of required runtime of a control device program code to be generated for a control program, whereby the functionality of the control program is given in an executable model. The model has a function with first functional magnitudes and first information associated with the first functional magnitudes and optimization parameters for optimizing a code generator. A program code representation is generated for part of the model comprising the function by the code generator taking into account first values of the optimization parameters. An estimation unit comprises a resource model with hardware parameters. An estimated value for the storage space requirement is determined for the control device program code and/or a runtime estimated value is determined for the control device program code by the estimation unit taking into account the hardware parameters and based on the program code representation.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: September 30, 2014
    Assignee: dSPACE digital signal processing and control engineering GmbH
    Inventor: Wolfgang Trautmann
  • Publication number: 20140282443
    Abstract: Type inference is used to provide the benefits of static type checking without explicitly declaring type in the source code. Type inference that proceeds in a bottom up direction is augmented by contextual typing that proceeds in a top down direction. Contextual typing types enclosed expressions by associating the type of a directly enclosing expression with the enclosed expression. Object literals, function literals and array literals enclosed in assignment and call expressions, can be contextually typed.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
  • Publication number: 20140282441
    Abstract: Static type checking can be performed on types and values defined in modules in a system that dynamically composes programs from modules. The types and values do not share a global namespace. Each module defines its own module universe, disjoint from other modules. A language mechanism can establish a local name binding to one module within the content of another module. When type checking at compile time an environment can be established that corresponds to a runtime instance of the program. The static type system can be arranged to align with the runtime values, such that the names used to refer to objects at runtime are the same as the names used to refer to the types of those objects in the static type system. Aliases of a particular type are resolved to a known compile time description of the type.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
  • Publication number: 20140282442
    Abstract: Statically extensible types allow a static type system to model the behavior of dynamic object model extension in dynamic runtime systems. Static types that model dynamically extended types can be extended using additional declarations in the same compilation. Declarations for a particular type can come from multiple independent sources which can have been defined at multiple points in time. Extension declarations can use the same syntax as the initial type declaration. Hence presence of one or more declarations for the same type in a compilation can indicate that the type has been extended. These features allow static type checking of dynamic plug-ins to be supported using statically extensible types. Declarations and extension declarations for a type can be merged together to create an extended type that enables different processing paths and dependencies.
    Type: Application
    Filed: March 13, 2013
    Publication date: September 18, 2014
    Applicant: Microsoft Corporation
    Inventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
  • Patent number: 8839211
    Abstract: Evaluation and enforcement of software design quality, in which a system applies design quality rules to a design of a software application to detect violations and provides output describing one or more violations of the design quality rules detected. Based on the output, the system receives user input to address the one or more violations of the design quality rules and, subsequent to receiving the user input, evaluates code developed for the software application for violations of the design quality rules to assess quality of the code being developed for the software application based on the design of the software application.
    Type: Grant
    Filed: March 17, 2011
    Date of Patent: September 16, 2014
    Assignee: Accenture Global Services Limited
    Inventors: Vikrant Shyamkant Kaulgud, Santonu Sarkar
  • Patent number: 8832655
    Abstract: A system, method, and computer-readable medium, is described that finds similarities among programming applications based on semantic anchors found within the source code of such applications. The semantic anchors may be API calls, such as Java's package and class calls of the JDK. Latent Semantic Indexing may be used to process the application and semantic anchor data and automatically develop a similarity matrix that contains numbers representing the similarity of one program to another.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: September 9, 2014
    Assignee: Accenture Global Services Limited
    Inventor: Mark Grechanik
  • Patent number: 8826240
    Abstract: Application validation is performed based at least in part on object level hierarchy data associated with the application. An application is executed on a physical or emulated host device, and assembly code is generated for the executing application. The assembly code is analyzed to identify objects associated with the application, and to identify relationships between the objects. Based on the object and relationship data, an object level hierarchy is generated for the application. Validation of the application may be performed by comparing an object level hierarchy for a current version of the application to a previously generated hierarchy for a previous version of the application to identify differences between to the two hierarchies.
    Type: Grant
    Filed: September 29, 2012
    Date of Patent: September 2, 2014
    Assignee: Appurify, Inc.
    Inventors: Manish Lachwani, Jay Srinivasan, Rahul Jain, Pratyus Patnaik
  • Patent number: 8813044
    Abstract: A method, system, and article of manufacture are disclosed for transforming a definition of a process for delivering a service. 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 said process definition by using a processing unit to apply said assumptions to said process definition to change the configuration of the process definition. The process definition may be transformed by using factors relating to the specific context in or for which the process definition is executed. Also, the process definition may be transformed by identifying, in a flow diagram for the service process definition, flows to which the assumptions apply, and applying program rewriting techniques to those identified flows.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
  • Patent number: 8813033
    Abstract: A system and method for analyzing a program includes determining possible bug paths in a program based on statistical analysis of test cases. A static analysis is then performed only on the possible bug paths. The bugs are then located in the program.
    Type: Grant
    Filed: June 3, 2008
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventor: Vugranam Chakravarthy Sreedhar
  • Patent number: 8813038
    Abstract: The claimed subject matter provides a method for detecting a data race. The method includes inserting a plurality of breakpoints into a corresponding plurality of program locations. Each of the program locations accesses a plurality of memory locations. Each of the program locations is selected randomly. The method also includes detecting one or more data races for the memory locations in response to one or more of the breakpoints firing. Additionally, the method includes generating a report describing the one or more data races.
    Type: Grant
    Filed: February 9, 2011
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: John Erickson, Madan Musuvathi
  • Patent number: 8813050
    Abstract: A system for electronic crime reduction is provided, comprising a computer system, a database, a malware de-compiler, a malware parser, and an inference engine. The database contains information that associates electronic crime attack signature data with at least one of an individual, a group, and a location. The malware de-compiler, when executed on the computer system, translates a first malware executable to an assembly language version. The first malware is associated with an electronic crime that has been committed. The malware parser, when executed on the computer system, analyzes the assembly language version to identify distinctive coding preferences used to develop the first malware. The inference engine, when executed on the computer system, analyzes the distinctive coding preferences identified by the malware parser application in combination with searching the database to identify one of an individual, a group, and a location associated with the electronic crime.
    Type: Grant
    Filed: June 3, 2008
    Date of Patent: August 19, 2014
    Assignee: Isight Partners, Inc.
    Inventors: John P. Watters, Jonathan M. Couch, Sam F. Stover, Michael J. Weinberger, Fredrick Doyle, Gregory MacManus
  • Patent number: 8813049
    Abstract: A compiler receives source code for a program and determines that the code includes a declaration expression and an initialization expression in an assignment context. The declaration expression introduces a variable and specifies part of a parameterized type for the variable but not another part of the parameterized type. A parameterized type may include a ground type part and one or more type arguments; in a declaration expression, the specified part of the parameterized type may include a ground type and the unspecified part may include one or more of the type arguments. The initialization expression specifies an initial value for the variable, where the value has a parameterized type. The assignment context associates the declared variable with the initial value. The compiler infers the type for the variable based at least on the part specified in the declaration expression and on the type specified by the initialization expression.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: August 19, 2014
    Assignee: Oracle International Corporation
    Inventors: Brian Goetz, Alexander R. Buckley, Joseph D. Darcy, Maurizio Cimadamore
  • Patent number: 8806440
    Abstract: An integrated software development system including an interface description language adapted to specify constraints on input parameters, a program analyzer adapted to identify input parameters of a software program, and a validation enforcement system adapted to enforce that an interface description in the interface description language complying with a predefined set of validation rules is provided for the input parameters of the software program.
    Type: Grant
    Filed: June 11, 2008
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventor: Philippe A. Janson
  • Patent number: 8799877
    Abstract: A programming language is extended to have embedded interpretive types (EIT) that define objects and variables to be resolved at translation time. A variable or data element having a type that is one of the EITs is referred to as an embedded interpretive variable (EIV). A control construct containing an EIV is interpreted (i.e. executed) at translation time.
    Type: Grant
    Filed: March 27, 2009
    Date of Patent: August 5, 2014
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 8793674
    Abstract: A method for compiler-guided optimization of MapReduce type applications that includes applying transformations and optimizations to JAVA bytecode of an original application by an instrumenter which carries out static analysis to determine application properties depending on the optimization being performed and provides an output of optimized JAVA bytecode, and executing the application and analyzing generated trace and feeds information back into the instrumenter by a trace analyzer, the trace analyzer and instrumenter invoking each other iteratively and exchanging information through files.
    Type: Grant
    Filed: September 18, 2012
    Date of Patent: July 29, 2014
    Assignee: NEC Laboratories America, Inc.
    Inventors: Nishkam Ravi, Jun Liu, Srimat T. Chakradhar
  • Patent number: 8782627
    Abstract: Mechanism that employs code cloning and specialized code execution for barriers to minimize runtime overhead. This is facilitated by duplicating code and inserting specializations of the barriers in the code copies. The mechanism is effective for garbage collection when the garbage collection executes through different phases, and the barrier behavior and overheads depend on these phases. The duplicated and specialized code enables the program to run efficiently by reducing the dynamic count of a phase check when the phase is well-known and phase checks can be avoided.
    Type: Grant
    Filed: November 29, 2007
    Date of Patent: July 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Bjarne Steensgaard, Erez Petrank, Filip Pizlo
  • Patent number: 8782595
    Abstract: A build system and method, including receiving attribute rules and new rules, wherein the attribute rules correspond to one or more predefined default actions of the build system, wherein the new rules specify new actions that are to be added to the build system. A graph is generated to include files specified as attributes in the attributes rules and the one or more predefined default actions that correspond to the attributes rules. A request to enable at least one of the new rules is received. Action listener rules are received, wherein the action listener rules indicate default actions and corresponding new rules of the one or more new rules. The graph is checked for default actions that are indicated in the action listener rules. Additional actions are added to the graph for new rules based on the default actions indicated in the action listener rules.
    Type: Grant
    Filed: October 6, 2011
    Date of Patent: July 15, 2014
    Assignee: GOOGLE Inc.
    Inventors: Jeffrey van Gogh, Ronald Aaron Braunstein, Stephen F. Yegge, Michael Forster, Bruce Chandler Carruth, Manuel Victor Klimek, Ulf Adams
  • Patent number: 8776010
    Abstract: A system and method for facilitating development of a computer program that interfaces with a data store. A system queries the data store to retrieve interface information, including schema information corresponding to a portion of data in the data store relevant to a user application. The system uses the retrieved information to provide an integrated development environment (IDE) to a user. The IDE may include one or more features such as completion lists, tool tips, and quick info. The schema information may be used to create synthetic types for use in the target program. The interface information may be used to create synthetic elements to be inserted into a target program. The synthetic types may be used to perform static type checking during an editing session or a program compilation, or to provide the IDE services. During a build, the synthetic elements may be removed and replaced with data store access code, which is subsequently used during program runtime to access the store.
    Type: Grant
    Filed: October 27, 2010
    Date of Patent: July 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Jomo Fisher, Luke Hoban, Timothy Y. Ng, Matteo Taveggia, Donald Syme