Patents by Inventor Philippe Suter

Philippe Suter 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: 11200291
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Grant
    Filed: November 2, 2015
    Date of Patent: December 14, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, John E. Wittern
  • Patent number: 11182451
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Grant
    Filed: December 10, 2015
    Date of Patent: November 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, John E. Wittern
  • Patent number: 10691881
    Abstract: A method, system and computer readable program product are disclosed for compiling a spreadsheet to execute stream processing in a computing system. In an embodiment, the method comprises extracting a function from the spreadsheet, said function supporting data windows and stream partitioning in the computing system; and identifying input cells of the spreadsheet for holding input values for the function, and identifying output cells of the spreadsheet for holding output values of the function. In embodiments of the invention, a data stream is partitioned into a plurality of data stream partitions, and the extracted function is applied to the stream partitions in parallel. In embodiments of the invention, the extracted function is applied to the data stream partitions in series. The windows may be time based windows, and may be count based windows, and the windows may have variable sizes.
    Type: Grant
    Filed: February 8, 2016
    Date of Patent: June 23, 2020
    Assignee: International Business Machines Corporation
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier Tardieu, Mandana Vaziri
  • Patent number: 10445507
    Abstract: Techniques that facilitate automated security testing of one or more mobile applications and/or one or more backend servers for the one or more mobile applications are provided. In one example, a system includes an analysis component and a security component. The analysis component can analyze computer instructions of a mobile application. The analysis component can also determine an identifier pattern comprising an application programming interface for one or more server endpoints associated with the mobile application. The security component can perform a security test for a server device based on the identifier pattern for the one or more server endpoints.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: October 15, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salman Abdul Baset, Julian Timothy Dolby, Marianna Rapoport, Philippe Suter
  • Patent number: 10423408
    Abstract: A computer system, method, and computer readable product are provided for identifying and isolating library code that has been obfuscated in software applications. A call graph is created for the execution of at least one module of preexisting library code within a bundle of software modules through either static analysis of the software code or dynamic analysis of the executing code, and then one or more anchor points are devised based upon the call graph that are indicative of the preexisting library code. Then a bundle of software modules can be analyzed or its execution monitored to determine if a discrete module of library code is present in the executing bundle based upon the modules' interaction with the one or more anchor points, and the discrete module of library code in the executing bundle can be identified as a module of preexisting library code.
    Type: Grant
    Filed: June 2, 2016
    Date of Patent: September 24, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salman A. Baset, Shih-Wei Li, Omer Tripp, Philippe Suter
  • Patent number: 10360087
    Abstract: A method for recommending a web application programming interface (API) includes: a cloud computing service retrieving test source code from a remote computer of the developer; the cloud computing service determining whether a call to a first web API among a plurality of web APIs is present in the test source code; and when it is determined that the call is present, the cloud computing service reading at least one log file to extract information about at least one application that has used the first web API; the cloud computing service determining a first quality of the first web API from the log file; and the cloud computing service sending a message to the remote computer recommending a second web API among the web APIs having a second quality higher than the first quality.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: July 23, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Philippe Suter, Salman A. Baset, John E. Wittern
  • Patent number: 10296745
    Abstract: A method and system of determining a vulnerability of software. Libraries are downloaded and stored in a database. For each library, a set of features are extracted and stored in a library index table of the database. For each library, it is determined whether it poses a security concern and flagged accordingly in the library index table. Applications are downloaded and stored in the database. For each application a set of features are extracted and stored in an application index table of the database. For each application, the set of features of the application of the application are compared to the set of features of each of the libraries in the library index table to identify which libraries in the library index table are associated with the application. For each application, a name of the application and names of the associated libraries are stored in a vulnerability reference table in the database.
    Type: Grant
    Filed: June 23, 2016
    Date of Patent: May 21, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salman A. Baset, Philippe Suter, Omer Tripp
  • Publication number: 20190129773
    Abstract: A method for recommending a web application programming interface (API) includes: a cloud computing service retrieving test source code from a remote computer of the developer; the cloud computing service determining whether a call to a first web API among a plurality of web APIs is present in the test source code; and when it is determined that the call is present, the cloud computing service reading at least one log file to extract information about at least one application that has used the first web API; the cloud computing service determining a first quality of the first web API from the log file; and the cloud computing service sending a message to the remote computer recommending a second web API among the web APIs having a second quality higher than the first quality.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: PHILIPPE SUTER, Salman A. Baset, John E. Wittern
  • Patent number: 10255262
    Abstract: A method, system and computer readable program product are disclosed for encoding a function in a spreadsheet program to execute stream processing on a computing system. In embodiments of the invention, the method comprises encoding one or more formulas in one or more cells of the spreadsheet program, each of the formulas supporting data windows and stream partitioning; designating a first group of cells of the spreadsheet program as input cells for holding input values for the one or more formulas; and designating a second group of cells of the spreadsheet program as output cells for holding output values of the one or more formulas. In embodiments of the invention, the stream partitioning includes partitioning a defined stream of data into a plurality of data stream partitions, and the one or more formulas are encoded to operate on the plurality of data stream partitions.
    Type: Grant
    Filed: February 8, 2016
    Date of Patent: April 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier Tardieu, Mandana Vaziri
  • Patent number: 10176160
    Abstract: Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.
    Type: Grant
    Filed: December 21, 2016
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier L. J. Tardieu, Mandana Vaziri
  • Publication number: 20180089437
    Abstract: Techniques that facilitate automated security testing of one or more mobile applications and/or one or more backend servers for the one or more mobile applications are provided. In one example, a system includes an analysis component and a security component. The analysis component can analyze computer instructions of a mobile application. The analysis component can also determine an identifier pattern comprising an application programming interface for one or more server endpoints associated with the mobile application. The security component can perform a security test for a server device based on the identifier pattern for the one or more server endpoints.
    Type: Application
    Filed: September 23, 2016
    Publication date: March 29, 2018
    Inventors: Salman Abdul Baset, Julian Timothy Dolby, Marianna Rapoport, Philippe Suter
  • Publication number: 20170372072
    Abstract: A method and system of determining a vulnerability of software. Libraries are downloaded and stored in a database. For each library, a set of features are extracted and stored in a library index table of the database. For each library, it is determined whether it poses a security concern and flagged accordingly in the library index table. Applications are downloaded and stored in the database. For each application a set of features are extracted and stored in an application index table of the database. For each application, the set of features of the application of the application are compared to the set of features of each of the libraries in the library index table to identify which libraries in the library index table are associated with the application. For each application, a name of the application and names of the associated libraries are stored in a vulnerability reference table in the database.
    Type: Application
    Filed: June 23, 2016
    Publication date: December 28, 2017
    Inventors: Salman A. Baset, Philippe Suter, Omer Tripp
  • Publication number: 20170351597
    Abstract: A computer system, method, and computer readable product are provided for identifying and isolating library code that has been obfuscated in software applications. A call graph is created for the execution of at least one module of preexisting library code within a bundle of software modules through either static analysis of the software code or dynamic analysis of the executing code, and then one or more anchor points are devised based upon the call graph that are indicative of the preexisting library code. Then a bundle of software modules can be analyzed or its execution monitored to determine if a discrete module of library code is present in the executing bundle based upon the modules' interaction with the one or more anchor points, and the discrete module of library code in the executing bundle can be identified as a module of preexisting library code.
    Type: Application
    Filed: June 2, 2016
    Publication date: December 7, 2017
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salman A. Baset, Shih-Wei Li, Omer Tripp, Philippe Suter
  • Publication number: 20170228357
    Abstract: A method, system and computer readable program product are disclosed for compiling a spreadsheet to execute stream processing in a computing system. In an embodiment, the method comprises extracting a function from the spreadsheet, said function supporting data windows and stream partitioning in the computing system; and identifying input cells of the spreadsheet for holding input values for the function, and identifying output cells of the spreadsheet for holding output values of the function. In embodiments of the invention, a data stream is partitioned into a plurality of data stream partitions, and the extracted function is applied to the stream partitions in parallel. In embodiments of the invention, the extracted function is applied to the data stream partitions in series. The windows may be time based windows, and may be count based windows, and the windows may have variable sizes.
    Type: Application
    Filed: February 8, 2016
    Publication date: August 10, 2017
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier Tardieu, Mandana Vaziri
  • Publication number: 20170228358
    Abstract: A method, system and computer readable program product are disclosed for encoding a function in a spreadsheet program to execute stream processing on a computing system. In embodiments of the invention, the method comprises encoding one or more formulas in one or more cells of the spreadsheet program, each of the formulas supporting data windows and stream partitioning; designating a first group of cells of the spreadsheet program as input cells for holding input values for the one or more formulas; and designating a second group of cells of the spreadsheet program as output cells for holding output values of the one or more formulas. In embodiments of the invention, the stream partitioning includes partitioning a defined stream of data into a plurality of data stream partitions, and the one or more formulas are encoded to operate on the plurality of data stream partitions.
    Type: Application
    Filed: February 8, 2016
    Publication date: August 10, 2017
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier Tardieu, Mandana Vaziri
  • Publication number: 20170124210
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Application
    Filed: November 2, 2015
    Publication date: May 4, 2017
    Inventors: Philippe Suter, John E. Wittern
  • Publication number: 20170124211
    Abstract: A computer-implemented method for creating a web programming interface (API) description may include parsing an API usage dataset with a processor to identify a plurality of nodes in each of a plurality of uniform resource locators (URLs), and tagging path parameters for the plurality of nodes. Tagging the path parameters may include identifying, with the processor, which nodes are static parts of the URLs, and identifying, with the processor, which of the nodes are path parameters for the URLs. The method may further include aggregating, with the processor, a plurality of node types based on the tagged path parameters and the static parts of the URLs, and outputting, via the processor, an API description based on the aggregated plurality of node types.
    Type: Application
    Filed: December 10, 2015
    Publication date: May 4, 2017
    Inventors: Philippe Suter, John E. Wittern
  • Publication number: 20170097925
    Abstract: Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.
    Type: Application
    Filed: December 21, 2016
    Publication date: April 6, 2017
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier L. J. Tardieu, Mandana Vaziri
  • Patent number: 9569418
    Abstract: Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: February 14, 2017
    Assignee: International Busines Machines Corporation
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier L. J. Tardieu, Mandana Vaziri
  • Publication number: 20150378979
    Abstract: Converting data transformations entered in a spreadsheet program into a circuit representation of those transformations. The circuit representation can run independently of the spreadsheet program to transform input data into output data. In some cases the circuit representation is in the form of hardware, accepts and/or produces data streams, and/or the circuit and/or output data or data streams can be shared among multiple users and/or subscribers. Where data streams are processed, the transformations may include well-specified timing semantics, supporting operations that involve rate-based rate manipulation, value-based rate manipulation, and/or access to past cell values.
    Type: Application
    Filed: June 27, 2014
    Publication date: December 31, 2015
    Inventors: Martin J. Hirzel, Rodric Rabbah, Philippe Suter, Olivier L. J. Tardieu, Mandana Vaziri