SER&IP '18- Proceedings of the 5th International Workshop on Software Engineering Research and Industrial Practice

Full Citation in the ACM Digital Library

Decoding technology transfer through experiences at microsoft

Technology transfer is an important form of collaboration between software engineering researchers and industrial practitioners. Despite benefits to both parties, it remains a huge challenge to carry out a technology transfer successfully. Based on the experiences at Microsoft, this talk discusses some key aspects in technology transfer, including technology readiness, partnership building, and one team as collaboration model.

Continuously evaluated research projects in collaborative decoupled environments

Often, research results from collaboration projects are not transferred into productive environments even though approaches are proven to work in demonstration prototypes. These demonstration prototypes are usually too fragile and error-prone to be transferred easily into productive environments. A lot of additional work is required.

Inspired by the idea of an incremental delivery process, we introduce an architecture pattern, which combines the approach of Metrics Driven Research Collaboration with microservices for the ease of integration. It enables keeping track of project goals over the course of the collaboration while every party may focus on their expert skills: researchers may focus on complex algorithms, practitioners may focus on their business goals.

Through the simplified integration (intermediate) research results can be introduced into a productive environment which enables getting an early user feedback and allows for the early evaluation of different approaches. The practitioners' business model benefits throughout the full project duration.

Towards improving industrial adoption: the choice of programming languages and development environments

While promising software engineering approaches are proposed every day, only few are adapted by professional developers. There are many potential reasons for this, such as, problems in identifying helpful approaches, missing tools, or lacking practical relevance. With our current research, we are concerned to improve the knowledge transfer from research to practice. In this paper, we discuss the impact of development environments and programming languages on knowledge transfer - considering that many scientific approaches and tools are interesting for professional developers, but rarely adopted by them. We base our discussion mainly on our personal experiences with industry-academia collaborations. To determine whether these experiences also apply to other developers, we additionally conducted a survey with 89 participants from academia and industry. The first results of our on-going work indicate a gap between the development environments and programming languages that are supported or used by researchers and those that are applied in industry. Based on our results, we describe initial discussions that can help to improve collaborations between industry and research.

Watching the detectives: an initial report on an industrial experiment to collaborate with the empirical software engineering research community

Context: Evidence-based practice within healthcare benefits from the Cochrane Collaboration providing trustworthy evidence that can be used to inform clinical decisions. Currently no equivalent resource exists for the practice of software engineering. With the ever increasing dependence of society upon software an analogue of the collaboration for the discipline of software engineering would appear to be of potentially significant societal benefit.

Objectives: This study investigated attitudes of the empirical software engineering community, as exemplified by attendees at an research focused conference, to the hypothesis that an analogue of the Cochrane Collaboration would be beneficial.

Method: An online survey was employed to capture opinions of participants in the EASE'16 conference on the hypothesis. During a presentation at the industrial track of the conference attendees (27) were invited to complete the survey. Subsequently all conference attendees (90) were provided with details of the survey, irrespective of whether they had attended the presentation or not. No closing date for the survey was specified.

Results: In total 9 conference attendees completed the survey: of whom 7 had attended the industrial track presentation. These figures approximate to a response rate of 26% for those attending the presentation and exactly 10% for conference participants overall. This response rate is insufficient to enable statistical analysis of the data obtained through the survey. Trends are, however, evident in the rankings of the responses provided. These trends are consistent with opinions and observations volunteered by a diverse range of individuals active in software engineering and allied fields dating from 2014 to the present.

Conclusions: At this time there is insufficient data to validate the hypothesis. Nevertheless experience, informal observation and opinion continues to accumulate to provide evidence in support of the validity of the hypothesis, albeit principally in anecdotal form.

From theory to practice: experiences of industry-academia collaboration from a practitioner

This is an experience report on industry-academia cooperation. It goes into challenges faced by industry to work with academia and to adopt academic research results. There are four types of challenges described:

• Relevance

• Practicality

• Agility

• Accessibility

Each challenge is described from the practitioner point of view. Academic research and research result format is compared to popular non-academic knowledge sources such as industry conferences and blogs. The strength and weaknesses of academic research compared to these alternatives is discussed. Finally, experiences from different solutions that have been tried to bridge this gap are described as well as possible future solutions.

A project on software defect prevention at commit-time: a success story of university-industry research collaboration

In this talk, we describe a research collaboration project between Concordia University and Ubisoft. The project consists of investigating techniques for defect prevention at commit-time for increased software quality. The outcome of this project is a tool called CLEVER (Combining Levels of Bug Prevention and Resolution techniques) that uses machine learning to automatically detect coding defects as programmers write code. The main novelty of CLEVER is that it relies on code matching techniques to detect coding mistakes based on a database of historical code defects found in multiple related projects. The tool also proposes fixes based on known patterns.