Analysis Of Code Form Patents (Class 717/141)
-
Patent number: 8954940Abstract: 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: GrantFiled: October 12, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Jeremy Flicker, Jason C. Garcowski
-
Patent number: 8954942Abstract: 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: GrantFiled: January 27, 2012Date of Patent: February 10, 2015Assignee: Oracle International CorporationInventor: Sanjay M. Krishnamurthy
-
Patent number: 8949802Abstract: 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: GrantFiled: October 18, 2011Date of Patent: February 3, 2015Assignee: Google Inc.Inventors: Jeffrey van Gogh, Manuel Victor Klimek
-
Publication number: 20150033213Abstract: 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: ApplicationFiled: July 3, 2014Publication date: January 29, 2015Applicant: HITACHI, LTD.Inventors: Jun YUBAMOTO, Tetsuro ABE, Hiroshi KIMURA
-
Patent number: 8943600Abstract: 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: GrantFiled: October 26, 2012Date of Patent: January 27, 2015Assignee: International Business Machines CorporationInventor: Omer Tripp
-
Patent number: 8938723Abstract: 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: GrantFiled: August 3, 2010Date of Patent: January 20, 2015Assignee: Parallels IP Holdings GmbHInventors: Alexander G. Tormasov, Maxim A. Kuzkin, Kirill S. Korotaev
-
Patent number: 8935795Abstract: 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: GrantFiled: August 23, 2013Date of Patent: January 13, 2015Assignee: International Business Machines CorporationInventor: Omer Tripp
-
Patent number: 8933827Abstract: 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: GrantFiled: May 24, 2013Date of Patent: January 13, 2015Assignee: Canon Kabushiki KaishaInventor: Noritsugu Okayama
-
Patent number: 8931103Abstract: 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: GrantFiled: July 30, 2012Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Hannah Deakin, Fenghui Jiang, John McNamara, Emlyn Whittick
-
Patent number: 8930921Abstract: 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: GrantFiled: November 20, 2012Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Tong Chen, John K. O'Brien, Zehra Sura
-
Patent number: 8930922Abstract: 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: GrantFiled: September 13, 2012Date of Patent: January 6, 2015Assignee: Altera CorporationInventor: Paul Metzgen
-
Patent number: 8918772Abstract: 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: GrantFiled: July 25, 2007Date of Patent: December 23, 2014Assignee: Google Inc.Inventors: David MacLachlan, Greg Miller
-
Patent number: 8910130Abstract: 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: GrantFiled: December 30, 2011Date of Patent: December 9, 2014Assignee: Software AGInventors: Michael Münster, Uwe Henker
-
Patent number: 8898646Abstract: 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: GrantFiled: December 22, 2010Date of Patent: November 25, 2014Assignee: Intel CorporationInventors: Enric Gibert Codina, Josep M. Codina, Carlos Madriles, Raul Martinez
-
Patent number: 8893098Abstract: 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: GrantFiled: December 14, 2012Date of Patent: November 18, 2014Assignee: Oracle International CorporationInventor: David R. Chase
-
Patent number: 8893095Abstract: 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: GrantFiled: July 26, 2012Date of Patent: November 18, 2014Assignee: International Business Machines CorporationInventors: Michael Karl Gschwind, Robert Kevin Montoye, Brett Olsson, John-David Wellman
-
Patent number: 8893097Abstract: 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: GrantFiled: November 30, 2012Date of Patent: November 18, 2014Assignee: Visicom Media Inc.Inventor: Miguel Enrique Cepero Gonzalez
-
Patent number: 8887140Abstract: 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: GrantFiled: January 15, 2010Date of Patent: November 11, 2014Assignee: Apple Inc.Inventors: Julien Lerouge, Nicholas T. Sullivan, Gideon M. Myles, Jon McLachlan, Augustin J. Farrugia
-
Patent number: 8881123Abstract: 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: GrantFiled: November 30, 2012Date of Patent: November 4, 2014Assignee: Oracle International CorporationInventors: Mason Chang, Hassan Chafi, Eric Sedlar
-
Patent number: 8881112Abstract: 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: GrantFiled: December 10, 2008Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventors: Giorgio Corsetti, Salvatore Branca
-
Patent number: 8881121Abstract: 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: GrantFiled: February 18, 2009Date of Patent: November 4, 2014Assignee: International Business Machines CorporationInventor: Amr Ali
-
Patent number: 8881120Abstract: 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: GrantFiled: August 19, 2008Date of Patent: November 4, 2014Assignee: Adobe Systems IncorporatedInventors: Corey Lucier, Eliot Seth Greenfield
-
Patent number: 8869129Abstract: 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: GrantFiled: November 2, 2009Date of Patent: October 21, 2014Assignee: Samsung Electronics Co., Ltd.Inventors: Tae-wook Oh, Won-sub Kim, Bernhard Egger
-
Patent number: 8869122Abstract: 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: GrantFiled: August 30, 2012Date of Patent: October 21, 2014Assignee: 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: 8869106Abstract: 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: GrantFiled: December 16, 2011Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: Charles P. Jazdzewski, Michael C. Fanning, Randy S. Kimmerly, A. Michael Horton
-
Patent number: 8863099Abstract: 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: GrantFiled: November 5, 2012Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Tong Chen, John K. O'Brien, Zehra Sura
-
Patent number: 8863100Abstract: 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: GrantFiled: May 29, 2012Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Ibrahim Batthish, Satish Gungabeesoon, Donald J. Yantzi
-
Patent number: 8863101Abstract: 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: GrantFiled: December 10, 2008Date of Patent: October 14, 2014Assignee: International Business Machines CorporationInventors: Wolfgang Gellerich, Andreas Krebbel
-
Patent number: 8850414Abstract: 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: GrantFiled: February 2, 2007Date of Patent: September 30, 2014Assignee: Microsoft CorporationInventors: Bruce Payette, George Xie, Jonathan M. Rowlett, Lee Holmes, Jeffrey P. Snover, Jim Truher
-
Patent number: 8850574Abstract: 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: GrantFiled: February 28, 2011Date of Patent: September 30, 2014Assignee: Google Inc.Inventors: Jason Ansel, Cliff L. Biffle, Ulfar Erlingsson, David C. Sehr
-
Patent number: 8850410Abstract: 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: GrantFiled: January 29, 2010Date of Patent: September 30, 2014Assignee: International Business Machines CorporationInventors: Ramanjaneya S. Burugula, Joefon Jann, Pratap C. Pattnaik
-
Patent number: 8850415Abstract: 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: GrantFiled: September 13, 2007Date of Patent: September 30, 2014Assignee: National ICT Australia LimitedInventors: Ralf Huuck, Ansgar Fehnker, Patrick Jayet, Felix Rauch Valenti
-
Patent number: 8850386Abstract: 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: GrantFiled: July 23, 2012Date of Patent: September 30, 2014Assignee: dSPACE digital signal processing and control engineering GmbHInventor: Wolfgang Trautmann
-
Publication number: 20140282443Abstract: 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: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
-
Publication number: 20140282441Abstract: 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: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
-
Publication number: 20140282442Abstract: 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: ApplicationFiled: March 13, 2013Publication date: September 18, 2014Applicant: Microsoft CorporationInventors: Lucas J. Hoban, Mads Torgersen, Charles P. Jazdzewski, Anders Hejlsberg, Steven E. Lucco, Joseph J. Pamer
-
Patent number: 8839211Abstract: 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: GrantFiled: March 17, 2011Date of Patent: September 16, 2014Assignee: Accenture Global Services LimitedInventors: Vikrant Shyamkant Kaulgud, Santonu Sarkar
-
Patent number: 8832655Abstract: 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: GrantFiled: September 29, 2011Date of Patent: September 9, 2014Assignee: Accenture Global Services LimitedInventor: Mark Grechanik
-
Patent number: 8826240Abstract: 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: GrantFiled: September 29, 2012Date of Patent: September 2, 2014Assignee: Appurify, Inc.Inventors: Manish Lachwani, Jay Srinivasan, Rahul Jain, Pratyus Patnaik
-
Patent number: 8813044Abstract: 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: GrantFiled: September 6, 2012Date of Patent: August 19, 2014Assignee: International Business Machines CorporationInventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
-
Patent number: 8813033Abstract: 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: GrantFiled: June 3, 2008Date of Patent: August 19, 2014Assignee: International Business Machines CorporationInventor: Vugranam Chakravarthy Sreedhar
-
Patent number: 8813038Abstract: 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: GrantFiled: February 9, 2011Date of Patent: August 19, 2014Assignee: Microsoft CorporationInventors: John Erickson, Madan Musuvathi
-
Patent number: 8813050Abstract: 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: GrantFiled: June 3, 2008Date of Patent: August 19, 2014Assignee: Isight Partners, Inc.Inventors: John P. Watters, Jonathan M. Couch, Sam F. Stover, Michael J. Weinberger, Fredrick Doyle, Gregory MacManus
-
Patent number: 8813049Abstract: 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: GrantFiled: June 30, 2010Date of Patent: August 19, 2014Assignee: Oracle International CorporationInventors: Brian Goetz, Alexander R. Buckley, Joseph D. Darcy, Maurizio Cimadamore
-
Patent number: 8806440Abstract: 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: GrantFiled: June 11, 2008Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventor: Philippe A. Janson
-
Patent number: 8799877Abstract: 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: GrantFiled: March 27, 2009Date of Patent: August 5, 2014Assignee: OptumSoft, Inc.Inventor: David R. Cheriton
-
Patent number: 8793674Abstract: 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: GrantFiled: September 18, 2012Date of Patent: July 29, 2014Assignee: NEC Laboratories America, Inc.Inventors: Nishkam Ravi, Jun Liu, Srimat T. Chakradhar
-
Patent number: 8782627Abstract: 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: GrantFiled: November 29, 2007Date of Patent: July 15, 2014Assignee: Microsoft CorporationInventors: Bjarne Steensgaard, Erez Petrank, Filip Pizlo
-
Patent number: 8782595Abstract: 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: GrantFiled: October 6, 2011Date of Patent: July 15, 2014Assignee: GOOGLE Inc.Inventors: Jeffrey van Gogh, Ronald Aaron Braunstein, Stephen F. Yegge, Michael Forster, Bruce Chandler Carruth, Manuel Victor Klimek, Ulf Adams
-
Patent number: 8776010Abstract: 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: GrantFiled: October 27, 2010Date of Patent: July 8, 2014Assignee: Microsoft CorporationInventors: Jomo Fisher, Luke Hoban, Timothy Y. Ng, Matteo Taveggia, Donald Syme