Software Analytics: Principles and Practice
NII Shonan Meeting:
@ Shonan Village Center, October 21-25, 2013
NII Shonan Meeting Report (ISSN 2186-7437):No.2013-12
- Ahmed E. Hassan, Queen’s University/ BlackBerry, Canada
- Katsuro Inoue, Osaka University, Japan
- Tao Xie, University of Illinois at Urbana-Champaign, USA
- Dongmei Zhang, Microsoft Research Asia, China
A wealth of various data (e.g., source change history, test cases, and bug reports) exists in the practice of software development. Further modern software and services in operation produce rich data (e.g., operation logs, field crashes, and support calls). Hidden in these unexplored data is rich and valuable information about the quality of software and services and the dynamics of software development. Companies (Microsoft, Google, Facebook, Cisco, Yahoo, IBM, RIM, etc.) are increasingly adding analytics as an important role in their organizations, leveraging the wealth of various data produced around their software or services.
Software analytics is concerned with the use of data-driven approaches to obtain insightful and actionable information for completing various tasks around software systems, software users, and software development process. Insightful information is information that conveys meaningful and useful understanding or knowledge. Actionable information is information upon which software practitioners can come up with concrete solutions (better than existing solutions if any) towards completing tasks. Typically such information cannot be easily obtained by direct investigation on the raw data without the aid of analytic technologies.
Especially recently the area of Big Data has emerged as a critical and strategic focus by the society. Big data is everywhere now but it is still under-utilized in the area of software engineering. However, leveraging big data is very relevant in software engineering as software and services get larger and more inter-connected, often being developed by a large number of engineers in distributed fashions and being used by a huge number of users around the world. Software analytics needs to be prepared for the upcoming decade’s exciting and yet challenging problem of leveraging big data for software engineering tasks.
The proposed seminar will foster collaboration between industry and academia, bringing academic researchers working on the principles and practice of software analytics together with researchers from industry. The aim is not only to act as a forum for the exchange of ideas, but as a vehicle to stimulate, deepen and widen partnership between academia and industry in software analytics internationally. In the age of Big Data, this seminar also serves as the first step to plan for the next decade of Big Data Analytics in Software Engineering, since it is impossible for individual groups or companies to tackle this challenging problem alone.
Software analytics is an ideal topic for this kind of interaction. It combines challenging research problems with real practical importance for the software industry, and the wider society that it serves. It presents an excellent and wide-ranging set of open research questions to academics concerning, amongst other things, analytic-algorithm design, data analysis, information visualization, scalable computing, software-artifact analysis and mining, social factors, empirical software engineering, measurement, process improvement, and technology transfer and adoption. Software analytics is also of critical practical significance to almost every organization involved in the production and use of software and services. Answers to the currently open research questions in software analytics can have a major impact upon industrial practice, with far-reaching implications for the development of the global economy. This combination of academic challenge and industrial relevance makes software analytics a natural topic for the proposed seminar.
In this seminar, we want to bring together software-analytics researchers in academia and industry. Our main focus is to exploit the synergy of these communities and to provide a platform to forge new collaborations. Participants are invited to present a few plenary talks and demos of new tools, beside which the seminar will provide ample opportunities for small working groups on themes suggested by the participants. We expect the seminar to result in ample cross-fertilization between the different research areas and to show up exciting directions for improving software-engineering practices via practical software analytics.