Research
Current Research2024 - Present C. V. Raman Global University
My research focuses on Software Requirements Engineering, Computational Linguistics, Natural Language Processing and Deep Learning. I use large language models and context-aware NLP to improve the quality of software requirements written in natural language, such as detecting conflicts between non-functional requirements and modeling how these requirements relate to each other.
Industrial Research: Programming Language Design2021 - 2024 Zoho Corporation
At Zoho, I worked with engineering teams on programming language design and implementation. My work covered construct-modification tags for code review and compiler optimization, compile-time and runtime management of link-type objects, and code auto-suggestion in the IDE. It resulted in four granted US patents and three published patent applications.
Post-doctoral Research: NLP for Requirements2018 - 2020 IISER Bhopal
Software requirements are usually written in common natural language. Some essential characteristics of requirements are completeness, consistency and unambiguity. Out of this, unambiguity is an important quality criterion. This simply means that all readers of the requirement must arrive at the same understanding of requirement. Due to differences in the domain expertise of requirements engineer and other stakeholders of the project, it is possible that the requirements contain several words that allow alternative interpretations. For enhancing confidence between the stakeholders, the following problems should be addressed during the early stages of software development.
- early identification of all ambiguous words.
- defining domain specific technical terms in a common glossary.
- the terms that are used in similar ways should always belongs to the same cluster.
All the above mentioned problems are very crucial throughout the software development lifecycle. To address the aforementioned issues, we are using a twofold technique based on natural language processing (NLP) and the state-of-the-art neural word embeddings.
Past Research
Cost Estimation and Testing of SOA Systems2013 - 2018 IIT (ISM) Dhanbad
My doctoral work developed two effort estimation approaches for service-oriented architecture (SOA) systems. The first uses new metrics with regression models, and the second uses machine learning with an adaptive filter. I also applied combinatorial group testing to find faulty business processes with fewer tests.
Dynamic Slicing of Concurrent Aspect-Oriented Programs2010 - 2012 KIIT, Bhubaneswar
My master’s work proposed the Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent concurrent aspect-oriented programs, and a dynamic slicing algorithm that computes slices at runtime by marking and unmarking executed nodes.