Ganesha Upadhyaya

Ganesha Upadhyaya

Research Interests

  • Software Engineering: Mining software repositories, Ultra-large-scale mining, refactoring.
  • Program Analysis: BigCode analyses, program synthesis, program comprehension, incremental analysis, static analyses for parallelism.
  • Concurrency and Parallelism: Message passing concurrency, actor-oriented programming, garbage collection, performance analysis, performance reasoning, performance bug detection and fixing.

Appointments

  • Research Assistant, Laboratory for Software Design, Iowa State University, USA, 2010-Current
  • Teaching Assistant, Department of Computer Science, Iowa State University, USA
    • Advanced Topics in Programming Language Semantics (COMS 641), Fall 2014
    • Computer Literacy and Applications (COMS 103), Spring 2015
  • SDE Intern, Amazon.com, Inc., Seattle, WA, USA, Summer 2011
  • Software Developer, SAP Labs, Bangalore, India, 2008-2010
  • Software Developer, Business Objects, Bangalore, India, 2007-2008
  • Software Engineering Intern, HP Labs, Bangalore, India, 2007

Publications

  • [ICSE 2017] Ganesha Upadhyaya and Hridesh Rajan, "On Accelerating Ultra-Large-Scale Mining," International Conference on Software Engineering 2017, NIER Track [preprint].
  • [MSR 2017] Nitin M Tiwari, Ganesha Upadhyaya, Hoan Nguyen and Hridesh Rajan, "Candoia: A Platform for Building and Sharing Mining Software Repositories Tools as Apps," International Conference on Mining Software Repositories 2017.
  • [Modularity 2016] Yuheng Long, Mehdi Bagherzadeh, Eric Lin, Ganesha Upadhyaya and Hridesh Rajan, "On Ordering Problems in Message Passing Software," International Conference on Modularity 2016 [acm].
  • [ICSE 2016] Nitin M Tiwari, Ganesha Upadhyaya and Hridesh Rajan, "Candoia: A Platform and an Ecosystem for Building and Deploying Mining Software Repository Tools," International Conference on Software Engineering 2016, Poster Track [acm]. Won distinguished poster award.
  • [OOPSLA 2015] Ganesha Upadhyaya and Hridesh Rajan, "Effectively Mapping Linguistic Abstractions for Message-passing Concurrency to Threads on the Java Virtual Machine," Object-oriented Programming, Systems, Languages, and Applications 2015 [acm]. Received US National Science Foundation (NSF) travel grant.
  • [AGERE 2014] Ganesha Upadhyaya, and Hridesh Rajan, "An Automatic Actors to Threads Mapping Technique for JVM-based Actor Frameworks," International Workshop on Programming Based on Actors, Agents, and Decentralized Control 2014 [acm].

Technical Reports

  • Eric Lin, Ganesha Upadhyaya, Sean L. Mooney, and Hridesh Rajan, "Duck Futures: A Generative Approach to Transparent Futures," TR15-05, Computer Science, Iowa State University, June 2015 [TR].
  • Ganesha Upadhyaya, Tyler Sondag, and Hridesh Rajan, "ParaSCAN: A Static Profiler to Help Parallelization," TR14-06, Computer Science, Iowa State University, June 2014 [TR].
  • Hridesh Rajan, Steven M. Kautz, Eric Lin, Sean L. Mooney, Yuheng Long, and Ganesha Upadhayaya, "Capsule-oriented Programming in the Panini Language," TR14-08, Computer Science, Iowa State University, Aug 2014 [TR].

Thesis

  • Ganesha Upadhyaya, Abstraction and performance, together at last; Auto-tuning message-passing concurrency on the java virtual machine, MS Thesis, CS, Iowa State University, 2015 [MS Thesis], [pdf].

Awards

  • Research Excellence Award, 2017
  • John Vincent Atanasoff Award, 2017
  • Distinguished poster award, ICSE 2016
  • NSF student travel award, SPLASH 2015

Presentations & Invited talks

  • "Techniques for accelerating source code analysis at massive scale", Invited talk at Coverity, Synopsys, San Francisco, USA, Apr 10, 2017.
  • "Performance Models for Actor-Like Programs and Accelerating BigCode Analysis", Invited talk at Huawei R&D, Champaign, IL, USA, Jan 20, 2017.
  • "Collective Program Analysis", The 8th Midwest Verification Day, Ames, Iowa State University, October 21-22, 2016.
  • "Candoia: A Platform and Ecosystem for Mining Software Repositories Tools", 38th International Conference on Software Engineering (ICSE), Austin, TX, May 14-22, 2016.
  • "Effectively Mapping Linguistic Abstractions for Message-passing Concurrency to Threads on the Java Virtual Machine", 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) [Slides], [Presentation video].
  • "An Automatic Actors to Threads Mapping Technique for JVM-based Actor Frameworks", the 4th International Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE'14) [slides].

External Serivces

  • Registration Co-chair, The Midwest Big Data Summer School 2016.
  • ​Program Committee member, SPLASH OOPSLA Artifacts 2016.
  • External reviewer, 38th International Conference on Software Engineering (ICSE), 2016.
  • External reviewer, 15th International Conference on Modularity, 2016.
  • External reviewer, 14th International Conference on Generative Programming: Concepts & Experience (GPCE), 2015.
  • External reviewer, ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2013.

Relevant Coursework

  • Design and Analysis of Algorithms
  • Introduction to Parallel Algorithms
  • Programming Languages
  • Advanced Topics in Language Semantics
  • Principles of Artificial Intelligence
  • Machine Learning
  • Advanced Topics in Databases
  • Computer Architecture