Search

Gogul Balakrishnan Phones & Addresses

  • 5538 Blossom Terrace Ct, San Jose, CA 95124
  • Santa Clara, CA
  • Princeton, NJ
  • Plainsboro, NJ
  • 112 Orchard St, Madison, WI 53715
  • Sunnyvale, CA

Publications

Us Patents

Program Verification Through Symbolic Enumeration Of Control Path Programs

View page
US Patent:
8402440, Mar 19, 2013
Filed:
Feb 26, 2009
Appl. No.:
12/393500
Inventors:
Sriram Sankaranarayanan - Plainsboro NJ, US
Franjo Ivancic - Princeton NJ, US
William R Harris - Madison WI, US
Aarti Gupta - Princeton NJ, US
Gogul Balakrishnan - Plainsboro NJ, US
Assignee:
NEC Laboratories America, Inc. - Princeton NJ
International Classification:
G06F 9/44
US Classification:
717126, 717124, 717130, 717131
Abstract:
Systems and methods are disclosed to verify a program by symbolically enumerating path programs; verifying each path program to determine if the path program is correct or leads to a violation of a correctness property; determining a conflict set from the path program if the path program is proved correct; using the conflict set to avoid enumerating other related path programs that are also correct.

Control Structure Refinement Of Loops Using Static Analysis

View page
US Patent:
8522226, Aug 27, 2013
Filed:
Feb 8, 2010
Appl. No.:
12/701962
Inventors:
Sriram Sankaranarayanan - Boulder CO, US
Aarti Gupta - Princeton NJ, US
Gogul Balakrishnan - Plainsboro NJ, US
Assignee:
NEC Laboratories America, Inc. - Princeton NJ
International Classification:
G06F 9/45
G06F 9/44
G06F 9/445
US Classification:
717160, 717150, 717151, 717167, 717171, 717178
Abstract:
A system and method for discovering a set of possible iteration sequences for a given loop in a software program is described, to transform the loop representation. In a program containing a loop, the loop is partitioned into a plurality of portions based on splitting criteria. Labels are associated with the portions, and an initial loop automaton is constructed that represents the loop iterations as a regular language over the labels corresponding to the portions in the program. Subsequences of the labels are analyzed to determine infeasibility of the subsequences permitted in the automaton. The automaton is refined by removing all infeasible subsequences to discover a set of possible iteration sequences in the loop. The resulting loop automaton is used in a subsequent program verification or analysis technique to find violations of correctness properties in programs.

Control Structure Refinement Of Loops Using Static Analysis

View page
US Patent:
8601459, Dec 3, 2013
Filed:
Apr 9, 2013
Appl. No.:
13/859010
Inventors:
Aarti Gupta - Princeton NJ, US
Gogul Balakrishnan - Plainsboro NJ, US
Assignee:
NEC Laboratories America, Inc. - Princeton NJ
International Classification:
G06F 9/45
G06F 9/44
US Classification:
717160, 717150, 717151, 717167, 717170, 717178
Abstract:
A system and method for discovering a set of possible iteration sequences for a given loop in a software program is described, to transform the loop representation. In a program containing a loop, the loop is partitioned into a plurality of portions based on splitting criteria. Labels are associated with the portions, and an initial loop automaton is constructed that represents the loop iterations as a regular language over the labels corresponding to the portions in the program. Subsequences of the labels are analyzed to determine infeasibility of the subsequences permitted in the automaton. The automaton is refined by removing all infeasible subsequences to discover a set of possible iteration sequences in the loop. The resulting loop automaton is used in a subsequent program verification or analysis technique to find violations of correctness properties in programs.

Path-Sensitive Analysis Through Infeasible-Path Detection And Syntactic Language Refinement

View page
US Patent:
20090193401, Jul 30, 2009
Filed:
Jul 31, 2008
Appl. No.:
12/183416
Inventors:
Gogul Balakrishnan - Plainsboro NJ, US
Sriram Sankaranarayanan - Plainsboro NJ, US
Franjo Ivancic - Princeton NJ, US
Aarti Gupta - Princeton NJ, US
Assignee:
NEC LABORATORIES AMERICA, INC. - Princeton NJ
International Classification:
G06F 9/45
US Classification:
717144
Abstract:
A system and method for infeasible path detection includes performing a static analysis on a program to prove a property of the program. If the property is not proved, infeasible paths in the program are determined by performing a path-insensitive abstract interpretation. Information about such infeasible paths is used to achieve the effects of path-sensitivity in path-insensitive program analysis.

