Patents by Inventor Tamer Salman

Tamer Salman 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: 10223527
    Abstract: A method, computer product and computerized system, the method comprising: receiving computer code to be protected, wherein the computer code comprising of code blocks arranged consecutively; modifying the computer code, whereby a modified computer code is created, wherein said modifying comprises: introducing a padding area inbetween every two code blocks, wherein each padding area comprises one or more computer instructions; and storing the modified computer code in a computer readable medium.
    Type: Grant
    Filed: September 20, 2016
    Date of Patent: March 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Eitan Farchi, Ayman Jarrous, Tamer Salman
  • Publication number: 20180232523
    Abstract: A method, apparatus and product for using a predictive model to predict if inputs reach a vulnerability of a program. Given a sample input, which when provided to a program being executed, is configured to cause execution of the program to reach a vulnerability, a set of variant inputs and labels thereof is generated based on the sample input and execution of the program with each variant input. A predictive model is trained based on the set of variant inputs and labels thereof, and provided to an input analysis platform configured to analyze an input; whereby the input analysis platform is enabled to predict whether an input would cause the program to reach the vulnerability prior to executing the program with the input and perform a responsive action accordingly.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Inventors: Fady Copty, Ayman Jarrous, Sharon Keidar-Barner, Tamer Salman
  • Publication number: 20180232518
    Abstract: A method, computer product and computerized system, the method comprising: obtaining computer code, wherein the computer code is comprised of code blocks arranged in a first order and providing a functionality, wherein each code block of the code blocks comprises one or more program instructions; determining, by a processor, one or more constraints on reordering the code blocks in a second order, such that a second computer code comprising the code blocks arranged in the second order, when executed, provides the functionality; and providing the constraints to an automatic solver for determining the second order.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Inventors: FADY COPTY, Ayman Jarrous, Tamer Salman
  • Patent number: 10031936
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include receiving a request to fabricate, for a database including multiple tables, a respective target number of data records for each of the tables, and receiving one or more intra-database rules for the multiple tables. Examples of the intra-database rules include cross-record rules and cross-table rules. Upon identifying one or more referential integrity constraints for the multiple tables, the respective target number of data records for each of the multiple tables are fabricated in response to the request. In embodiments of the present invention, the fabricated data records comply with the one or more referential integrity constraints and the one or more intra-database rules.
    Type: Grant
    Filed: October 13, 2015
    Date of Patent: July 24, 2018
    Assignee: International Business Machines Corporation
    Inventors: Akram Bitar, Oleg Blinder, Ronen Levy, Tamer Salman
  • Publication number: 20180158061
    Abstract: In some examples, a system for authenticating transactions can include a processor to detect metadata corresponding to a user of a mobile device, wherein the metadata comprises a call history from the mobile device. The processor can also detect transaction information corresponding to the user of the mobile device from a remote server, wherein the transaction information corresponds to a transaction initiated at a remote service provider and wherein the transaction information indicates a transaction type and transaction initiator information. The processor can also generate an authentication score of the transaction based on the metadata and the transaction information. The processor can also authorize the transaction based on the authentication score.
    Type: Application
    Filed: December 7, 2016
    Publication date: June 7, 2018
    Inventors: ORIT EDELSTEIN, SHARON KEIDAR-BARNER, TAMER SALMAN
  • Publication number: 20180137303
    Abstract: An example system includes a processor to receive hashed sensitive data including attributes, a hashing function, and text classifiers. The processor is to also monitor a user interface and detect an input text or an output text. The processor is to further scan the detected input text or the detected output text to detect a candidate based on the text classifiers. The processor is also to hash the detected candidate using the hashing function to generate a hashed candidate. The processor is to match the hashed candidate with hashed sensitive data. The processor is to also further extract an attribute from the matched hashed sensitive data. The processor is to intercept the output text based at least on the extracted attribute.
    Type: Application
    Filed: November 15, 2016
    Publication date: May 17, 2018
    Inventors: ARIEL FARKASH, AYMAN JARROUS, MICHA MOFFIE, GAL PERETZ, TAMER SALMAN
  • Patent number: 9898395
    Abstract: According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: February 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Allon Adir, Fady Copty, Dmitry Pidan, Tamer Salman
  • Patent number: 9886369
    Abstract: A computer-implemented method and apparatus for fabricating data for database applications. The method comprises intercepting a command issued by an application, the command being addressed to a database; formulating a problem in accordance with the command; obtaining a solution for the problem, the solution comprising fabricated data; providing a second command for updating the database with the fabricated data; and providing the command to the database, whereby a response from the database based on the fabricated data is provided to the application.
    Type: Grant
    Filed: November 13, 2011
    Date of Patent: February 6, 2018
    Assignee: International Business Machines Corporation
    Inventors: Allon Adir, Ronen Levy, Tamer Salman
  • Patent number: 9875175
    Abstract: According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: January 23, 2018
    Assignee: International Business Machines Corporation
    Inventors: Allon Adir, Fady Copty, Dmitry Pidan, Tamer Salman
  • Patent number: 9870313
    Abstract: According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.
    Type: Grant
    Filed: January 9, 2017
    Date of Patent: January 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Allon Adir, Fady Copty, Dmitry Pidan, Tamer Salman
  • Patent number: 9842206
    Abstract: Detecting computer anomalies by determining probabilities of encountering call stack configurations at various depths, the call stacks being associated with software application instances on computers having the same operating system, where snapshots of the call stacks are recorded on the computers responsive to detecting predefined software application events, determining entropies of call stack configurations at various call stack depths using their associated probabilities, determining stack frame rarity scores of call stack configurations at various depths based on their associated stack frame entropies in accordance with a predefined rarity function, determining a call stack rarity score of any given call stack configuration as the maximum stack frame rarity score of the given configuration, and detecting an anomaly associated with any given one of the computers where any of the snapshots recorded on the given computer is of a call stack whose call stack rarity score meets a predefined anomaly condition.
    Type: Grant
    Filed: November 22, 2015
    Date of Patent: December 12, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ron Peleg, Amir Ronen, Tamer Salman, Shmuel Regev, Ehud Aharoni
  • Patent number: 9836389
    Abstract: A method and apparatus for generating test by data utilizing analytics. The method, the method comprising: receiving a characteristic of a first data set, the first data set representative of data to be used by a computer program application; receiving a second data set, the second data set representative of additional data to be used by the computer program application; performing data analytics on the second data set for extracting a set of properties of the second data set; determining a similarity degree between the set of properties and the characteristic of the first data set; and responsive to the similarity degree being below a threshold, generating test data based on the set of properties.
    Type: Grant
    Filed: February 17, 2013
    Date of Patent: December 5, 2017
    Assignee: International Business Machines Corporation
    Inventors: Ronen Levy, Tamer Salman
  • Patent number: 9817971
    Abstract: Detecting computer anomalies by determining probabilities of encountering call stack configurations at various depths, the call stacks being associated with software application instances on computers having the same operating system, where snapshots of the call stacks are recorded on the computers responsive to detecting predefined software application events, determining entropies of call stack configurations at various call stack depths using their associated probabilities, determining stack frame rarity scores of call stack configurations at various depths based on their associated stack frame entropies in accordance with a predefined rarity function, determining a call stack rarity score of any given call stack configuration as the maximum stack frame rarity score of the given configuration, and detecting an anomaly associated with any given one of the computers where any of the snapshots recorded on the given computer is of a call stack whose call stack rarity score meets a predefined anomaly condition.
    Type: Grant
    Filed: October 29, 2015
    Date of Patent: November 14, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Ron Peleg, Amir Ronen, Tamer Salman, Shmuel Regev, Ehud Aharoni
  • Publication number: 20170193375
    Abstract: Embodiments are directed to a computer implemented method for fabricating test data. The method includes receiving, using a processor system, a file format layout having variables. The method further includes receiving, using the processor system, rules that are defined independently of the file format layout, wherein the rules impose constraints on the variables. The method further includes defining a constraint problem based on the variables and the constraints, and solving the constraint problem.
    Type: Application
    Filed: December 30, 2015
    Publication date: July 6, 2017
    Inventors: Akram Bitar, Oleg Blinder, Ronen Levy, Tamer Salman
  • Publication number: 20170124319
    Abstract: Detecting computer anomalies by determining probabilities of encountering call stack configurations at various depths, the call stacks being associated with software application instances on computers having the same operating system, where snapshots of the call stacks are recorded on the computers responsive to detecting predefined software application events, determining entropies of call stack configurations at various call stack depths using their associated probabilities, determining stack frame rarity scores of call stack configurations at various depths based on their associated stack frame entropies in accordance with a predefined rarity function, determining a call stack rarity score of any given call stack configuration as the maximum stack frame rarity score of the given configuration, and detecting an anomaly associated with any given one of the computers where any of the snapshots recorded on the given computer is of a call stack whose call stack rarity score meets a predefined anomaly condition.
    Type: Application
    Filed: November 22, 2015
    Publication date: May 4, 2017
    Inventors: RON PELEG, AMIR RONEN, TAMER SALMAN, SHMUEL REGEV, EHUD AHARONI
  • Publication number: 20170124324
    Abstract: Detecting computer anomalies by determining probabilities of encountering call stack configurations at various depths, the call stacks being associated with software application instances on computers having the same operating system, where snapshots of the call stacks are recorded on the computers responsive to detecting predefined software application events, determining entropies of call stack configurations at various call stack depths using their associated probabilities, determining stack frame rarity scores of call stack configurations at various depths based on their associated stack frame entropies in accordance with a predefined rarity function, determining a call stack rarity score of any given call stack configuration as the maximum stack frame rarity score of the given configuration, and detecting an anomaly associated with any given one of the computers where any of the snapshots recorded on the given computer is of a call stack whose call stack rarity score meets a predefined anomaly condition.
    Type: Application
    Filed: October 29, 2015
    Publication date: May 4, 2017
    Inventors: RON PELEG, AMIR RONEN, TAMER SALMAN, SHMUEL REGEV, EHUD AHARONI
  • Publication number: 20170109254
    Abstract: According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.
    Type: Application
    Filed: January 9, 2017
    Publication date: April 20, 2017
    Inventors: Allon Adir, Fady Copty, Dmitry Pidan, Tamer Salman
  • Publication number: 20170109255
    Abstract: According to one exemplary embodiment, a method for preparing a software component for verification is provided. The method may include receiving the software component and a design model. The method may also include generating a wrapper program based on the received software component and the received design model. The method may then include associating the received software component with the generated wrapper program. The method may further include determining a plurality of inputs for the received software component based on the received design model. The method may also include sending the determined plurality of inputs and the received software component with associated wrapper program to a verification tool.
    Type: Application
    Filed: January 9, 2017
    Publication date: April 20, 2017
    Inventors: Allon Adir, Fady Copty, Dmitry Pidan, Tamer Salman
  • Publication number: 20170109515
    Abstract: A computer receives human generated reference strings and determines the character, n-gram, type switch, and subtype switch distributions of the reference strings. Each of the aforementioned distributions include corresponding statistical data, such as an average frequency, maximum frequency, minimum frequency, and standard deviation. The computer then receives one or more test strings from which the computer similarly computes the aforementioned statistical data for each of the aforementioned distributions. The computer then compares the distributions of the test string(s) with the distributions of the reference strings. Based on the deviation of the test string distributions from the reference string distributions, the computer determines whether the test strings are human or machine generated.
    Type: Application
    Filed: October 14, 2015
    Publication date: April 20, 2017
    Inventors: Ehud Aharoni, Tamer Salman, Onn M. Shehory
  • Publication number: 20170103012
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include defining multiple data fabrication rules, each of the data fabrication rules including a fabrication time and a data operation. a simulation of a software application is initiated, the simulation including a sequence of simulation times, and upon detecting, during the simulation, one or more first given fabrication rules having respective fabrication times matching one or more first simulation times, fabricated data is generated in response to performing the respective data operation of each of the detected one or more first given fabrication rules. Upon detecting, during the simulation, a second given fabrication rule whose fabrication time matches a second simulation time subsequent to the one or more first simulation times, the data operation of the second given fabrication rule is performed on a subset of the fabricated data.
    Type: Application
    Filed: October 13, 2015
    Publication date: April 13, 2017
    Inventors: Akram Bitar, Oleg Blinder, Ronen Levy, Tamer Salman