Publications

Bellwethers: A Baseline Method For Transfer Learning

In IEEE Transactions on Software Engineering (pending revision)

This paper demonstrates the existence of a bellwether effect in a number of software engineering domains such as: (1) defect prediction; (2) effort estimation; (3) code smell detection; and (4) issue lifetime estimation. This paper also shows that the bellwether effect can be leveraged to create a baseline transfer learner and that this baseline transfer learner can outperform several state of the art transfer learners.

Recommended citation: Krishna, R. & Menzies, T. "Bellwethers: A Baseline Method For Transfer Learning". In IEEE Transactions on Software Engineering (pending revision), 2017. https://arxiv.org/pdf/1703.06218.pdf


“Sampling” as a Baseline Optimizer for Search-based Software Engineering

IEEE Transactions on Software Engineering

In this paper, we propose an alternative approach to solving software engineering problems with multiple conflicting objectives. We start with a very large population and sample down to just the better solutions. We call this method “SWAY”, short for “the sampling way”. We find that this sampling approach is competitive with corresponding state-of-the-art evolutionary algorithms while also being significantly computationally inexpensive.

Recommended citation: Chen, J., Nair, V., Krishna, R., & Menzies, T. “Sampling as a Baseline Optimizer for Search-based Software Engineering”. In IEEE Transactions on Software Engineering (to appear), 2017. Preprint: arXiv:1608.07617; https://arxiv.org/abs/1608.07617


Less is More: Minimizing Code Reorganization using XTREE

Information and Software Technology

Most software analytics use prediction algorithms. For example, these prediction algorithms report what combinations of software project features predict for the existence of anti-patterns. But this is different task to planning, which answers a more pressing question: what to change in order to reduce these anti-patterns. Accordingly, in this research, we seek tools that offer clear guidance on what to do in a specific project. For this purpose, this paper introduces XTREE, a tool that analyzes a historical log of defects seen previously in the code and recommends a set of useful code changes.

Recommended citation: Krishna, R., Menzies, T., & Layman, L. "Less is more: Minimizing code reorganization using XTREE". Information and Software Technology, 2017. Vol. 88, pp. 53-66. https://arxiv.org/abs/1609.03614


Too much automation? The bellwether effect and its implications for transfer learning

31st International Conference on Automated Software Engineering

In this paper we introduced the “Bellwether Effect” where given a comminuty of N projects, we show that there is one project called the bellwether that produces the best predictions for all the other projects in that community. We showed that bellwethers regularly outperform other state-of-the-art transfer learners in defect prediction. Therefore, we recommend them as a baseline method against which future transfer learners can be compared;

Recommended citation: Krishna, R., Menzies, T., & Fu, W. "Too much automation? The Bellwether Effect and its Implications for Transfer Learning." In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016). ACM, New York, NY, USA, 122-131. DOI: https://doi.org/10.1145/2970276.2970339 https://dl.acm.org/ft_gateway.cfm?id=2970339&ftid=1783759&dwn=1&CFID=1017669999&CFTOKEN=95649347


Learning Effective Changes for Software Projects

32nd Intl. Conference on Automated Software Engineering Doctoral Symposium

This is a short paper presented at ASE 2017 briefly highlighting my research. This paper explores planning by seeking methods that support actionable analytics that offer clear guidance on what to do. Specifically, this paper extends the XTREE algorithm (into BELLTREE) for generating a set of actionable plans within and across projects.

Recommended citation: Krishna, R. “Learning effective changes for software projects”. 32nd Intl. Conference on Automated Software Engineering Doctoral Symposium, October 2017. Available: http://dl.acm.org/citation.cfm?id=3155562.3155695; https://arxiv.org/abs/1708.04589


What is the Connection Between Issues, Bugs, and Enhancements? (Lessons Learned from 800+ Software Projects)

(Under Review) ICSE Software Engineering in Practice 2018

This paper has been sumbitted to ICSE 2018 Software Engineering in Practice (SEIP) track. This work introduces the use of time series modeling with ARIMA models to forecast issues, bugs, and enhancements. What is more interesting is that we show that these models are transferable, i.e., ARIMA models built on issues can be used to forecast for bugs and enhancements. This was true in over 800 different proprietary and open-source projects.

Recommended citation: Krishna, R., Agrawal, A., Rahman, A., Sobran, A., & Menzies, T. “What is the Connection Between Issues, Bugs, and Enhancements? (Lessons Learned from 800+ Software Projects)”. (Under review) ICSE 2018 SEIP. Preprint: https://arxiv.org/abs/1710.08736; https://arxiv.org/abs/1710.08736


Continuous Integration: The Silver Bullet?

(Under Review) ICSE Software Engineering in Practice 2018

This paper has been sumbitted to ICSE 2018 Software Engineering in Practice (SEIP) track. This work compares the impact of CI in opensource and inhouse projects. For OSS projects, we observe the expected benefits after CI adoption, i.e. more bugs are resolved, and more issues are resolved. However, for the proprietary projects, we cannot make similar observations. Therefore, we cannot claim that CI is the “silver bullet” for software development.

Recommended citation: Rahman, A., Agrawal, A., Krishna, R., Sobran, A., & Menzies, T. (2017). "Continuous Integration: The Silver Bullet?". (Under review) ICSE 2018 SEIP. Preprint: https://arxiv.org/abs/1711.03933; https://arxiv.org/abs/1711.03933


We do not Need Another Hero? The Impact of Heroes on Software Development

(Under Review) ICSE Software Engineering in Practice 2018

This paper has been sumbitted to ICSE 2018 Software Engineering in Practice (SEIP) track. This work study the impact of “Hero” developers, where 80% of contributions are delivered by 20% of the developers. We studied 661 open source projects from Public open source software (OSS) Github and 171 projects from an Enterprise Github. We find that hero projects are very common. In fact, as projects grow in size, nearly all project become hero projects. We noted that the frequency to close issues and bugs are not significantly affected by the presence of project type (Public or Enterprise). Similarly, the time needed to resolve an issue/bug/enhancement is not affected by heroes or project type. Our empirical results call for a revision of a long-held truism in software engineering. Software heroes are far more common and valuable than suggested by the literature, particularly for medium to large Enterprise developments. Organizations should reflect on better ways to find and retain more of these heroes

Recommended citation: Agrawal, A., Rahman, A., Krishna, R., Sobran, A., & Menzies, T., "We do not Need Another Hero? The Impact of Heroes on Software Development." (Under review) ICSE 2018 SEIP. Preprint: https://arxiv.org/abs/1710.09055; https://arxiv.org/abs/1710.09055