Mei Nagappan's Research Page

A more detailed research statement can be found here.

He believes that as SE researchers we should look at deriving solutions that encompass the various stakeholders of software systems, and not only software developers. Hence, for the past 7 years he has been working on SE research that goes beyond just impacting S/W developers and testers. He has worked on using SE research to address the concerns of S/W operators, build engineers, and project managers, in addition to addressing the concerns of S/W developers, testers and SE researchers.

The core of his research is with respect to mining ultra large repository-of software repositories, and analyzing different combinations of repositories for different stakeholders as explained below.

  • Software Developers - We looked at the source code of hundreds of thousands of mobile apps in the Google Play Market to examine the kind to reuse present in the current mobile app development paradigm. We also looked into the user reviews of a mobile app in the iOS platform in order to categorize the issues that users complain about so that developers can better focus on issues that matter the most to users. Additionally we also looked into the logging statements in source code to identify the parts of the code which the developers considered risky in field operation.
  • Software Maintainers - We looked at the source code of hundreds of thousands of mobile apps in the Google Play Market to examine the maintenance effort involved in using the advertisement libraries for monetizing the mobile apps. We also looked into how other maintenance efforts for mobile apps can be prioritized.
  • Software Managers - We looked at improving the performance of the linear models built on SE data by using local models (build on a subset of the data) instead of global models (build on the whole dataset). Additionally by automatically analyzing hundreds of GigaBytes of log files we were able to produce operational profiles of large scale systems, which could be used by managers to prioritize features for the next release of the software.
  • Software Operators - We looked at how we can bridge the gap between software operators and software developers. We also looked at how we can help software operators identify a small subset of log lines from millions of log lines in a log file, that correspond to the issues currently at hand.
  • Software Build Engineers - We looked at build migrations that have happened in the past in order to identify the various steps involved in such a migration. This will help build engineers in future such migrations.
  • Software Engineering Researchers - We have looked at the generalizability issue present in SE research, and proposed a technique in order to identify and present the diversity of a particular SE research study.