About Me



manas@cse.iitm.ac.in

// I have graduated in August 2019 and have joined IIT Mandi as an Assistant Professor; please find my new webpage here.

I am a PhD scholar, working under Dr. V Krishna Nandivada at PACE lab, Department of CSE, IIT Madras.
I obtained my bachelors (B.E.) in Computer Technology from Kavikulguru Institute of Technology and Science, affiliated to Nagpur University, in 2013.

My research interests are program analysis and compiler optimization techniques for single and multithreaded programs. Right now, I am working on improving the precision and efficiency of Just-in-time (JIT) compilers for Java.
In my spare time, I read books, write poems and articles; and if feeling geeky, I write Vim tips and plugins.

Research


My current research focus is in the following domains:

  • Scaling context-sensitive analyses using neater abstractions and efficient representation of contexts.

  • Improving the performance of just-in-time compilers using efficient data organization and reuse+refinement of statically computed information.

  • Enhancing code security using efficient type-checking and validation.

In recent times, I have been using the Soot optimization framework and the OpenJDK HotSpot JVM for my works.
I am also interested in optimizations concerning multithreaded programs, application of profile-guided heuristics in scaling compiler optimizations, etc.

Publications:


  • Manas Thakur and V Krishna Nandivada. Compare Less, Defer More: Scaling Value-Contexts Based Whole-Program Heap Analyses. 28th International Conference on Compiler Construction (CC 2019). (doi; preprint; slides)

  • Manas Thakur and V Krishna Nandivada. PYE: A Framework for Precise-Yet-Efficient Just-In-Time Analyses for Java Programs. ACM Transactions on Programming Languages and Systems (TOPLAS 2019). (doi; preprint)

Talks


  • Compare Less, Defer More: Scaling Value-Contexts Based Whole-Program Heap Analyses
    A talk about my CC'19 paper at Programming Research Laboratory, Northeastern University, Boston, USA. (abstract)

  • What does the JVM do with my code?
    A glimpse into the internals of the HotSpot JVM in the Program Analysis (CS6843) class on April 27th, 2018. (Slides: pdf)

  • What does the JVM do with my code?
    A two-part course on the internals of the HotSpot JVM at BuddiHealth, Chennai on September 22nd-23rd, 2017.

  • Cracking the GATEs of IITs/IISc (focus on Theory of Computation and Compilers)
    Invited talk at Sona College of Technology, Salem, TN on August 18th, 2017.

  • Problems, and How Computer Scientists Solve Them
    Invited talk at Sona College of Technology, Salem, TN on August 18th, 2017. (Slides: pdf)

  • Dimensions in Pointer Analysis
    Part of TA work in Modern Compilers - Theory and Practice (Jan-May '16). (Slides: pdf)

  • I am another You
    An interactive talk given at KITS, Ramtek (my alma mater) to B.E. Computer Technology 3rd and 4th year students on August 24th, 2015. (Slides: pdf)

  • Introduction to Binary Decision Diagrams (BDDs)
    A lab-talk in PACE lab on September 10th, 2014. (Slides: pdf)

  • Introduction to Apache ANT
    Part of TA work in Compiler Design (Jul-Nov '13). (Slides: pdf)

Courses



  • Foundations of Memory and Consistency Models
    Offered by: Prof. Suresh Jagannathan and Dr. V Krishna Nandivada (Dec 19th-23rd, '16)

  • Modern Compilers - Theory and Practice
    Offered by: Dr. V. Krishna Nandivada (Jan-May '15)
    Programming Assignments: IR Generation, Conditional Constant Propagation, Loop Transformations, Function Inlining, Alias Analysis.

  • Recent Topics in Compilers
    Offered by: Dr. V. Krishna Nandivada and Dr. Rupesh Nasre (Jan-May '15)
    Six paper presentations, four reviews, and one research proposal. Details available at the course webpage.

  • Special Topics in Computer Science and Engineering
    Course requirement for Masters (Jan-May '15)

  • Program Analysis
    Offered by: Dr. Rupesh Nasre (Jan-May '14)
    Course Project: Implementation of Wave Propagation and Deep Propagation for Inclusion-based Pointer Analysis (Based on the paper by Fernando Magno Pereira and Daniel Berlin in CGO 2009).

  • Principles of Programming Languages
    Offered by: Dr. V. Krishna Nandivada (Jan-May '14)

  • Parallel Computer Architecture
    Offered by: Prof. Madhu Mutyam (Jan-May '14)
    Course Project: FLAMeS: Fair Locality-Aware Memory Scheduling.

  • Concurrent Programming
    Offered by: Dr. Shankar Balachandran (Jan-May '14)
    Course Project: Wait-Free Parallel Disjoint-Set Data Structure for CPUs and GPUs.

  • Introduction to Research
    Compulsory course for all research scholars (Jan-May '14)

  • Computer Architecture
    Offered by: Prof. C. Chandra Sekhar (Jul-Nov '13)

  • Advanced Data Structures and Algorithms
    Offered by: Prof. C. Pandu Rangan and Dr. John Augustine (Jul-Nov '13)

  • Advanced Programming Laboratory
    Offered by: Prof. C. Pandu Rangan and Dr. John Augustine (Jul-Nov '13)

  • Mathematical Concepts in Computer Science
    Offered by: Dr. Jayalal Sarma and Dr. Raghavendra Rao B. V. (Jul-Nov '13)

Experience


Teaching Assistantship:


  • Computer Organization and Architecture
    TA under Prof. C Chandra Sekhar (Jan-May '18)

  • Compiler Design
    TA under Dr. V Krishna Nandivada (Jul-Nov '17, Jul-Nov '16, Jul-Nov '14, Jul-Nov '13)

  • Modern Compilers - Theory and Practice
    TA under Dr. V Krishna Nandivada (Jan-May '17)

  • Program Analysis
    TA under Dr. Rupesh Nasre (Jan-May '16)

  • Introduction to Programming
    Jul-Nov '15

  • Computational Engineering
    Jan-May '15, Jan-May '14

Responsibilities:


  • Member of PACE Lab web admin team (Jun 2014 - Jan 2018)

  • University Representative, KITS Ramtek (Aug 2012 - May 2013)

  • IBM-COE Student Ambassador, KITS Ramtek (Aug 2011 - May 2013)

  • School Captain, Kendriya Vidyalaya, Balaghat (Apr 2008 - Mar 2009)

Contact


manasthakur17@gmail.com
manas@cse.iitm.ac.in

BSB 331A, PACE Lab,
Department of Computer Science & Engg.,
IIT Madras, Chennai - 600036, India

9 am to 5 pm
Monday to Saturday