Curriculum Vitae

Education

    • PhD in Computer Science, CICS, UMass Amherst,USA           Sept 2018 - Present
    • MS, Computer Science, CICS, UMass Amherst, USA              3.83/4                 May 2018      
    • B-Tech (hons.) in Computer Science and Engineering, IIIT Hyderabad, Hyderabad, India     8.95/10                May 2011
    • Class XII, CBSE, Sir Padampat Singhania Education Center, Kanpur, India              88%                     May 2006      
    • Class X, CBSE, Sir Padampat Singhania Education Center, Kanpur, India              92%                     May 2004      

    Publications

    • Manish Motwani, Sandhya Sankaranarayanan, René Just, and Yuriy Brun, Do Automated Program Repair Techniques Repair Hard and Important Bugs?, in Proceedings of the Journal First Track at the International Conference on Software Engineering (ICSE), 2018 [Paper][Slides]
    • Manish Motwani, Sandhya Sankaranarayanan, René Just, and Yuriy Brun, Do Automated Program Repair Techniques Repair Hard and Important Bugs?, Empirical Software Engineering (EMSE), 2018 [Paper][Slides]
    • Smita Ghaisas, Manish Motwani, Balaji Balasubramaniam, Anjali Gajendragadkar, Rahul Kelkar, and Harrick Vin, Towards automating the security compliance value chain, in proceedings of the Industrial Track at the Joint Meeting on Foundations of Software Engineering (FSE), 2015 [Paper]
    • Smita Ghaisas, Manish Motwani, and Preethu Rose, Detecting System Use Cases and Validations from Documents, in proceedings of the New Ideas Track at the IEEE/ACM International Conference on Automated Software Engineering (ASE), 2013  [Paper]
    • Preethu Rose Anish, SK. Sharma, Manish Motwani, and Smita Ghaisas, Knowledge-assisted Product Requirements Configurator, in proceedings of the International workshop on Product Line Approaches in Software Engineering (PLEASE), 2013 [Paper]
     

    Patents

    • Systems and Methods for an Automated Interpretation of Legal Regulations, US Patent granted – US9972016B2, May 2018.
    • Automated Classification of Business Rules from Text, US Patent Filed – US13/778850, Feb 2013.

    Academic Achievements

    • Received B-Tech (Hons.) with academic distinction (2011)
    • Featured in the Dean’s List award for academic excellence (2010 and 2011)
    • Placed in top 2% out of 350,000 students in Indian Institutes of Technology Joint Entrance Examination (IIT-JEE) (2007)
    • Placed in top 0.2% out of 500,000 students in All India Engineering Entrance Examination (AIEEE) (2007)
    Work Experience
    • Teaching Assistant for the course "Theory and Practice of Software Engineering" at College of Information and Computer Sciences, UMass Amherst. Sept 2018 - Dec 2018
    • Research Assistant, College of Information and Computer Sciences, UMass Amherst. Sept 2015 - Aug 2018
    • Researcher at Tata Research Development and Design Centre (part of Tata Consultancy Services – Innovation Labs), Pune, India. Working in the area of Software Engineering with specialization in Requirements Engineering.                                                        July 2011 - July 2015
    • Internship at Cisco Systems India Pvt. Ltd., Bangalore, India. Worked on the serviceability and debug-ability of Cisco’s IOS-XR OS.                                                                                                                                                                    May 2010 – July 2010
    • Teaching Assistant for the course “Building Energy Simulation” at IIIT Hyderabad, India.                                Spring 2011
    • Teaching Assistant for the course “Compilers” at IIIT Hyderabad, India.                                                 Monsoon 2010
    • Teaching Assistant for the course “Discrete Mathematics” at IIIT Hyderabad, India.                Monsoon 2009

    Research Experience

    Currently ongoing research projects at CICS, UMass Amherst       Sept 2015 - Present

    • High-Quality Automatic Program Repair using Software Concerns (Guide:Prof. Yuriy Brun, Prof. James Allan, Prof. Brendan O’Connor, Jan’18 - till date) (Java, Python)
      Existing repair techniques are able to repair large number of defects however, most of the patches produced by these techniques are not acceptable to developers. One of the potential causes of this is that repair tech- niques use test cases as the proxy for software specification and ignore all other software artifacts (softwareconcerns) while generating a patch. This project aims to develop an automatic program repair technique that produces high-quality (acceptable by the developers) patches by considering additional information (other than tests cases) available for the software while repairing defects.
    • Evaluating the applicability of Automatic Program Repair techniques using large real-world defects (Guide: Prof. Yuriy Brun, Prof. René Just, Jan’16 - Dec’17) (Python, R)
      Existing evaluations of automated repair techniques have not focused on the applicability of repair tech- niques and the characteristics of the defects that these techniques can repair. This project aims to find answers for questions such as "can automated repair techniques repair bugs that are hard for humans to repair?" and "which techniques are more likely to repair a memory leak defect?".
    • Quality of Automated Program Repair on Real World Defects (Guide: Prof. Yuriy Brun, Prof. René Just, Prof. Claire Le Goues (CMU) Jan’16 - till date) (Java, R)
      This aim of this project is to address a deficit of earlier evaluations of automated repair techniques caused by repairing programs and evaluating generated patches’ correctness using the same set of tests. Since tests are an imperfect metric of program correctness, evaluations of this type do not discriminate between correct patches and patches that overfit the available tests and break untested but desired functionality. We attempt to evaluate well-studied repair tools, on a publicly available benchmark using independently constructed evaluation test suites.
    • Expressive Semantic Search for Real-World Program Repair (Guide: Prof. Yuriy Brun, Prof. Claire Le Goues (CMU), Prof. Kathryn T. Stolee (NCSU) Jan’17 - till date) (C)
      Develop a technique that fundamentally redesigns the use of semantic search for automated repair of real- world defects in real-world systems. The technique should handle large, real-world programs that employ realistic programming constructs and idioms (e.g., structs, console output, and library calls) as well as de- fects with no passing test cases executing the buggy region.

      Research projects pursued at TRDDC - TCS Innovation Labs July 2011 - July 2015

    • Towards automating the security compliance value chain (Guide: Dr. Smita Ghaisas, 2014 – 2015) (Ruby on Rails)
      Developed a generic approach towards automating different activities of the Security Compliance Value Chain (SCVC) in organizations. We discuss the approach in the context of the Payment Card Industry Data Security Standard (PCI-DSS) regulations. Specifically, we present automation of (1) interpretation of PCI-DSS regulations to infer system requirements, (2) traceability of the inferred system requirements to CIS security controls (3) implementation of appropriate security controls, and finally, (4) verification and reporting of compliance.
    • Automating the Interpretation of Regulations and Tracing of their Implications to Requirements (Guide: Dr. Smita Ghaisas, 2013 – 2014) (Python)
      Devised a Regulatory Rule Model (RRM) to represent regulations and demonstrate its use to automate the interpretation of regulations to ensure ease of compliance. NLP-based techniques were applied around RRM to detect intended constraints in regulatory statements and to interpret them in terms of the imple- mentation specifics they necessitated for software systems to be compliant. We demonstrated the use of RRM for tracing the implementation-specific implications of regulations to software requirements.
    • Detecting System Use Cases and Validations from Documents (Guide: Dr. Smita Ghaisas, 2012 – 2013) (Python)
      Developed an approach to automate the detection of system use cases and corresponding validations from documents. Devised a representation which captures the essence of rule statements as a composition of atomic ‘Rule intents’ and key phrases associated with the intents. Syntactic and semantic NL analyses are employed around the model to identify and classify rules and annotate them with ‘Rule acts’ (frequently co-occurring Rule intents clusters). Rule acts are mapped to business process steps and combinations are highlighted as potential system use cases and validations for supervision.
    • Knowledge assisted product requirements configuration (Guide: Dr. Smita Ghaisas, 2012 – 2013) (Ruby on Rails)
      Time to market is a key determinant for the success of any product-based business. This depends to a great extent on how efficiently the existing product knowledge is utilized for customization needs. The knowledge is often not represented in a form that allows an easy reuse. In this project, we developed an ontological representation of product primitives for a knowledge-assisted requirements configurator and deployed it in an organizational unit for a financial product suite.

    Undergraduate Projects    

        Major

    • RFID Deployment in IIIT                                                                                                                                     2010 (July) – 2011(April)
      • Developed RFID software application for Linux platform that is compatible with the proprietary RFID devices and deployed it at IIIT-H for integrating it with applications such as - Security, Mess Management and Attendance.
      • Integrated Mess Management software with RFID application.
      • Technologies: QT4, C++, MySql
    • Implementing Bloom Filters to trace back the path of the malicious packet from victim to its source                        2011 (Jan – April)
      • Implemented bloom filters in routers/switches to identify malicious data packets and implementing a trace back algorithm to find out the path of malicious packets from the victim to its source.
      • Technologies: C++, Wireshark
    • “Network Pooling” in Linux                                                                                                                                        2009 (May – Nov)
      • Developed open source software for Linux to facilitate automatic load balancing among multiple network connections that are active at any point of time on the system.
      • Conventional systems support single network connections. Here, user may combine multiple network connections in a given ratio. The software re-routes the network flow based on specified combination to effectively increase bandwidth.
      • Implemented by manipulating and constructing the routing tables in the back-end w.r.t. user specifications.
      • Technologies: QT4, C++, MySql
    • Compiler for Decaf Programming                                                                                                                               2009 (Jan – May)
      • Developed a compiler for DECAF programming language. The project involved implementation of all the phases - Lexical Analysis, Syntactic Analysis, Semantic Analysis, Code Generation & Register Allocation.
      • Technologies: Java, Eclipse
    • Page Rank Implementation using cloud                                                                                    2009 (Aug – Dec)
      • Implemented Google’s page-rank algorithm on distributed system using Hadoop platform and Map-Reduce framework and tested it for a subset of Wikipedia pages.
      • Technologies: Java, Map-Reduce, Eclipse, Hadoop, Amazon ec2 and Amazon S3 buckets.

        Minor

    • Implementing primary indexing on B+ Tree (Database Management Systems)
    • Implementing and comparing Classification Algorithms (ID3 and SLIQ) (Data Warehousing and Data Mining)
    • Simulation of Linux Shell using basic system calls (Operating Systems)
    • Transformed Based Learning for POS Tagging (Artificial Intelligence)
    • Designing of a 2D game “Asteroid Shooter” (Computer Graphics)
    • “Online leave application portal” for faculty of IIIT-H to automate existing manual process  (IT-Workshop)

    Skills / Expertise

    • Programming languages:            Java, C (working knowledge), C++(working knowledge), ocaml (basic), Plt-Scheme(basic)
    • Scripting languages:                  Python, Ruby on Rails, JavaScript, Shell
    • Operating systems:                   Linux (Red-Hat, Fedora), Windows
    • Web Applications:                     Html, CSS
    • API:                                         Eclipse, Net-Beans, QT-Creator
    • Databases:                               Oracle, MySQL
    • Programming Environments:       Vim, Visual C++, Visual Basic

    Areas of Interest

    I am interested in improving software engineers’ productivity by automating software engineering practices. My research involves analyzing large software repositories to learn interesting phenomena in software development and maintenance, and to use that knowledge to design novel automation techniques, such as testing and program repair.

    Relevant Coursework

    Computer Programming, Operating Systems, Data Structures, Computer Organization (Computer Architecture), Principles of Programming Languages, Computer Networks, Compilers, Cloud Computing, Concurrent Data Structures, Database, Management Systems, Computer Graphics, Algorithms, Artificial Intelligence, Systems & Network Security, Software Engineering, Data Warehousing and Data Mining, Advanced Computer Networks.

    Extracurricular Activities/Leadership Skills

    • Graduate student representative for PhD students at CICS, UMass Amherst
    • Member of Indian Students Association (ISA) committee at CICS, UMass Amherst
    • Member of recreational activities organization committee at TRDDC
    • Fire Evacuation Warden at TRDDC
    • Member of Association for Computing Machinery (ACM)
    • Member of organization committee of Felicity'10, annual cultural and technical fest of IIIT Hyderabad.
    • Member of website designing team for Felicity ’10.
    • Member of movie-appreciation club and the fine-arts club.