Home > Research
Research
My research interests broadly span programming languages and compilers. Specifically, I am interested in program analysis, verification, and testing problems that improve the productivity of programmers.
- My recent focus has been on tools for analyzing and testing C/C++ programs. Specifically, I worked on an automated test-case generation tool for C/C++ programs, and a source-to-source translation tool that models inheritance and exceptions in such a way that makes it easier to statically analyze C++ programs.
- Quite recently, I have been involved in building a framework for testing large-scale distributed systems such as Hadoop, Hbase, and so on.
- For my Ph.D. dissertation, I developed static-analysis algorithms to address the problem of analyzing executables without debugging information.
- Whenever I find time, I work on some fun projects on the side.
Doctoral Thesis
-
G. Balakrishnan,
WYSINWYX: What You See Is Not What You eXecute,
Ph.D. dissertation and Tech. Rep. TR-1603, Computer Sciences Department, University of Wisconsin, Madison, WI, August, 2007.
Journal Publications
-
G. Balakrishnan and T. W. Reps,
WYSINWYX: What you see is not what you eXecute,
In ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 32, Nr 6, August, 2010.
[Journal version of my thesis]
Conference Publications
2020
-
A. Kanade, P. Maniatis, G. Balakrishnan, and K. Shi,
Pre-trained Contextual Embedding of Source Code,
In Intl. Conf. on Machine Learning (ICML), 2020.
2013
-
P. Garg, F. Ivancic, G. Balakrishnan, N. Maeda, and A. Gupta,
Feedback-Directed Unit Test Generation for C/C++ using Concolic Execution,
In Intl. Conf. on Software Engineering (ICSE), 2013.
2012
-
J. Yang, G. Balakrishnan, N. Maeda, F. Ivancic, A. Gupta, N. Sinha, S. Sankaranarayanan, and N. Sharma,
Object Model Construction for Inheritance in C++ and Its Applications to Program Analysis,
In Intl. Conf. on Compiler Construction (CC), 2012.
-
K. Ghorbal, F. Ivancic, G. Balakrishnan, N. Maeda, and A. Gupta,
Donut Domains: Efficient Non-convex Domains for Abstract Interpretation,
In Intl. Conf. on Verification Model Checking and Abstract Interpretation (VMCAI), 2012.
2011
-
P. Prabhu, N. Maeda, G. Balakrishnan, F. Ivancic, and A. Gupta,
Interprocedural Exception Analysis for C++,
In European Conf. on Object Oriented Programming (ECOOP), 2011.
-
G. Balakrishnan, N. Maeda, S. Sankaranarayanan, F. Ivancic, A. Gupta, and R. Pothengil,
Modeling and Analyzing the Interaction of C and C++ Strings,
In FoVeOOS, 2011.
-
F. Ivancic, G. Balakrishnan, A. Gupta, S. Sankaranarayanan, N. Maeda, H. Tokuoka, T. Imoto, and Y. Miyazaki,
DC2: A framework for scalable, scope-bounded software verification,
In Intl. Conf. on Automated Software Engineering (ASE), 2011.
-
M. K. Ganai, N. Arora, C. Wang, A. Gupta, and G. Balakrishnan,
BEST: A symbolic testing tool for predicting multi-threaded program failures,
In Intl. Conf. on Automated Software Engineering (ASE), 2011.
[Tool Paper]
2010
-
T. W. Reps, J. Lim, A. V. Thakur, G. Balakrishnan, and A. Lal,
There's Plenty of Room at the Bottom: Analyzing and Verifying Machine Code,
In Intl. Conf. on Computer Aided Verification (CAV), 2010.
[Invited Paper]
-
G. Balakrishnan, M. K. Ganai, A. Gupta, F. Ivancic, V. Kahlon, W. Li, N. Maeda, N. Papakonstantinou, S. Sankaranarayanan, N. Sinha, and C. Wang,
Scalable and precise program analysis at NEC,
In Formal Methods in Computer-Aided Design (FMCAD), 2010.
2009
-
G. Balakrishnan, S. Sankaranarayanan, F. Ivancic, and A. Gupta,
Refining the control structure of loops using static analysis,
In Intl. Conference on Embedded Software (EMSOFT), 2009.
2008
-
T. W. Reps and G. Balakrishnan,
Improved Memory-Access Analysis for x86 Executables,
In Intl. Conf. on Compiler Construction (CC), 2008.
[Paper accompanying a unifying invited talk at ETAPS 08]
[Invited Paper]
-
G. Balakrishnan, S. Sankaranarayanan, F. Ivancic, O. Wei, and A. Gupta,
SLR: Path-Sensitive Analysis through Infeasible-Path Detection and Syntactic Language Refinement,
In Static Analysis Symposium (SAS), 2008.
-
G. Balakrishnan and M. K. Ganai,
PED: Proof-Guided Error Diagnosis by Triangulation of Program Error Causes,
In Software Engineering and Formal Methods (SEFM), 2008.
-
G. Balakrishnan and T. W. Reps,
Analyzing Stripped Device-Driver Executables,
In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2008.
2007
-
G. Balakrishnan and T. W. Reps,
DIVINE: DIscovering Variables IN Executables,
In Intl. Conf. on Verification Model Checking and Abstract Interpretation (VMCAI), 2007.
[Invited Paper]
2006
-
T. W. Reps, G. Balakrishnan, and J. Lim,
Intermediate-representation recovery from low-level code,
In Workshop on Partial Evaluation and Program Manipulation (PEPM), 2006.
[Invited Paper]
-
G. Balakrishnan and T. W. Reps,
Recency-Abstraction for Heap-Allocated Storage,
In Static Analysis Symposium (SAS), 2006.
2005
-
T. W. Reps, G. Balakrishnan, J. Lim, and T. Teitelbaum,
A Next-Generation Platform for Analyzing Executables,
In Asian Symposium on Programming Languages and Systems (APLAS), 2005.
[Invited Paper]
-
G. Balakrishnan, T. W. Reps, N. Kidd, A. Lal, J. Lim, D. Melski, R. Gruian, S. H. Yong, C. Chen, and T. Teitelbaum,
Model Checking x86 Executables with CodeSurfer/x86 and WPDS++,
In Intl. Conf. on Computer Aided Verification (CAV), 2005.
[Tool Paper]
-
G. Balakrishnan, R. Gruian, T. W. Reps, and T. Teitelbaum,
CodeSurfer/x86-A Platform for Analyzing x86 Executables,
In Intl. Conf. on Compiler Construction (CC), 2005.
[Tool Paper]
-
G. Balakrishnan, T. W. Reps, D. Melski, and T. Teitelbaum,
WYSINWYX: What You See Is Not What You eXecute,
In VSTTE, 2005.
2004
-
G. Balakrishnan and T. W. Reps,
Analyzing Memory Accesses in x86 Executables,
In Intl. Conf. on Compiler Construction (CC), 2004.
[Won the EAPLS 2004 best paper award]
Reprinted In Collections
-
T. W. Reps, G. Balakrishnan, J. Lim, and T. Teitelbaum,
A Next-Generation Platform for Analyzing Executables,
In ARO-DHS Malware Detection Workshop, Volume 27, Advances In Information Security, Springer, 2007.
[Reprinted from Proc. 3rd Asian Symposium on Programming Languages and Systems, Tsukuba, Japan, Nov. 3-5, 2005]
Other Publications and Reports
-
G. Balakrishnan, T. Reps, N. Kidd, A. Lal, J. Lim, D. Melski, R. Gruian, S. Yong, C. Chen, and T. Teitelbaum,
Model checking x86 executables with CodeSurfer/x86 and WPDS++,
In In Proc. Workshop on the Evaluation of Software Defect Detection Tools, june, 2005.
[Co-located with PLDI 2005]