Curriculum Vitae - Chandan R. Rupakheti
Clarkson University Work: 315-***-****
* ******** ****** *****: abovx3@r.postjobfree.com
Potsdam Web: http://clarkson.edu/~rupakhcr
New York 13699-5722
RESE AR CHINTEREST
Software Engineering, Software Frameworks, Static Program Analysis, Symbolic Execution,
Program
Comprehension, Software Critics, Reverse Engineering, Software Design, Software
Maintenance
EDUC AT ION
P hD in C ompute r E ngine e ring, Clarkson University, Potsdam, NY, May 2012
Thesis Topic: A Critic for API Client Code Using Symbolic Execution
GPA: 3.963/4.0
Advisor: Dr. Daqing Hou
M S in C ompute r S cie nce, Clarkson University, Potsdam, NY, Dec 2010
Thesis Topic: A Path-Based Approach For Analyzing Object Equality in Java
GPA: 3.963/4.0
Advisor: Dr. Daqing Hou
BE in C ompute r E ngine e ring, Kathmandu University, Dhulikhel, Nepal, June 2005
Capstone Project: Nepali Spellchecker
GPA: 3.48/4.0
Advisor: Dr. Sanat K. Bista
PEER -R EVIEWEDPU BLI C AT IONS
1. C . R . R upa khe ti, D. Hou, EQ: Checking the Implementation of Equality in Java, In
Proceedings of IEEE
International Conference on Software Maintenance (ICSM), Williamsburg, Virginia, USA,
September 2011,
pp. 590-593.
2. C . R . R upa khe ti, D. Hou, Satisfying Programmers' Information Needs in API-Based
Programming, In
Proceedings of IEEE International Conference on Program Comprehension (ICPC), Kingston,
Ontario,
Canada, June 2011, pp. 250-253.
3. C . R . R upa khe ti, D. Hou, An Abstraction-Oriented, Path-Based Approach for
Analyzing Object Equality in
Java, In Proceedings of IEEE Working Conference on Reverse Engineering (WCRE), Boston,
MA, USA,
October 2010, pp. 205-214.
4. C . R . R upa khe ti, D. Hou, An Empirical Study of Design and Implementation of
Object Equality in Java, In
Proceedings of IBM Center for Advanced Studies on Collaborative Research Conference
(CASCON), ACM,
Toronto, Canada, October 2008, pp. 111-125.
5. D. Hou, C . R . R upa khe ti, H. J. Hoover, Documenting and Evaluating Scattered
Concerns for Framework
Usability: A Case Study, In Proceedings of IEEE Asia-Pacific Software Engineering
Conference (APSEC),
Beijing, China, December 2008, pp. 213-220.
Chandan R. Rupakheti (abovx3@r.postjobfree.com) CV Page 1 / 5
P AP ERSSU BM ITTEDFOR PEER -R EVIEW
6. C . R . R upa khe ti, D. Hou, Evaluating Forum Discussions to Inform the Design of an
API Critic, 10 pages,
Draft Available Online: http://clarkson.edu/~rupakhcr/papers/critic-eval-2012.pdf.
7. C . R . R upa khe ti, D. Hou, Finding Errors from Reverse-Engineered Equality Models
using a Constraint
Solver, 10 pages, Draft Available Online: http://clarkson.edu/~rupakhcr/papers/eq-
2012.pdf.
8. C . R . R upa khe ti, D. Hou, R. Seidel, Recommending API Documentation, 5 pages,
Draft Available Online:
http://clarkson.edu/~rupakhcr/papers/critic-reco-2012.pdf.
9. D. Hou, C . R . R upa khe ti, Toward a Critic System for API Client Code using
Symbolic Execution, 4 pages,
Draft Available Online: http://clarkson.edu/~rupakhcr/papers/critic-2012.pdf.
AC AD EMICPU BLI C AT IONS
10. C . R . R upa khe ti, A Critic for API Client Code, PhD Thesis Proposal, Clarkson
University, May 2011,
Available Online: http://clarkson.edu/~rupakhcr/papers/critic.pdf.
11. C . R . R upa khe ti, A Path-Based Approach For Analyzing Object Equality in Java,
Master's Thesis,
Clarkson University, May 2010, Available Online: http://clarkson.edu/~rupakhcr/papers/eq-
thesis.pdf.
RESE AR CHEXPERIENCE
S oftwa re E ngine e ring R e se a rch La bora tory
Clarkson University, August 2006 Present
Supervisor: Dr. Daqing Hou
C a se S tudie s of the S wing F ra me work a nd its U sa ge
o Carried out an extensive analysis on the design and implementation of the Swing JTree
API and identified
several scattered concerns related to its usage
o Performed analysis of the Swing Forum discussions in order to assess recurring problems
related to GUI
layout and opportunities for a tool support
P rogra m Ana lysis, R e ve rse E ngine e ring, a nd Bug D e te ction
o Developed a theory behind different kinds of equalities in Java in the presence of a
type hierarchy
o Reverse-engineered Alloy models from the Jimple (SOOT) representation of Java for the
analysis of
domain-specific semantic bugs pertaining to the implementation of object equality
o Detected 171 verified violations related to the equals method in four production code
viz. JDK 1.5,
JFreeChart 1.0.13, Lucene 3.0, and Tomcat 6.0 by developing a static checker called EQ
o Software available online: http://eqchecker.sourceforge.net/
Algorithm R e cognition
o Investigated a path-based feature detection framework for supporting algorithm
recognition and
developed a tool called Path-Sensitive Framework (PSF)
o Software available online: http://sourceforge.net/projects/serlpsf/
P rogra m C ompre he nsion, S ymbolic E xe cution, a nd D e sign I nfe re nce
o Developed a program analysis framework called CriticAL (A C ritic for APIs and
Libraries) to perform
symbolic execution of users code and provide explanations, recommendations, and
criticisms on the
suboptimal use of APIs
o Software available online: http://sourceforge.net/p/critical/
Le ssons Le a rne d
o
To think critically; to question the state-of-the-art using multiple lenses; to pay
attention to details; to work
rigorously to achieve the set goal; to express ideas coherently and technically; and to
step back and
abstract away details to expose the big picture
Chandan R. Rupakheti (abovx3@r.postjobfree.com) CV Page 2 / 5
I nforma tion a nd La ngua ge P roce ssing R e se a rch La b
Kathmandu University, August 2004June 2005Supervisor: Dr. Sanat K. Bista
N a tura l La ngua ge P roce ssing a nd Loca liz a tion
o Developed a Java based spellchecker for Nepali Language by extending the Lavensthein
Edit Distance
technique as a part of the undergraduate capstone project
o Extended the spellchecker to support other languages that require multi-byte encoding
(Unicode) as well
as the English language
o Awarded with the best project award in Kathmandu University Project Exhibition (KUPEX
'05)
o Realized the affinity for software engineering research and became inspired to pursue
graduate research
T E AC HINGEXPERIENCE
I nstructor, C ompute rNe tworks
Clarkson University, August 2011December 2011
Taught 40 students at the undergraduate (CS 455 / EE 407) as well as the graduate (CS
555 / EE 507) level
Rewarded with an overall rating of 4.7 on a scale of 1 (poor) to 5 (excellent) by
students in the evaluation of
the course (well above the university average of 4.2)
Designed and developed lectures, assignments, labs, quizzes, exams, source code
fragments, and projects
for the course
Performed analytical as well as experimental measurement of different aspects of
computer networks and
protocol performance
Organized few in-lab hacking competitions where student identified security
vulnerabilities based on
Wireshark traces
Managed the course online using Moodle
(http://moodle.clarkson.edu/course/view.php?id=5893, guest login
enabled)
Learned about the ABET accreditation process
Honed interpersonal and organizational skills
Tea ching Assista nt, M ultiple U nde rgra dua te C ourse s
Clarkson University, August 2007 - Present
Served as a Teaching Assistant for Introduction to Programming (EE 261), Software
Systems Architecture
(EE 462), Introduction to Digital Design (EE 264), and Computer Networks (EE 407)
Instructed labs, mentored projects, graded assignments and exams, and maintained office
hours
Achieved patience and self-control
INDUST RY EXPERIENCE
S oftwa re E ngine erI nte rn, E nvironme nta l S yste mRe se a rch I nstitute ( E S
R I )
Redlands, California, May 2007 August 2007
Supervisors: Marwa Mabrouk and Sergey Bokovikov
Learned and programmed ESRI s Java based SOAP and REST API for retrieving online maps
Developed part of ESRI s ArcCache server using JMX, JGroup, JSP, JSF and AJAX
technologies
Compared various open source Java serialization libraries based on their efficiency to
be used in ESRI s AXL
IO project
Tested ArcCache Admin tool for bugs
Learned work sharing and working as a team in a project
S oftwa re E ngine e r, D a ta Ana lysis a nd S oftwa re S olution ( D AS S ) P vt. Ltd.
Kathmandu, Nepal, August 2005 July 2006
Lead developer and architect of a Shopping Mall Management System developed using C# -
MSSQL
technologies
Programmed various CMS and database projects using PHP MySQL, C# - MSSQL and Java
Oracle
technology
Obtained in-depth knowledge of Software Development Life Cycle and underlying
developmental processes
Chandan R. Rupakheti (abovx3@r.postjobfree.com) CV Page 3 / 5
P AS TENGINEERINGPRO JE CTS
Automa te dRea soning/ P rogra mVe rifica tion, C la rkson U nive rsity, S pring 2 0
1 0
Developed a Sudoku solver using the Yices SMT solver as a back-end engine
Used Yices and PiVC for program verification
Used Alloy and NuSMV for model finding/checking
Weba nd D a ta ba se T e chnologie s, C la rkson U nive rsity, S pring 2009
Used MySQL, MySQL Workbench Tools, PhpMyAdmin and Php to design and develop web-based
University
Accreditation Management System
Used Java servlets, JSP, AJAX and Tomcat 6 server to develop online event logging and
management system
Normalized all of the databases to third normal form
C ryptogra phy, C la rkson U nive rsity, F a ll 2008
Developed cryptanalysis tools for substitution as well as RSA ciphers (without salt).
Investigated algorithms based on number theory for factoring such as Pollard's Rho and
Elliptic Curve
Applied Simulated Annealing and Genetics Algorithms on the factoring problem
Developed secure client-server chat application using both public key (El Gamal) and
private key (DES)
encryption using Java
C ompile r C onstruction, C la rkson U nive rsity, S pring 2007
Used Lex and Yacc tools to translate a Pascal program into Intel assembly code
Used GCC Assembler to produce an executable file from the generated assembly
P a ra lle l C omputa tion, C la rkson U nive rsity, F a ll 2006
Developed a parallel Sudoku solver in C++ using MPICH2 library
Parallelized Long Integer Multiplication and Discrete Fourier Transform
P a th F inde r R obot P rototype ( KU BO T-I I I ), Ka thma ndu U nive rsity, F a ll 2
004 - S pring 2005
Coded firmware for sensor reading and motor control in the P-Basic language for the
Basic Stamp-II micro-
controller
Designed the robot's wireless communication protocol for a 4-bit radio transceiver
connected to the controller
machine
Developed message polling and front-end GUI controller modules using QT (C++) library
Acted as a project leader for the team of 6 undergraduate students from the department
of computer,
electrical, and mechanical engineering
Exhibited the project in CAN InfoTech Project Exhibition '05, Kathmandu, Nepal
AW AR D S AN DGR AN T S
NSF ICSM 2011 Travel Grant, 1000 USD, September 2011
Teaching and Graduate Assistantship, Clarkson University, 2007 - Present
Best Project Award, Kathmandu University Project Exhibition (KUPEX '05) for a Java
based Nepali
Spellchecker, July 2005
Best Project Award, KUPEX '03, for a C++ based Shooter Shuttle Arcade Game, August 2003
PROFESSION AL SERVICES, AF F LI AT IONS, AN D LE AD ERSHIPS KI
LLS
E xte rna lRe vie we r, IEEE International Conference on Program Comprehension, 2011
P rogra m C ommitte e, CSoE Graduate Research Symposium, Clarkson University, 2011
I EEES tude nt M e mbe r, 2011 - Present
AC M S tude nt M e mbe r, 2010 - Present
F ounding C ha irma n, Kathmandu University Open Source Community, 2005
V ice-C ha irma n, Kathmandu University Computer Club, 2004-2005
Chandan R. Rupakheti (abovx3@r.postjobfree.com) CV Page 4 / 5
PROFESSION AL REFERENCES
Dr. Daqing Hou Dr. Christopher Lynch
Assistant Professor (Advisor) Professor and Chair (Thesis Committee)
Electrical and Computer Engineering Department Computer Science Department
Clarkson University Clarkson University
abovx3@r.postjobfree.com abovx3@r.postjobfree.com
Dr. Christino Tamon Dr. Jeanna Matthews
Associate Professor (Thesis Committee) Associate Professor (Thesis Committee)
Computer Science Department Electrical and Computer Engineering Department
Clarkson University Clarkson University
abovx3@r.postjobfree.com abovx3@r.postjobfree.com
(On a sabbatical leave, but can be reached via 315-***-****
email)