Proof-Guided Error Diagnosis (Ped) By Triangulation Of Program Error Causes

View page
US Patent:
20090292941, Nov 26, 2009
Filed:
Dec 9, 2008
Appl. No.:
12/331243
Inventors:
Malay K. Ganai - Plainsboro NJ, US
Gogul Balakrishnan - Plainsboro NJ, US
Assignee:
NEC LABORATORIES AMERICA, INC. - Princeton NJ
International Classification:
G06F 11/07
US Classification:
714 2, 714E11023
Abstract:
Systems and methods are disclosed for performing error diagnosis of software errors in a program by from one or more error traces, building a repair program containing one or more modified program semantics corresponding to fixes to observed errors; encoding the repair program with constraints, biases and priortization into a constraint weighted problem; and solving the constraint weighted problem to generate one or more repair solutions, wherein the encoding includes at least one of: a) constraining one or more repairs choices guided by automatically inferring one or more partial specifications of intended program behaviors and program structure; b) biasing one or more repair choices guided by typical programming mistakes; and c) prioritizing the repair solutions based on error locations and possible changes in program semantics.

Interprocedural Exception Method

View page
US Patent:
20120084761, Apr 5, 2012
Filed:
Sep 30, 2011
Appl. No.:
13/249298
Inventors:
Naoto Maeda - Tokyo, JP
Prakash Prabhu - Princeton NJ, US
Gogul Balakrishnan - Princeton NJ, US
Franjo Ivancic - Princeton NJ, US
Aarti Gupta - Princeton NJ, US
Assignee:
NEC LABORATORIES AMERICA, INC. - Princeton NJ
International Classification:
G06F 9/44
US Classification:
717132
Abstract:
An interprocedural exception analysis and transformation framework for computer programming languages such as C++ that (1) captures the control-flow induced by exceptions precisely, and (2) transforms the given computer program into an exception-free program that is amenable for precise static analysis, verification, and optimizations.

Embedding Class Hierarchy Into Object Models For Multiple Class Inheritance

View page
US Patent:
20120117547, May 10, 2012
Filed:
Oct 3, 2011
Appl. No.:
13/251463
Inventors:
GOGUL BALAKRISHNAN - Princeton NJ, US
Naoto Maeda - Lawrenceville NJ, US
Franjo Ivancic - Princeton NJ, US
Nishant Sinha - Plainsboro NJ, US
Aarti Gupta - Princeton NJ, US
Jing Yang - Chartottesville VA, US
Assignee:
NEC Laboratories America, Inc. - Princeton NJ
International Classification:
G06F 9/45
US Classification:
717136
Abstract:
A model is provided for transforming a program with a priori given class hierarchy that is induced by inheritance. An inheritance remover is configured to remove inheritance from a given program to produce an analysis-friendly program which does not include virtual-function pointer tables and runtime libraries associated with inheritance-related operations. The analysis-friendly program preserves the semantics of the given program with respect to a given class hierarchy. A clarifier is configured to identify implicit expressions and function calls and transform the given program into at least one intermediate program having explicit expressions and function calls.

Analysis Of Interactions Of C And C++ Strings

View page
US Patent:
20120233584, Sep 13, 2012
Filed:
Mar 9, 2012
Appl. No.:
13/416358
Inventors:
Franjo Ivancic - Princeton NJ, US
Gogul Balakrishnan - Princeton NJ, US
Naoto Maeda - Tokyo, JP
Aarti Gupta - Princeton NJ, US
Assignee:
NEC LABORATORIES AMERICA, INC. - Princeton NJ
International Classification:
G06F 9/44
US Classification:
717104
Abstract:
A computer implemented method for analyzing a computer software program comprising both C++ and C string components, wherein the method includes building a memory model abstraction of any memory used by the program strings. Various memory models are presented that find invalid memory accesses in terms of validity of memory regions and buffer overflows. The model supports analyzing the interaction of C and C++ components—in particular, it focuses on the interaction of C and C++ strings. The conversion of C++ strings to C strings is accomplished through a non-transferable ownership attribute that is to be respected by the C strings. The models can then be analyzed using static analysis techniques such as abstract interpretation and model checking, or through dynamic analysis. In so doing we allow discovery of potential memory safety violations in programs involving conversions between C and C++ strings.
Gogul A Balakrishnan from San Jose, CA, age ~43 Get Report