- Software Maintenace and Evolution
- Reverse Engineering
- Empirical Software Engineering
- Program Comprehension
- Scientific Workflow Management System
- Software Architecture
- Software Analytics
- Big Data Analytics
Interactive Software Engineering Program Comprehension Software Analytics
I have been conducting research on human-centric software development and renovation, and software analytics towards building human-centric tools and techniques for reliable, scalable, sustainable, and cost-effective software development, maintenance and evolution. Software maintenance and renovation involves modification of the source code of a software system, which is important for software evolution, fixing bugs, adopting new technologies, migrating legacy software, reengineering the system and so on. While dealing with software maintenance and renovation, developers need to do several tasks, e.g., understanding the codebase, conducting architectural change analysis, adopting bug-free coding practices, browsing the Stack Overflow software development forum for possible programming solutions and so on. Although a plethora of tools and techniques are available for software maintenance and renovation, there is a marked lack of usable tools and techniques for practical adoption to guide and assist software maintenance and renovation. Consequently, people all over the world have been experiencing software anomalies causing problems in various dimensions of their daily lives, including deadly transportation crashes, private data leaks, disruptions of energy supplies, outages in social networking services, and so on. Software maintenance alone costs over 85% of total software development cost with just software anomalies consume 40% of the total budget in software development and cost the global economy billions of dollars every year. MY research aims offer usable solutions to software developers for supporting software maintenance and renovation. The tools and techniques are developed based on practitioners’ needs and feedback, therefore they are human-centric and capable of helping developers reconstruct quality software.
My research is multifaceted in the sense that a part of my research focuses on data analytics to better support multi-disciplinary scientists to handle complex workflows for data-intensive discovery. I aim to provide a user friendly, reliable, collaborative, and scalable computational environment to scientists for modeling, executing, tracking, debugging, and analyzing scientific experiments. This research is driven by my active involvement with two CFREFs projects (Food security and Water Security) over the last several years and my PhD research on collaborative software engineering.