Click here for a copy of my resume in pdf
1 EDUCATION
North Carolina State University |
Raleigh, NC |
PhD, Computer Science, since August, 2006 (GPA 4.00/4.00) |
August, 2006 - |
Indian Institute of Technology, Guwahati |
Guwahati, India |
B.Tech., Computer Science & Engineering (C.P.I 7.07/10) |
July, 2000 - May, 2004 |
- Intern, IBM TJ Watson Research Center (May-August 2008) - Worked as an intern to Dr Amit Paradkar and Dr Avik Sinha at IBM Research
- Intern, Avaya Labs Research (May-August 2007) - Worked as an intern to Dr David Weiss and Dr Joann Ordille at Avaya Labs Research
- Teaching Assistant, NC State University (August-December 2006) - Worked as a Teaching Assistant to Dr Annie.I.Anton for the Graduate level Software Engineering course (CSC-510)
-
Research Assistant, RCOST, Benevento, Italy (April 2005 - March 2006) - Worked as a Research Assistant to Dr Massimiliano Di Penta at Research Centre for Software Technology (RCOST), Benevento, Italy
-
Software Engineer, Induslogic, Noida, India (August, 2004 - March 2005) - Worked as a Software Engineer at Indusloc Inc where I develop applications for SIM Cards.
-
Intern, CWI Amsterdam (May-July 2003) - Worked as an Intern to Dr Paul Klint at Software Engineering Group, CWI Amsterdam.
- Regression Testing
- Automated Test Generation
-
Software Evolution
-
Search-Based Software Engineering
4 MAJOR PROJECTS
.
- Automatic Regression Unit Test Generation (Currently working with Dr Tao Xie)
This project is funded from the National Science Foundation Award CCF-0725190, Science of
Design Program (01/01/2008-12/31/2010)
Project Webs: http://ase.csc.ncsu.edu/projects/testevo/
http://ase.csc.ncsu.edu/projects/regtestgen/ - Refactoring Detection for Libraries(Working with Dr Tao Xie (NCSU), Danny Dig (UIUC))
Almost all the software systems make use of external libraries from different sources, making the systems dependent. As those libraries evolve, they may undergo various kinds of changes, including changes in their APIs and thus breaking the client’s system. Researchers have shown that 80% of the breaking changes are refactorings. Most of the existing tools to detect refactorings make use of internal call site information which may not be available in libraries. We built a tool RefacLib that makes use of heuristics to detect refactorings between two versions of a software. Case studies involving five open source frameworks and libraries show that we are able to detect refactorings with a high precision and recall value
-
Search-Based Inference for Dialect Grammars (Worked with Dr Massimiliano Di Penta (RCOST))
Building parsers is an essential task for the development of many tools, from software maintenance tools to any kind of business specific, programmable environment having a shell interface. Whilst it can be quite easy to get grammars for many programming languages, these are, very often, almost useless because of the large diffusion of dialects and variants that the available grammar cannot parse. Writing a grammar by hand is clearly feasible, however it can be a tedious task, requiring appropriate skills not always available. Grammar inference is a possible approach for obtaining suitable grammars. However, inference from scratch poses serious scalability issues and tends to produce grammars hard to be understood and to be used to built tools. We adopted Genetic algorithms for evolving existing grammars towards target (dialect) grammars, inferring changes from examples written using the dialect. Results obtained experimenting the inference of C dialect rules show that the algorithm is able to successfully evolve the grammar. Inspections indicated that the changes automatically made to the grammar during its evolution preserved its meaningfulness, and were comparable to what a developer could have done by hand.
-
Search-Based Composition of Web Services (Worked since April, 2005 to March, 2006 with Dr Massimiliano Di Penta and Dr Lerina Aversano(RCOST))
The design of service composition is one of the most challenging research problems in service oriented software engineering. Building composite services is concerned with identifying suitable set of services that orchestrated in some way are able to solve a business goal which cannot be resolved using a single service. While the literature reports several approaches for (semi) automatic service composition, it still remains an open research issue with many unsolved problems, such as the capability to determine the composition’s topology. We proposed a search based approach to semi automatically support the design of service compositions. In particular, the approach uses genetic programming to automatically generate workflows that accomplish a business goal and exhibit a given QoS level, with the aim of supporting the service integrator activities in the finalization of the workflow.
5 PUBLICATIONS (AVAILABLE ON REQUEST)
5.1 Journals
-
Massimiliano Di Penta, Pierpaolo Lombardi, Kunal Taneja, Luigi Troiano, "Search Based Inference of Dialect Grammars", accepted at Applied Soft Computing Journal.
-
Lerina Aversano, Massimilano Di Penta, Kunal Taneja - A Genetic Programming Approach to Support the Design of Service Compositions" to appear in the special issue on Ëngineering Design and Composition of Service-Oriented Applications" of the International Journal of Computer Systems Science & Engineering
5.2 Conferences
-
Kunal Taneja and Tao Xie - " DiffGen: Automated Regression Unit-Test Generation" - To appear in Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), Short Paper, L'Aquila, Italy, September 2008.
-
Kunal Taneja, Danny Dig, and Tao Xie - "Automated Detection of API Refactorings in Libraries: - To appear in Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), Short Paper, Atlanta, Georgia, November 2007.
-
Massimiliano Di Penta, Kunal Taneja - "Towards the Automatic Evolution of Reengineering Tools" - In proceedings of the European Conference on Software Maintenance and Reengineering (CSMR 2005), Short Paper, Manchester, UK, pages 241-244, IEEE CS Press, , Mar 2005
Other Conference Tracks
- Kunal Taneja, Tao Xie, Nikolai Tillmann, Jonathan de Halleux, Wolfram Schulte - "Guided Path Exploration for Regression Test Generation" - To appear in Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), New Ideas and Emerging Results (NIER), Vancouver, Canada, May 2009.
5.3 Workshops
-
Tao Xie, Mithun Acharya, Suresh Thummalapenta, and Kunal Taneja. - "Improving Software Reliability and Productivity via Mining Program Source Code." To appear in Proceedings of the NSF Next Generation Software Program Workshop at IPDPS 2008 (NSFNGS 2008), Miami, Florida, April 2008.
-
Tao Xie, Kunal Taneja, Shreyas Kale, and Darko Marinov - "Towards a Framework for Differential Unit Testing of Object-Oriented Programs" - In Proceedings of the 2nd International Workshop on Automation of Software Test (AST 2007), Minneapolis, MN, pp. 5-11, May 2007.
-
Lerina Aversano, Massimiliano Di Penta, Kunal Taneja - Ä Genetic Programming Approach to Support the Design of Service Compositions" - First International Workshop on Engineering Service Compositions - December 12th 2005, Amsterdam, The Netherlands
5.4 Technical Reports
-
Nuo Li, Kunal Taneja, Tao Xie - "Multiple-Implementation Testing of User-Input Validators." - submitted for publication.
6 COURSEWORK
- Graduate - Software Testing & Reliability (A+), Compiler Construction (A+), Design and analysis of Algorithms (A-), Special topics in Software testing and analysis (A), Computer Networks (A), Internet Protocols (A+), Computer & Network Security (A-), Automated Learning & Data Analysis (A+), Automata, Languages & Computability Theory (A+).
-
UnderGraduate(Major) - Software Engineering, Compilers, Programming Languages, Operating System, Databases, Algorithms, Computer Architecture, Digital Design, Theory of Computation, Formal Languages & Automata Theory, Computer Networks, Computer & Network Security, WireLess Networks, Discrete Mathematics
7 COMPUTER SKILLS
- Languages - Java, C++, C, Perl
-
Tools - Eclipse, JUnit, FIT, JavaCC, JCute, Lex, Yacc, Rational Rose, ArgoUML, MySQL, FindBugs, Xilinx
-
Operating Systems - Windows 98/2000/NT/XP, Linux(Red Hat and Debian)
8 AWARDS AND HONORS
- 2007: N.C. State University Outstanding Teaching Assistant Award.
-
2006: Awarded complete five year assistantship for PhD program by North Carolina State
University. -
2000: Achieved an all India Rank of 713 among 120,000 candidates who appeared for Joint
Entrance Examination, for Indian Institutes of Technologies. - Currently Mentoring Undergrad Students from Minorities in Computer Science.
9 CONFERENCE PEER CO-REVIEWER
- International Conference on Software Testing (ICST), 2009.
- International Conference on Automated Software Engineering (ASE), 2008.
-
International Conference on Software Maintenance (ICSM), 2008.
- International Symposium on Software Testing and Analysis (ISSTA), 2008.
- International Conference on Software Testing (ICST), 2008.
10 POSTERS AND PRESENTATIONS
- Kunal Taneja, Tao Xie - “DiffGen: Automated Regression Unit-Test Generation”, Poster
Presentation at IBM University Day 2008.
- Kunal Taneja – “Regression Testing” – Class lecture at the CSC 712 graduate course, September
2008.
-
IKunal Taneja – “Static and Dynamic Characterization of Webservices”, Summer intern talk
at IBM T. J. Watson Research Center, Aug 2008.
- Kunal Taneja, Tao Xie - “DiffGen: Automated Regression Unit-Test Generation” , Poster
Presentation at at ASE 2008. - Kunal Taneja – “Economic and Portfolio Issues in the Design of Software Product Lines”
Summer intern talk at Avaya Labs Research, Aug 2007. - Kunal Taneja, Danny Dig, Tao Xie – “Automated Detection of API Refactorings in Libraries”,
Poster Presentation at ASE 2007.
11 REFERENCES
Available on Request
