Scanning And Lexical Analysis Patents (Class 717/142)
  • Patent number: 11636211
    Abstract: Described are methods and devices to identify vulnerabilities in a software package that includes two or more build files. The build files include at least an application file and one or more resource files. The method includes scanning the build files to identify strings. Strings that appear in one of the resource files and are not referenced in the application file are labelled orphaned. Strings that appear in the application file and are node defined in any of the resources files are labelled hardcoded. The identity of hardcoded and orphaned strings is output as potential vulnerabilities or data leakage points.
    Type: Grant
    Filed: June 27, 2019
    Date of Patent: April 25, 2023
    Assignee: BlackBerry Limited
    Inventor: Adam John Boulton
  • Patent number: 11392356
    Abstract: A method may include extracting, from an initial compilation graph and for an optimization parameter, a feature. The initial compilation graph may be generated from a function in source code. The method may further include applying, to the initial compilation graph, values of the optimization parameter to generate versions of the initial compilation graph. The versions of the initial compilation graph may correspond to the values of the optimization parameter. The method may further include executing the versions of the initial compilation graph to obtain values of a performance metric, and selecting, as an optimized compilation graph and using the values of the performance metric, a version of the initial compilation graph.
    Type: Grant
    Filed: February 26, 2021
    Date of Patent: July 19, 2022
    Assignee: Oracle International Corporation
    Inventors: David Leopoldseder, Raphael Mosaner, Lukas Stadler
  • Patent number: 10877756
    Abstract: Embodiments detailed herein relate to matrix operations. In particular, tile diagonal support is described. For example, a processor is detailed having decode circuitry to decode an instruction having fields for an opcode, a source operand identifier, and a destination matrix operand identifier; and execution circuitry to execute the decoded instruction to write the identified source operand to each element along a main diagonal of the identified destination matrix operand.
    Type: Grant
    Filed: July 1, 2017
    Date of Patent: December 29, 2020
    Assignee: Intel Corporation
    Inventors: Robert Valentine, Dan Baum, Zeev Sperber, Jesus Corbal, Elmoustapha Ould-Ahmed-Vall, Bret L. Toll, Mark J. Charney, Alexander Heinecke
  • Patent number: 10809983
    Abstract: Techniques for suggesting a name from one or more code files are described. An exemplary method includes receiving a request to suggest one or more names for a name in a code file; determining one or more names based on existing names in one or more code files using one or more abstract syntax trees (ASTs) for the one or more code files; and outputting the determined one or more names as a name suggestion that comprises novel sequences of sub-tokens of existing names of the one or more code files.
    Type: Grant
    Filed: November 23, 2018
    Date of Patent: October 20, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Russell Reas, Neela Sawant, Srinivasan Sengamedu Hanumantha Rao
  • Patent number: 10594574
    Abstract: In some examples, a method includes parsing, by a network device, a section of source code associated with a network function provided by a middlebox in a network; extracting, by the network device, a packet processing slice and a state transition slice from the section of source code; generating, by the network device, a plurality of execution paths from the packet processing slice and the state transition slice; and modeling the middlebox by inserting, by the network device, the plurality of execution paths to a match-action table that describes a packet processing model for the middlebox.
    Type: Grant
    Filed: November 7, 2016
    Date of Patent: March 17, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Wenfei Wu, Ying Zhang, Sujata Banerjee
  • Patent number: 10509653
    Abstract: Vector processing systems and methods disclosed herein generate efficient vector initialization code that leverages performance advantages of single instruction, multiple data (SIMD) instructions and immediate operands. In some embodiments, a vector processing system scans existing code for initialization syntax that specifies values which match one or more target patterns. Where the vector processing system identifies one or more of these target patterns within the specified values, the vector processing system generates enhanced vector initialization code. This enhanced vector initialization code is configured to outperform vector initialization code that sequentially loads discrete values to discrete channels within a vector register.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: December 17, 2019
    Assignee: INTEL CORPORATION
    Inventors: Somnath Ghosh, Pratik J. Ashar
  • Patent number: 10503486
    Abstract: Methods and apparatus to reduce application deployment sizes are disclosed. An example apparatus includes a build generator to generate a build profile associated with a virtual appliance in a virtualization environment, the build profile including a plurality of application components including archive files associated with the virtual appliance. The example apparatus also includes a duplicate identifier to determine when a first library and a second library included in the build profile are duplicate libraries, the first library associated with a first filename and a first data portion and the second library associated with a second filename and a second data portion. The example apparatus also includes a duplicate remover to, in response to a determination that the first library and the second library are duplicate libraries, replace the first filename with a hard link to the second data portion to update the build profile.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: December 10, 2019
    Assignee: VMware, Inc.
    Inventors: George Dimitrov, Alexander Stoyanov, Miroslav Mitevski, Rostislav Georgiev
  • Patent number: 10402794
    Abstract: Described is a technology for executing financial transactions, e.g., payment transfers, by enabling a sender to trigger a money transfer by specifying, in any communication message, a payment proxy having a particular syntax, the syntax including a currency indicator preceding one or more alphanumeric characters. The payment proxy having the syntax indicates an intent of the sender to transfer money to a recipient associated with that payment proxy. The technology can include systems and methods of transferring money by use of a payment proxy within the context of a forum (e.g., social networking platform, microblog, blog, application, etc.). Messages of users in the forum can be monitored to detect for any user's intent to transfer money to a recipient. For example, forum messages can be parsed to identify the syntax carried by a user input in a forum message.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: September 3, 2019
    Assignee: Square, Inc.
    Inventors: Brian Grassadonia, Jesse Wilson, Ayokunle Omojola, Robert Andersen
  • Patent number: 10360130
    Abstract: Disclosed are a system, a computer-readable storage medium storing at least one program, and a computer-implemented method of code analysis. Whether a destination ancestor of a destination data structure and the destination data structure are included in a live data table is determined. Also, whether a destination leaf-descendant of the destination data structure is included in a live descendant data table is determined. In response to either the destination ancestor or the destination data structure being included in the live data table, the live data table is updated to include the source data structure. In response to the destination leaf-descendant being included in the live descendant data table, the live data table and a symbol data table are updated to include a leaf-descendant of the source data structure that corresponds to the destination leaf-descendant. The symbol data table is provided to a data flow analyzer.
    Type: Grant
    Filed: May 20, 2015
    Date of Patent: July 23, 2019
    Assignee: SAP SE
    Inventor: Ulrich Brink
  • Patent number: 10275502
    Abstract: An interactive reporting tool allows the user to define, modify, and selectively execute a sequence of queries in an interactive manner. A sequence of queries is entered into rows of an interactive query code table. When the user selects a given row i or a cell in a given row i, then the data table is updated to show the results of the queries 1 through i, such that the user effectively can step through the queries in any order (i.e., sequential or non-sequential, forward or backward) to see the results of each step.
    Type: Grant
    Filed: June 21, 2017
    Date of Patent: April 30, 2019
    Assignee: Opera Solutions USA, LLC
    Inventors: Christian Hubmann, Ding Huang, Amir Bar-Or
  • Patent number: 10268753
    Abstract: A sequence of queries is divided into stages, where each stage involves one pass over the data, such that the sequence of queries can be executed using the minimum number of passes over the data. The sequence of queries may be processed into a functional dependency graph that represents the relationships between query parameters (signals) and query operations, and the functional dependency graph then may be processed to divide the queries into a number of successive stages such that each stage includes queries that can be executed based on data that exists prior to execution of that stage. A sequence of queries may, and often does, require that one or more intermediate values or datasets be generated using an aggregate function.
    Type: Grant
    Filed: June 21, 2017
    Date of Patent: April 23, 2019
    Assignee: Opera Solutions USA, LLC
    Inventors: Amir Bar-Or, Yuansong Liao
  • Patent number: 10152403
    Abstract: A plurality of coding violation indications corresponding to software code are categorized according to a plurality of coding quality attributes. The coding violation indications may be reported via static analysis tools or via manual analysis of the software code. The categorized coding violations serve as the basis for determining a plurality of code quality indices each corresponding to a respective one of the plurality of coding quality attributes. In an embodiment, the plurality of code quality indices may be further processed to determine an overall code quality index for the software code. One or more of the resulting code quality indices may be displayed to a user. In this manner, code quality indices may be provided that are directly based on coding violations reported through static analysis.
    Type: Grant
    Filed: September 1, 2010
    Date of Patent: December 11, 2018
    Assignee: Accenture Global Services Limited
    Inventors: Bernhard F. Kraft, Shantiprakash Motwani, Colin P. Jarrett, Anirudha Singh, Reva Modi, Vikrant Shyamkant Kaulgud, Vibhu Saujanya Sharma
  • Patent number: 10148285
    Abstract: Techniques for abstracting a set of abstraction codes from an input bit string and for de-abstracting to recover an original input bit string from a set of abstraction codes and a string length are described. Applications of these techniques to compressing, storage, networking, encryption are also described as is a parallel configuration for abstraction and de-abstraction.
    Type: Grant
    Filed: November 15, 2012
    Date of Patent: December 4, 2018
    Inventor: Erich Schmitt
  • Patent number: 9996293
    Abstract: A method for managing memory allocation in a database receives an invocation of a stored statement defined to allocate objects, each with a stored size. The method determines an actual size relating to the invocation and determines a preferred statement among defined statements with defined object sizes. The defined statements include the stored statement and alternative stored statements that provide an alternative implementation of the stored statement defined to allocate the objects with alternative sizes lower than stored sizes. The preferred statement has defined sizes compliant to actual sizes according to preference criterion based on comparing defined and actual sizes. The method invokes the preferred statement for execution in place of the stored statement when different. The method stores a new statement, having new sizes compliant to actual sizes according to alternate criterion, responsive to unfullfilling a condition based on comparing defined sizes of the preferred statement with actual sizes.
    Type: Grant
    Filed: December 12, 2016
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Valerio Bellizia, Stefano Sidoti
  • Patent number: 9832222
    Abstract: There is provided an anti-malware mobile content data management apparatus, for use in managing content data within an input electronic file containing content data to be sent over a wireless network including at least one mobile device being served by the wireless network, at least one tokenizer to tokenize the content data contained within the input electronic file into a tagged generic representation of the content data, a content management engine to apply a predetermined content management policy to the tagged generic representation of the content data to form content-managed tagged generic content data and a validator to create validated content-managed content data by being arranged to ensure the content-managed content data represented in the content-managed tagged generic representation conforms to any predefined limits and rules applied to each form of content data appearing in the content data of the input electronic file, wherein an output of the validator is operably coupled to the wireless netwo
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: November 28, 2017
    Assignee: GLASSWALL (IP) LIMITED
    Inventor: Samuel Harrison Hutton
  • Patent number: 9672188
    Abstract: The present invention relates to a method for compiling code for a multi-core processor, comprising: detecting and optimizing a loop, partitioning the loop into partitions executable and mappable on physical hardware with optimal instruction level parallelism, optimizing the loop iterations and/or loop counter for ideal mapping on hardware, chaining the loop partitions generating a list representing the execution sequence of the partitions.
    Type: Grant
    Filed: April 22, 2015
    Date of Patent: June 6, 2017
    Assignee: Hyperion Core, Inc.
    Inventor: Martin Vorbach
  • Patent number: 9639332
    Abstract: Graphical programming or modeling environments in which a coding standard can be applied to graphical programs or models are disclosed. The present invention provides mechanisms for applying the coding standard to graphical programs/models in the graphical programming/modeling environments. The mechanisms may detect violations of the coding standard in the graphical model and report such violations to the users. The mechanisms may automatically correct the graphical model to remove the violations from the graphical model. The mechanisms may also automatically avoid the violations in the simulation and/or code generation of the graphical model.
    Type: Grant
    Filed: May 1, 2015
    Date of Patent: May 2, 2017
    Assignee: The MathWorks, Inc.
    Inventor: Peter S. Szpak
  • Patent number: 9588741
    Abstract: An apparatus is provided for building an application. The apparatus may include at least one memory and at least one processor configured to generate a build of an application in a C Object-Oriented Programming Language. The processor is also configured to generate a unity file including a plurality of source files having references to one or more header files. At least two of the source files include references to a same header file. The processor is also configured to compile the unity file including the plurality of source files to obtain an object file. The processor is also configured to link the object file to generate an executable of the application. Corresponding computer program products and methods are also provided.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 7, 2017
    Assignee: UNITED PARCEL SERVICE OF AMERICA, INC.
    Inventor: Michael Liberant
  • Patent number: 9298480
    Abstract: A file format corresponding to a text file is identified. The text file is parsed into a tree structure with the corresponding file format. The tree structure is modified with an Application Program Interface (API) module. The text file is bidirectionally updated to reflect the modified tree structure while preserving the file format of the text file. The file format includes instructions on how each entry in the text file is to be mapped into the tree structure.
    Type: Grant
    Filed: February 26, 2009
    Date of Patent: March 29, 2016
    Assignee: Red Hat, Inc.
    Inventor: David Lutterkort
  • Patent number: 9244815
    Abstract: A computer program product integrates a code coverage tool with a debugger. A debugging process is performed on a set of source code for an application program. A set of code coverage information associated with the set of source code is analyzed with respect to a set of debugging information. The set of code coverage information at least identifies a set of instructions that has been executed. A set of source code lines in the set of source code that correspond to the set of instructions that has been executed is identified based on the analyzing. A user is notified through a user interface that the set of instructions associated with the identified set of source code have been executed.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: January 26, 2016
    Assignee: International Business Machines Corporation
    Inventor: Joshua B. Wisniewski
  • Patent number: 9235493
    Abstract: Systems and methods for peer-based code quality analysis reporting are provided. In accordance with an embodiment, a system can include a peer-based code quality analysis tool, executing on a computer, which is configured to receive one or more source code files, and perform an analysis of the one or more source code files based on a plurality of rules. The peer-based code quality analysis tool can further compare results of the analysis to peer results data to determine a percentile based score, and create an interactive report which includes the results of the analysis and the percentile based score.
    Type: Grant
    Filed: November 30, 2012
    Date of Patent: January 12, 2016
    Assignee: Oracle International Corporation
    Inventor: Kelly Goetsch
  • Patent number: 9134967
    Abstract: A method of dynamically analyzing source code for generating usage hints while editing the source code is disclosed. A parse tree data structure is generated for each function called. The incoming and outgoing arguments in the parse tree are identified. A user calls the function by entering arguments as part of the function-call. The user's input arguments are associated with the corresponding argument in the parse tree. Relevant preconditions and post-conditions of the nodes surrounding the current location in the parse tree are analyzed to provide usage hints for the completion of the function call. In the case of a completed function call argument entered by the user, the type and number of arguments in the completed function call are compared to the required type and number of arguments of the function to validate the function call. Error messages are provided in the event of an invalid call.
    Type: Grant
    Filed: October 27, 2011
    Date of Patent: September 15, 2015
    Assignee: The MathWorks, Inc.
    Inventor: Steve Johnson
  • Patent number: 9038035
    Abstract: The present invention generally relates to a method for describing network events in a service aware network (“SAN”). In addition, the present invention relates to software that performs the method and has a programming model containing protocol libraries, abstract protocol messages declarations, and network events. The method and software enable a user to define basic as well as complex network events in the application, presentation, session, transport and/or network layers of a communication model, which result in internet protocol (“IP”) level triggers or other triggers. Such triggers will result in actions which may be applicable in all layers of a communication model up to the highest layer. As a result, the method and software allow a user to describe a hierarchy of high level network events through a hierarchy of lower level events. In addition, a development system and an apparatus which utilizes the method and software are also provided.
    Type: Grant
    Filed: April 5, 2010
    Date of Patent: May 19, 2015
    Assignee: Cisco Systems Israel, Inc.
    Inventors: Yuval Shachar, Doron Shamia, Oren Ravoy
  • Patent number: 9027008
    Abstract: A method, computer, and computer program for speculatively optimizing a code. The method includes speculatively optimizing the code characterized by searching in a predetermined order in at least one dictionary; extracting a value associated with a symbol name from a dictionary using the symbol name as a key; performing optimization to replace a symbol in the code with the value; compiling the code to be compiled including some or all of the optimized code; comparing, in response to detection of a change related to one dictionary among at least one dictionary, an order m in the predetermined order of the dictionary with the detected change to an order n of the dictionary with the extracted value; and invalidating the optimized code in the compiled code associated with the dictionary having the detected change in response to the results from the orders comparison and the type of change.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: May 5, 2015
    Assignee: International Business Machines Corporation
    Inventor: Kazuaki Ishizaki
  • Patent number: 9015680
    Abstract: A method and apparatus are provided for finding errors in software by compiling a body of source code at least twice to generate a first object code file and a second object code file. The first and second object code files may be compared and disparities between them may be detected. Indications of the disparities may be output on a display screen of a computing device.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: April 21, 2015
    Assignee: Google Inc.
    Inventor: Benjamin Shropshire
  • Patent number: 8966441
    Abstract: One or more processors receive (a) first software written in a first computer language, (b) user input identifying a first name of a first method in a plurality of methods defined in the first software, and (c) user input identifying a location within a second software that is written in a second computer language different from the first computer language. In response, the one or more processors automatically prepare and store at the user-identified location in the second software, a new instruction formatted in a syntax of the second computer language that invokes the first method identified in the first software by the first name. The second software may be initially created with a first instruction to include at least a first additional name (e.g. “main”) used to invoke execution of the second software, and as a parameter thereof a second additional name identifying the first software.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: February 24, 2015
    Assignee: Oracle International Corporation
    Inventor: David Cohanoff
  • 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: 8954939
    Abstract: Concepts and technologies are described herein for extending the behavior of a software development tool. An extension can be accessed and consumed by a software development tool to configure the software development tool to perform an operation in an extended mode. In one example, an extension can extend a compiler based on the input source code. In one configuration, the compiler extension can provide a compiler with one or more runtime semantics of various source code elements for a particular programming language. The compiler can access an extensions list to determine if the compiler is to perform a compilation operation on a particular source code element or logical unit in an extended mode.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: February 10, 2015
    Assignee: Microsoft Corporation
    Inventors: Frederico A. Mameri, Michael C. Fanning
  • Patent number: 8930881
    Abstract: A computer-implemented method for providing an informal interface and a formal interface to a computing application using a computer is provided. The informal interface includes first routines, the first routines using an informal input format. The method also includes providing a formal interface using the computer, where the formal interface includes second routines. The second routines support developer functionality, and the second routines using a formal input format. The method includes receiving a first input having a first routine input format, the first routine input format complying with the informal input format, or a second input having a second routine input format, the second routine input format complying with the formal input format. The method includes processing the received first input or the received second input and performing a computing operation based on the processing.
    Type: Grant
    Filed: June 6, 2012
    Date of Patent: January 6, 2015
    Assignee: The MathWorks, Inc.
    Inventors: Steven Eddins, Michelle T. Hirsch, Loren Shure, Joseph F. Hicklin, John Norris Little, Portia O'Callaghan
  • 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: 8875110
    Abstract: The present invention relates to a code inspection executing system for performing a code inspection of ABAP source codes, and particularly, to a code inspection executing system for performing a code inspection of ABAP source codes, which provides the reliable maintainability, performance, accuracy, stability, and security of an ABAP application by inspecting coding defects such as system failure and stoppage, data loss and transformation, excessive performance deterioration, erroneous behavior of functions and results thereof, complex code structures, and spelling errors.
    Type: Grant
    Filed: April 5, 2010
    Date of Patent: October 28, 2014
    Assignee: Soft4soft Co., Ltd.
    Inventor: Heon Ki Lee
  • 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: 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: 8813058
    Abstract: The disclosure is for run-time accessing a software component is provided, together with a computer system embodying the same, and a software utility directing the method. Initially a software component is loaded and analyzed to identify one or more features thereof, which features are checked against a database. Following the check, the component is classified as one of at least first, second, and third component types. A first component type is run without amendment. A second component type is replaced by a component of equivalent functionality prior to running. A third component type is blocked from running.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Baldwin, Peter J. Johnson, David Locke, Fenglian Xu
  • 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: 8806456
    Abstract: Methods, systems, and apparatuses, including computer programs encoded on computer readable media, for generating a plurality of tokens from one or more source files that include source code in a first programming language. The source code includes one or more static conditionals that include a conditional expression and branch code that is operative when the conditional expression is true. Various configurations are possible based upon the conditionals. A first static conditional includes one or more nested static conditionals within the branch code associated with the first static conditional. Each of the one or more nested static conditionals is hoisted to a beginning of the branch code associated with the first static conditional. Each innermost branch code does not contain a static conditional and each possible configuration is preserved.
    Type: Grant
    Filed: May 31, 2012
    Date of Patent: August 12, 2014
    Assignee: New York University
    Inventors: Paul Gazzillo, Robert Grimm
  • Patent number: 8806455
    Abstract: A computer-implemented method for text processing includes processing at least one body of text including semantic elements. Syntactic roles of the respective semantic elements are recognized, and the body of text is segmented into individual semantic constructs. At least one selected semantic element is removed from the semantic constructs, so as to produce respective nuclear semantic constructs. Occurrence frequencies of the respective nuclear semantic constructs are computed. An action is invoked with respect to one or more of the nuclear semantic constructs whose occurrence frequencies meet a predefined condition.
    Type: Grant
    Filed: June 25, 2009
    Date of Patent: August 12, 2014
    Assignee: Verint Systems Ltd.
    Inventor: Eliezer Katz
  • Patent number: 8789027
    Abstract: Presently described is a decompilation method of operation and system for parsing executable code, identifying and recursively modeling data flows, identifying and recursively modeling control flow, and iteratively refining these models to provide a complete model at the nanocode level. The nanocode decompiler may be used to determine if flaws, security vulnerabilities, or general quality issues exist in the code. The nanocode decompiler outputs in a standardized, human-readable intermediate representation (IR) designed for automated or scripted analysis and reporting. Reports may take the form of a computer annotated and/or partially human annotated nanocode listing in the above-described IR. Annotations may include plain English statements regarding flaws and pointers to badly constructed data structures, unchecked buffers, malicious embedded code or “trap doors,” and the like. Annotations may be generated through a scripted analysis process or by means of an expert-enhanced, quasi-autonomous system.
    Type: Grant
    Filed: December 14, 2012
    Date of Patent: July 22, 2014
    Assignee: Veracode, Inc.
    Inventor: Christien Rioux
  • Patent number: 8776017
    Abstract: A data leak prevention application that categorizes documents by data type is provided, a data type being a sensitivity classification of a document based on what data the document contains. A scripting language processing engine is embedded into the data leak prevention application, the scripting language forming part of the application as hard code. A user configures interaction of the scripting language processing engine with the application. The configuring may include modifying or adding code or setting criteria for when code portions of the scripting language processing engine activates. The scripting language processing engine is activated to enhance an accuracy of an existing data type or so as to detect a new data type. Upon enhancing the accuracy of the data type, documents may be re-categorized.
    Type: Grant
    Filed: July 26, 2010
    Date of Patent: July 8, 2014
    Assignee: Check Point Software Technologies Ltd
    Inventors: Amnon Perlmutter, Aviad Mor, Oded Gonda, Ofer Raz, Matt LeGrow
  • 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: 8732666
    Abstract: A method for automatic identification of subroutines from test scripts is disclosed. An instruction class may be coded as a subroutine vector in a vector space model. A test script action may be coded as a test script vector in a vector space model. The test script vector may be compared to the subroutine vector. The test script vector may be identified and labeled. The test script vector may be labeled as a new test script action if the result of comparing is below a threshold value. An identifier may be associated with a new test script action.
    Type: Grant
    Filed: August 22, 2012
    Date of Patent: May 20, 2014
    Assignee: International Business Machines Corporation
    Inventors: Tessa A. Lau, Jalal U. Mahmud
  • Patent number: 8732684
    Abstract: According to one embodiment, a first program code including a plurality of variables is converted to a second program code to be executed by a multi-core processor including a plurality of cores. Specifically, an access pattern of each variable in the first program code is decided. All variables in the first program code are classified into a plurality of groups each of which variables belong to the same access pattern. A member structure of each group having variables belonging to the same access pattern is created. Each member structure includes variables of one group. A route-pointer indicating an address (in a memory) of variables of the member structure is created. The variables in the first program code are converted to the member structure and the route-pointer (in the second program code) that indicate the variables. The second program code is outputted to the multi-core processor.
    Type: Grant
    Filed: January 25, 2011
    Date of Patent: May 20, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Nobuaki Tojo, Ken Tanabe, Hidenori Matsuzaki
  • 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: 8713544
    Abstract: Methods, apparati, and computer-readable media for updating proxy executable code. An apparatus embodiment of the present invention comprises generic universal proxy executable code that can be instantiated multiple times, with each instance being driven by a different set of files comprising a protocol specification file and a proxy activity code file, to control protocol decomposition and proxy functions, respectively. In a method embodiment of the present invention, a protocol specification is created or updated; proxy activity code, separate from the protocol specification, is created or updated; and the proxy executable code is executed using the protocol specification and the proxy activity code.
    Type: Grant
    Filed: November 25, 2003
    Date of Patent: April 29, 2014
    Assignee: Symantec Corporation
    Inventors: Jeffrey Sulton, Bruce McCorkendale, Carey Nachenberg
  • Publication number: 20140109067
    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: Application
    Filed: October 12, 2012
    Publication date: April 17, 2014
    Applicant: International Business Machines Corporation
    Inventors: Jeremy Flicker, Jason C. Garcowski
  • 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: 8656371
    Abstract: A report representation system and method of transforming report outputs into a standard representation format are provided. The report representation system comprises a report parser for parsing a report output, a code generator for generating a standard representation code of the report output and a code compiler for converting the standard representation code into a format representable as a fixed schema repository. The method comprises the steps of parsing a report output, generating a standard representation code of the report output and converting the standard representation code into a format representable as a fixed schema repository.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: February 18, 2014
    Assignee: International Business Machines Corporation
    Inventor: Stephan Jou
  • Patent number: 8656376
    Abstract: A method for providing intrinsic supports for a VLIW DSP processor with distributed register files comprises the steps of: generating a program representation with cluster information on instructions of the DSP processor, wherein the cluster information is provided by a program with cluster intrinsic coding; identifying data stream operations indicating parallel instruction sequences applied on different data sets in the program representation; identifying data sharing relations indicating data shared by the data stream operations in the program representation; identifying data aggregation relations indicating results aggregated from the data stream operations in the program representation; and performing register allocation for the DSP processor according to the identified data stream operations, the data sharing relations and the data aggregation relations.
    Type: Grant
    Filed: September 1, 2011
    Date of Patent: February 18, 2014
    Assignee: National Tsing Hua University
    Inventors: Jenq Kuen Lee, Chi Bang Kuan
  • Patent number: 8601456
    Abstract: Various technologies and techniques are disclosed that provide software transactional protection of managed pointers. A software transactional memory system interacts with and/or includes a compiler. At compile time, the compiler determines that there are one or more reference arguments in one or more code segments being compiled whose source cannot be recovered. The compiler executes a procedure to select one or more appropriate techniques or combinations thereof for communicating the sources of the referenced variables to the called code segments to ensure the referenced variables can be recovered when needed. Some examples of these techniques include a fattened by-ref technique, a static fattening technique, a dynamic ByRefInfo type technique, and others. One or more combinations of these techniques can be used as appropriate.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: December 3, 2013
    Assignee: Microsoft Corporation
    Inventors: John Joseph Duffy, Michael M. Magruder, Goetz Graefe, David Detlefs
  • Patent number: 8589897
    Abstract: Disclosed herein are systems, methods, and computer readable-media for obfuscating code. The method includes extracting a conditional statement from a computer program, creating a function equivalent to the conditional statement, creating a pointer that points to the function, storing the pointer in an array of pointers, replacing the conditional statement with a call to the function using the pointer at an index in the array, and during runtime of the computer program, dynamically calculating the index corresponding to the pointer in the array. In one aspect, a subset of instructions is extracted from a path associated with the conditional statement and the subset of instructions is placed in the function to evaluate the conditional statement. In another aspect, the conditional statement is replaced with a call to a select function that (1) calculates the index into the array, (2) retrieves the function pointer from the array using the index, and (3) calls the function using the function pointer.
    Type: Grant
    Filed: August 26, 2008
    Date of Patent: November 19, 2013
    Assignee: Apple Inc.
    Inventors: Gideon M. Myles, Julien Lerouge, Tanya Michelle Lattner, Augustin J. Farrugia