Patents by Inventor Marina Biberstein
Marina Biberstein 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: 9329971Abstract: Systems and methods for enhancing performance in a multithreaded computing system are provided. The method comprises receiving a plurality of values associated with a performance characteristic common to a plurality of threads; clusterizing the plurality of threads based on the performance characteristic; analyzing an inter-thread communication between the plurality of threads for identifying a plurality of threads adversely affecting the performance of different parts of the multithreaded program; calculating a performance factor corresponding to the performance characteristic to determine a type of performance improvement activity to be performed on the plurality of threads.Type: GrantFiled: May 1, 2015Date of Patent: May 3, 2016Assignee: International Business Machines CorporationInventors: Marina Biberstein, Andre Heilper, Javier Merino Cacho
-
Publication number: 20150234729Abstract: Systems and methods for enhancing performance in a multithreaded computing system are provided. The method comprises receiving a plurality of values associated with a performance characteristic common to a plurality of threads; clusterizing the plurality of threads based on the performance characteristic; analyzing an inter-thread communication between the plurality of threads for identifying a plurality of threads adversely affecting the performance of different parts of the multithreaded program; calculating a performance factor corresponding to the performance characteristic to determine a type of performance improvement activity to be performed on the plurality of threads.Type: ApplicationFiled: May 1, 2015Publication date: August 20, 2015Inventors: Marina Biberstein, Andre Heilper, Javier Merino Cacho
-
Patent number: 9087150Abstract: Systems and methods for enhancing performance in a multithreaded computing system are provided. The method comprises receiving a plurality of values associated with a performance characteristic common to a plurality of threads; clusterizing the plurality of threads based on the performance characteristic; analyzing an inter-thread communication between the plurality of threads for identifying a plurality of threads adversely affecting the performance of different parts of the multithreaded program; calculating a performance factor corresponding to the performance characteristic to determine a type of performance improvement activity to be performed on the plurality of threads.Type: GrantFiled: December 5, 2011Date of Patent: July 21, 2015Assignee: International Business Machines CorporationInventors: Marina Biberstein, Andre Heilper, Javier Merino
-
Publication number: 20140236564Abstract: A computer implemented method, an apparatus and a computer program product for instrumentation coverage. The method comprising: determining an instrumentation coverage model of a system having components, the instrumentation coverage model defining instrumentation tasks of the system, wherein each instrumentation task defines a subset of the components to be monitored; and monitoring the system by a computer, wherein during said monitoring applying a plurality of partial instrumentation tasks defining strict subsets of the components to be monitored.Type: ApplicationFiled: February 20, 2013Publication date: August 21, 2014Applicant: International Business Machines CorporationInventors: Marina Biberstein, Eitan D. Farchi, Andre Heilper, Sharon Keidar-Barner, Aviad Zlotnick
-
Publication number: 20130145369Abstract: Systems and methods for enhancing performance in a multithreaded computing system are provided. The method comprises receiving a plurality of values associated with a performance characteristic common to a plurality of threads; clusterizing the plurality of threads based on the performance characteristic; analyzing an inter-thread communication between the plurality of threads for identifying a plurality of threads adversely affecting the performance of different parts of the multithreaded program; calculating a performance factor corresponding to the performance characteristic to determine a type of performance improvement activity to be performed on the plurality of threads.Type: ApplicationFiled: December 5, 2011Publication date: June 6, 2013Applicant: International Business Machines CorporationInventors: Marina Biberstein, Andre Heilper, Javier Merino
-
Patent number: 8340942Abstract: Expert system may utilize multiple metrics to estimate whether a performance improvement activity has a potential to improve performance in respect to a predetermined performance metric. The multiple metrics may be propagated based on whether or not they may be affected by the activity and based on an associated value that may take into account the current value of the metric. An Index Propagation Graph may be further utilized to represent a propagation function which may propagate the potential of improvement of each metric in respect to the predetermined performance metric.Type: GrantFiled: April 26, 2010Date of Patent: December 25, 2012Assignee: International Business Machines CorporationInventors: Marina Biberstein, Andre Heilper
-
Publication number: 20110264410Abstract: Expert system may utilize multiple metrics to estimate whether a performance improvement activity has a potential to improve performance in respect to a predetermined performance metric. The multiple metrics may be propagated based on whether or not they may be affected by the activity and based on an associated value that may take into account the current value of the metric. An Index Propagation Graph may be further utilized to represent a propagation function which may propagate the potential of improvement of each metric in respect to the predetermined performance metric.Type: ApplicationFiled: April 26, 2010Publication date: October 27, 2011Applicant: International Business Machines CorporationInventors: Marina Biberstein, Andre Heilper
-
Patent number: 7712081Abstract: A tool is provided for modifying the code of a multi-threaded computer program undergoing testing. The program executes in an environment that has a governing memory model. It is assumed that there is a global heap and a thread-local heap, which are synchronized from time to time. The modifications are of two types: (1) code instructions are reordered while remaining in compliance with the memory model; and (2) thread-local variables are added to functions, together with inserted heap synchronizing instructions. The modified programs are then used by a test generator to prepare test cases for execution. The modifications have the effect of changing the interleavings that occur among different threads, and increase the likelihood of exposing flaws that may become evident under different memory models.Type: GrantFiled: January 19, 2005Date of Patent: May 4, 2010Assignee: International Business Machines CorporationInventors: Marina Biberstein, Eitan Farchi, Shmuel Ur
-
Publication number: 20090235234Abstract: A system for automated bug detection and solution including a testing tool operative to record execution behavior and output of a computer program, and a determiner including a bug pattern detector operative to analyze the program execution behavior and output to identify a bug pattern therein and propose at least one program modification for effecting a solution to eliminate the bug pattern, a solution query & search module operative to iteratively define a plurality of subsets of the proposed solutions in accordance with a predefined selection criterion, and a bug solution inserter operative to iteratively apply the subsets of proposed solutions to the program.Type: ApplicationFiled: March 16, 2008Publication date: September 17, 2009Inventors: Marina Biberstein, Shay Bushinsky, Eitan Farchi, Shmuel Ur
-
Patent number: 7574697Abstract: A method for testing a computer program that includes software code arranged to be executed in multiple threads, including at least a first thread and one or more other threads. The method includes identifying an output statement in the first thread, running the software code so as to generate an output due to the output statement, and intervening in the program so that when the program is run, execution of the first thread is blocked prior to the output statement while the one or more other threads continue to execute. The output generated after intervening in the program is examined in order to detect a fault in the program.Type: GrantFiled: May 14, 2003Date of Patent: August 11, 2009Assignee: International Business Machines CorporationInventors: Marina Biberstein, Eitan Farchi, Yarden Nir, Shmuel Ur
-
Publication number: 20090158075Abstract: A system and method to synchronize independent local clocks in multi-core processing system are disclosed. A shared counter or a shared memory/file is provided to establish a partial happened-before relationship (e1<e2 in the happened-before order if we know that the event e1 happened before the event e2) and a synchronizer device is utilized to generate a global time of events in threads or processes.Type: ApplicationFiled: October 10, 2008Publication date: June 18, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Marina Biberstein, Yuval Harel, Andre Heilper
-
Patent number: 7453910Abstract: A system and method to synchronize independent local clocks in multi-core processing system are disclosed. A shared counter or a shared memory/file is provided to establish a partial happened-before relationship (e1<e2 in the happened-before order if we know that the event e1 happened before the event e2) and a synchronizer device is utilized to generate a global time of events in threads or processes. The synchronizer device estimates each clock's start time and approximates elapsed time between events in threads or processes by executing an all-pair shortest-path algorithm.Type: GrantFiled: December 18, 2007Date of Patent: November 18, 2008Assignee: International Business Machines CorporationInventors: Marina Biberstein, Yuval Harel, Andre Heilper
-
Patent number: 7412692Abstract: A method for determining a required solution subset from a set of solutions for eliminating a computer program execution error is provided.Type: GrantFiled: December 24, 2003Date of Patent: August 12, 2008Assignee: International Business Machines CorporationInventors: Marina Biberstein, Shay Bushinsky, Eitan Farchi, Shmuel Ur
-
Publication number: 20060277456Abstract: A taxonomy for annotations found in program code. The taxonomy includes a set of meta-annotations associated with an annotation definition and a set of values for each meta-annotation. The meta-annotations describes properties of each annotation. The values describe one quality of its associated meta-annotation. The taxonomy is used in a method for instrumenting a piece of code. The method includes reviewing meta-annotations attached to each annotation definition within the piece of code to determine how to proceed with instrumenting the piece of code.Type: ApplicationFiled: June 7, 2005Publication date: December 7, 2006Applicant: International Business Machines CorporationInventors: Marina Biberstein, Daniel Citron, Alberto Giammaria, Bilha Mendelson, Vugranam Sreedhar
-
Publication number: 20060161897Abstract: A tool is provided for modifying the code of a multi-threaded computer program undergoing testing. The program executes in an environment that has a governing memory model. It is assumed that there is a global heap and a thread-local heap, which are synchronized from time to time. The modifications are of two types: (1) code instructions are reordered while remaining in compliance with the memory model; and (2) thread-local variables are added to functions, together with inserted heap synchronizing instructions. The modified programs are then used by a test generator to prepare test cases for execution. The modifications have the effect of changing the interleavings that occur among different threads, and increase the likelihood of exposing flaws that may become evident under different memory models.Type: ApplicationFiled: January 19, 2005Publication date: July 20, 2006Applicant: International Business Machines CorporationInventors: Marina Biberstein, Eitan Farchi, Shmuel Ur
-
Patent number: 6925638Abstract: A system and method for detecting the mutability of fields and classes in an arbitrary program component written in an object oriented programming language is disclosed. A variable is considered to be mutable if a new value is stored into it, as well as if any of its reachable variables are mutable. The system and method uses a static analysis algorithm which can be applied to any software component rather than whole programs. The analysis classifies fields and classes as either mutable or immutable. In order to facilitate open-world analysis, the algorithm identifies situations that expose variables to potential modification by code outside the component, as well as situations where variables are modified by the analyzed code. An implementation of the analysis is presented which focuses on detecting mutability of class variables, so as to avoid isolation problems. The implementation incorporates intra- and inter-procedural data-flow analyses and is shown to be highly scalable.Type: GrantFiled: September 21, 2000Date of Patent: August 2, 2005Assignee: International Business Machines CorporationInventors: Larry Koved, Bilha Mendelson, Sara Porat, Marina Biberstein
-
Publication number: 20050160317Abstract: A system for automated bug detection and solution including a testing tool operative to record execution behavior and output of a computer program, and a determiner including a bug pattern detector operative to analyze the program execution behavior and output to identify a bug pattern therein and propose at least one program modification for effecting a solution to eliminate the bug pattern, a solution query & search module operative to iteratively define a plurality of subsets of the proposed solutions in accordance with a predefined selection criterion, and a bug solution inserter operative to iteratively apply the subsets of proposed solutions to the program.Type: ApplicationFiled: December 24, 2003Publication date: July 21, 2005Applicant: International Business Machines CorporationInventors: Marina Biberstein, Shay Bushinsky, Eitan Farchi, Shmuel Ur
-
Publication number: 20040230961Abstract: A method for testing a computer program that includes software code arranged to be executed in multiple threads, including at least a first thread and one or more other threads. The method includes identifying an output statement in the first thread, running the software code so as to generate an output due to the output statement, and intervening in the program so that when the program is run, execution of the first thread is blocked prior to the output statement while the one or more other threads continue to execute. The output generated after intervening in the program is examined in order to detect a fault in the program.Type: ApplicationFiled: May 14, 2003Publication date: November 18, 2004Applicant: International Business Machines CorporationInventors: Marina Biberstein, Eitan Farchi, Yarden Nir, Shmuel Ur