What is the impact of software engineering research on current practices in industry? In this paper, I report on my direct experience as a PhD post-doc working in software engineering research projects, and then spending the following five years as an engineer in two different companies (the first one being the same I worked in collaboration with during my post-doc). Given a background in software engineering research, what cutting-edge techniques and tools from academia did I use in my daily work when developing and testing the systems of these companies? Regarding validation and verification (my main area of research), the answer is rather short: as far as I can tell, only FindBugs. In this paper, I report on why this was the case, and discuss all the challenging, complex open problems we face in industry and which somehow are “neglected” in the academic circles. In particular, I will first discuss what actual tools I could use in my daily work, such as JaCoCo and Selenium. Then, I will discuss the main open problems I faced, particularly related to environment simulators, unit and web testing. After that, popular topics in academia are presented, such as UML, regression and mutation testing. Their lack of impact on the type of projects I worked on in industry is then discussed. Finally, from this industrial experience, I provide my opinions about how this situation can be improved, in particular related to how academics are evaluated, and advocate for a greater involvement into open-source projects.
As of time of writing, one of the most famous success stories is @cite_1 : a company making static dynamic analysis tools that was founded at Stanford University, and then sold for more than $300 millions. http: www.coverity.com press-releases synopsys-completes-coverity-acquisition
@cite_1
2008626182
How Coverity built a bug-finding tool, and a business, around the unlimited supply of bugs in software systems.