Software products are constantly growing in terms of size, complexity, and application domains, among other things. It is not uncommon in large open source projects to receive several bug reports and new feature requests daily. These change requests need to be effectively triaged and resolved in an efficient and effective manner to sustain (or even retain) the viability of the product in the marketplace ? not a trivial task by any means. The development units, i.e., individuals and teams, need to perform several tasks such as validating the change requests, assigning them to the developers(s), implement the necessary changes to the source code, review the code changes, and then assembling them into a (new) release to the user base. Human reliance and dominance are ubiquitous in sustaining a high-quality large software system. Automatically assigning the right solution providers to the maintenance task at hand is arguably as important as providing the right tool support for it, especially in the far too commonly found state of inadequate or obsolete documentation of large-scale software systems.
In this talk, several maintenance tasks related to assignment and assistance to software developers and reviewers are addressed, and multiple solutions are proposed. The key insight behind these proposed solutions is the analysis and use of micro-levels of human to code and human to human interactions. The formulated methodology consists of the restrained use of machine learning techniques, lightweight source code analysis, and mathematical quantification of different markers of developer and reviewer expertise from these micro- interactions.
Biography: Motahareh (Sara) Bahrami received the BSc and MSc degrees from Iran in 2006 and 2010, respectively. She is currently working toward the Ph.D. degree and is a member of the Software Engineering Research Laboratory (SERL) in the Department of Electrical Engineering and Computer Science at Wichita State University under the supervision of Dr. Huzefa Kagdi. Her primary research work is in the area of software evolution/maintenance and empirical software engineering. The focus of her Ph.D. dissertation is on developing automated approaches that utilize information stored in software repositories to support the evolution of large-scale software systems. Mainly, she is using machine learning and data mining techniques, natural language processing, lightweight source code analysis, and mathematical quantification to conduct her research. The results of her research are published in the IEEE Transactions on Software Engineering (TSE) ? also presented at the IEEE/ACM International Conference on Software Engineering (ICSE 2016) and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016) ? and in the ACM/IEEE Working Conference on Mining Software Repositories (MSR 2014 and MSR 2015).
After completing her undergraduate degree in Computer Engineering, she worked in industry for two years, where she carried out various assignments, ranging from Software Engineer to Database Administrator. She also has three years of experience, teaching several undergraduate Computer Science courses in her home country Iran. Sara is a recipient of several awards at Wichita State University, including the Wallace Graduate Student Research Award from College of Engineering, Dora Wallace Outstanding Doctoral-Level Student Award, and Maha ?Maggie? Sawan Fellowship for Graduate Students.