Patents by Inventor Bernhard F. Scholz

Bernhard F. Scholz has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11734270
    Abstract: A method may use a minimal set of indices for an input query including identifying the input query including primitive searches that are accelerated using indices, and computing a minimal set of indices for the input query using a polynomial-time algorithm by constructing a bi-partite graph comprising a first and a second vertex set. The first and the second vertex set may be a set of searches in both partitions of the bi-partite graph. Each edge of the edge set may connect a vertex in the first vertex set and a vertex in the second vertex set. The method may further include identifying an edge set as a strict subset relation between at least two searches of the set of searches showing up in the first and second vertex set of the bi-partite graph, and performing relational data analysis using the minimal set of indices for input queries.
    Type: Grant
    Filed: September 13, 2021
    Date of Patent: August 22, 2023
    Assignee: Oracle International Corporatiton
    Inventors: Bernhard F. Scholz, Pavle Subotic
  • Publication number: 20220035811
    Abstract: A method may use a minimal set of indices for an input query including identifying the input query including primitive searches that are accelerated using indices, and computing a minimal set of indices for the input query using a polynomial-time algorithm by constructing a bi-partite graph comprising a first and a second vertex set. The first and the second vertex set may be a set of searches in both partitions of the bi-partite graph. Each edge of the edge set may connect a vertex in the first vertex set and a vertex in the second vertex set. The method may further include identifying an edge set as a strict subset relation between at least two searches of the set of searches showing up in the first and second vertex set of the bi-partite graph, and performing relational data analysis using the minimal set of indices for input queries.
    Type: Application
    Filed: September 13, 2021
    Publication date: February 3, 2022
    Applicant: Oracle International Corporation
    Inventors: Bernhard F. Scholz, Pavle Subotic
  • Patent number: 11120020
    Abstract: A method for performing analysis may use a minimal set of indices for an input query including identifying the input query including primitive searches that are accelerated using indices, computing a minimal set of indices for the input query using an optimal, polynomial-time algorithm, and performing relational data analysis using the minimal set of indices for input queries.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: September 14, 2021
    Assignee: Oracle International Corporation
    Inventors: Bernhard F. Scholz, Pavle Subotic
  • Patent number: 10318257
    Abstract: A method for points-to program analysis includes extracting a kernel from a program, performing a fixed object sensitive points to analysis of the kernel to obtain fixed analysis results, and assigning, for a first candidate object in the kernel, a first context depth to the first candidate object. The candidate objects are identified using the fixed analysis results. The method further includes assigning, for a second candidate object, a second context depth to the second candidate object. The second context depth is different than the first context depth. The method further includes performing, to obtain selective analysis results, a selective object sensitive points to analysis using the first context depth for the first candidate object and the second context depth for the second candidate object, and performing an action based on the selective analysis results.
    Type: Grant
    Filed: May 20, 2016
    Date of Patent: June 11, 2019
    Assignee: Oracle International Corporation
    Inventors: Behnaz Hassanshahi, Raghavendra Kagalavadi Ramesh, Padmanabhan Krishnan, Bernhard F. Scholz, Yi Lu
  • Patent number: 9875087
    Abstract: A method and system for staged compilation of a declarative program that includes receiving the declarative program, parsing and semantically checking the declarative program, translating the declarative program into a relational algebra machine (RAM) using a modified semi-naïve algorithm, performing a translation of the RAM into code of an imperative programming language to obtain a translated RAM, generating specialized extractor code in the imperative programming language, generating query application programming interface (API) code in the imperative programming language, and compiling the translated RAM, the specialized extractor code, and the query API code to obtain a program analysis module.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: January 23, 2018
    Assignee: Oracle International Corporation
    Inventors: Bernhard F. Scholz, Till Westmann
  • Publication number: 20170337118
    Abstract: A method for points-to program analysis includes extracting a kernel from a program, performing a fixed object sensitive points to analysis of the kernel to obtain fixed analysis results, and assigning, for a first candidate object in the kernel, a first context depth to the first candidate object. The candidate objects are identified using the fixed analysis results. The method further includes assigning, for a second candidate object, a second context depth to the second candidate object. The second context depth is different than the first context depth. The method further includes performing, to obtain selective analysis results, a selective object sensitive points to analysis using the first context depth for the first candidate object and the second context depth for the second candidate object, and performing an action based on the selective analysis results.
    Type: Application
    Filed: May 20, 2016
    Publication date: November 23, 2017
    Inventors: Behnaz Hassanshahi, Raghavendra Kagalavadi Ramesh, Padmanabhan Krishnan, Bernhard F. Scholz, Yi Lu
  • Publication number: 20170161324
    Abstract: A method for performing analysis may use a minimal set of indices for an input query including identifying the input query including primitive searches that are accelerated using indices, computing a minimal set of indices for the input query using an optimal, polynomial-time algorithm, and performing relational data analysis using the minimal set of indices for input queries.
    Type: Application
    Filed: December 4, 2015
    Publication date: June 8, 2017
    Inventors: Bernhard F. Scholz, Pavle Subotic
  • Publication number: 20160299748
    Abstract: A method and system for for staged compilation of a declarative program that includes receiving the declarative program, parsing and semantically checking the declarative program, translating the declarative program into a relational algebra machine (RAM) using a modified semi-naïve algorithm, performing a translation of the RAM into code of an imperative programming language to obtain a translated RAM, generating specialized extractor code in the imperative programming language, generating query application programming interface (API) code in the imperative programming language, and compiling the translated RAM, the specialized extractor code, and the query API code to obtain a program analysis module.
    Type: Application
    Filed: May 15, 2015
    Publication date: October 13, 2016
    Inventors: Bernhard F. Scholz, Till Westmann
  • Patent number: 9367307
    Abstract: A method, system, and computer-readable medium (CRM) for performing a staged points-to analysis of an object-oriented codebase, including obtaining the codebase and a points-to query, slicing the codebase to obtain a program slice, and performing a type analysis of the program slice to compute a type set. The method, system, and CRM include refining the program slice, after performing the type analysis, by resolving virtual dispatch sites based on the type set, and performing, after refining the program slice, a context-insensitive points-to analysis of the program slice to compute a first points-to set. The method, system, and CRM include re-refining the program slice, after performing the context-insensitive points-to analysis, by resolving the virtual dispatch sites based on the first points-to set, and performing, after re-refining the program slice, a context-sensitive points-to analysis of the program slice to compute a second points-to set, which is provided to a developer.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: June 14, 2016
    Assignee: Oracle International Corporation
    Inventors: Nicholas Allen, Bernhard F. Scholz, Padmanabhan Krishnan
  • Publication number: 20160110191
    Abstract: A method, system, and computer-readable medium (CRM) for performing a staged points-to analysis of an object-oriented codebase, including obtaining the codebase and a points-to query, slicing the codebase to obtain a program slice, and performing a type analysis of the program slice to compute a type set. The method, system, and CRM include refining the program slice, after performing the type analysis, by resolving virtual dispatch sites based on the type set, and performing, after refining the program slice, a context-insensitive points-to analysis of the program slice to compute a first points-to set. The method, system, and CRM include re-refining the program slice, after performing the context-insensitive points-to analysis, by resolving the virtual dispatch sites based on the first points-to set, and performing, after re-refining the program slice, a context-sensitive points-to analysis of the program slice to compute a second points-to set, which is provided to a developer.
    Type: Application
    Filed: October 15, 2014
    Publication date: April 21, 2016
    Inventors: Nicholas Allen, Bernhard F. Scholz, Padmanabhan Krishnan
  • Patent number: 8578343
    Abstract: A method for overflow detection using partial evaluations. The method includes obtaining a section of code from a source code file stored on a storage device, analyzing the section of code to identify a buffer with an index, determining a plurality of statements that are statically-computable and dependent on the index of the buffer, and generating a code segment including the plurality of statements. The method further includes replacing an access statement of the plurality of statements with a conditional statement returning true when bounds of the buffer are exceeded, where the access statement uses the index to access the buffer, adding an unconditional statement returning false to the code segment, and executing the code segment on a computer processor to obtain a determination of whether the bounds of the buffer are exceeded.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: November 5, 2013
    Assignee: Oracle America, Inc.
    Inventors: Bernhard F. Scholz, Cristina N. Cifuentes, Nathan Robert Albert Keynes
  • Patent number: 8527965
    Abstract: A method for analyzing a set of potential bug statements in source code. The method including obtaining a set of static program analyses; recursively reducing the set of potential bug statements in the source code by: selecting a static program analysis for each recursion from the set of static program analyses in order from least time consuming to most time consuming; evaluating the set of potential bug statements using the static program analysis of the set of static program analyses to determine a subgroup of bug free statements of the set of potential bug statements in each recursion; and removing the subgroup of the bug free statements from the set of potential bug statements to reduce the set of potential bug statements in each recursion; thereby filtering at least one subgroup of bug free statements out of the set of potential bug statements in the source code.
    Type: Grant
    Filed: April 14, 2008
    Date of Patent: September 3, 2013
    Assignee: Oracle America, Inc.
    Inventors: Cristina N. Cifuentes, Bernhard F. Scholz
  • Patent number: 8327339
    Abstract: A method for detecting user input dependence in software code. The method including representing the software code with a reachability graph having: a plurality of nodes, where a root node of the plurality of nodes represents an input controlled by a user; a first directed edge connecting a first node of the plurality of nodes and a second node of the plurality of nodes, where the first directed edge represents a data dependency; and a second directed edge connecting a third node of the plurality of nodes and a fourth node of the plurality of nodes, wherein the second directed edge represents a data dependency. The method also includes identifying a fifth node of the plurality of nodes as a reachable node from the root node by traversing the reachability graph from the root node to the reachable node; and marking a portion of the software code represented by the reachable node as user input dependant.
    Type: Grant
    Filed: June 30, 2008
    Date of Patent: December 4, 2012
    Assignee: Oracle America, Inc.
    Inventors: Bernhard F. Scholz, Chenyi Zhang, Cristina N. Cifuentes
  • Publication number: 20110179400
    Abstract: A method for overflow detection using partial evaluations. The method includes obtaining a section of code from a source code file stored on a storage device, analyzing the section of code to identify a buffer with an index, determining a plurality of statements that are statically-computable and dependent on the index of the buffer, and generating a code segment including the plurality of statements. The method further includes replacing an access statement of the plurality of statements with a conditional statement returning true when bounds of the buffer are exceeded, where the access statement uses the index to access the buffer, adding an unconditional statement returning false to the code segment, and executing the code segment on a computer processor to obtain a determination of whether the bounds of the buffer are exceeded.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Bernhard F. Scholz, Cristina N. Cifuentes, Nathan Robert Albert Keynes
  • Publication number: 20090328009
    Abstract: A method for detecting user input dependence in software code. The method including representing the software code with a reachability graph having: a plurality of nodes, where a root node of the plurality of nodes represents an input controlled by a user; a first directed edge connecting a first node of the plurality of nodes and a second node of the plurality of nodes, where the first directed edge represents a data dependency; and a second directed edge connecting a third node of the plurality of nodes and a fourth node of the plurality of nodes, wherein the second directed edge represents a data dependency. The method also includes identifying a fifth node of the plurality of nodes as a reachable node from the root node by traversing the reachability graph from the root node to the reachable node; and marking a portion of the software code represented by the reachable node as user input dependant.
    Type: Application
    Filed: June 30, 2008
    Publication date: December 31, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Bernhard F. Scholz, Chenyi Zhang, Cristina N. Cifuentes
  • Publication number: 20090259989
    Abstract: A method for analyzing a set of potential bug statements in source code. The method including obtaining a set of static program analyses; recursively reducing the set of potential bug statements in the source code by: selecting a static program analysis for each recursion from the set of static program analyses in order from least time consuming to most time consuming; evaluating the set of potential bug statements using the static program analysis of the set of static program analyses to determine a subgroup of bug free statements of the set of potential bug statements in each recursion; and removing the subgroup of the bug free statements from the set of potential bug statements to reduce the set of potential bug statements in each recursion; thereby filtering at least one subgroup of bug free statements out of the set of potential bug statements in the source code.
    Type: Application
    Filed: April 14, 2008
    Publication date: October 15, 2009
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Cristina N. Cifuentes, Bernhard F. Scholz