View: session overviewtalk overview
| 09:00 | Welcome SPEAKER: Chairs |
| 09:10 | Keynote 1: Experiences in Scaling Field Studies of Software Developer Behavior SPEAKER: Lori Pollock ABSTRACT. Most of our current understanding of how programmers perform various software maintenace and evolution tasks is based on controlled studies or interviews, which are inherently limited in size, scope, and realism. Replicating controlled studies in the field can both explore the findings of these studies in wider contexts and study new factors that have not been previously encountered in the laboratory setting. In the field, developers commonly examine code at their own pace and possess some knowledge of the code base, albeit incomplete when the scale of the project is large enough. Conducting field studies where software developers are monitored during their daily tasks can validate laboratory studies at scale, under realistic conditions, and without observational bias. This talk reports on experiences of academic and industry researchers collaborating to design and implement such field studies of software developer activities during their daily work, with minimal to no interference to the developers’ usual activity. Challenges, approaches, and case studies demonstrating the kinds of information that can be gained will be described. |
| 10:00 | Software Engineering Research Lab to Airplanes, Orion and Beyond SPEAKER: Suraj Kothari ABSTRACT. This paper is a short story of my adventures of the past 20 years trying to integrate academic research with software engineering problems in industry. I share the challenges I encountered on the way, my failures and successes, evolution of my research, and its adoption in industry. Though I faced many hardships. I feel great satisfaction in knowing that my research is applied today in the design of avionics systems, auto-mobiles, and even in NASA's Orion program. My latest adventure and honor is an opportunity to participate in two Defense Advanced Research Project Agency (DARPA) visionary programs to develop an innovative technology to fight the war against sophisticated malware that poses serious security threats to individuals and nations. Without working with industry, it would not have been possible for me to formulate rigorous but practical research problems. Focusing on those problems have led to my success in research and teaching. I narrate my story to provide insights into bridging the gap between academic research and problems industry practitioners face. My hope is the reader can benefit from the story and be able to achieve in 10 years what took me 20 years. |
| 11:00 | Strategies for Building Successful Company-University Research Collaborations SPEAKER: unknown ABSTRACT. Company strategies for building and leveraging industry-university research collaborations are many and varied. This paper reports on strategies observed at North American technology companies including BNR, Northern Telecom, Qualcomm, Cisco, Bell Labs, Lucent, and Alcatel-Lucent. Strategies included a range of tactics focused on leveraging intellectual property portfolios; benchmarking processes and products; recruiting experienced technical talent; cost avoidance and reduction; and philanthropy. The strategies reported here build on the tactics reported in a paper presented by the first author at the second IEEE ICSE workshop on Industry-University Research Collaborations held in Florence, 2015. |
| 11:20 | Toward Effective Management of Large-Scale Software SPEAKER: unknown ABSTRACT. This paper outlines challenges the authors have faced over decades of industrial experience with large-scale software analysis and maintenance projects (especially legacy modernization) for multiple organizations where millions of lines of source code are involved. Such projects require large teams cooperating on parsing, analyzing, and manipulating source code. In this context the use of traditional parsing techniques based on context-free grammars has proven problematic. We present the Programmar API, a recently developed parsing approach designed to overcome these problems. This paper describes the industrial experiences that led to our R&D activities. The Programmar approach is designed to enable large teams to effectively extract complete, accurate, up-to-date information from application source code, and to provide this information as the basis for a wide variety of software management tools and activities. We present a framework that relates various types of such activities, and describe a vision for how the Programmar approach can provide significant benefits for the software industry in the future via an open-source distribution approach. This paper is intended to serve as an example of how challenges faced by industry can stimulate research, and as a catalyst for discussion of industry needs and potential future research directions. |
| 11:40 | Security Engineering Risk Analysis (SERA) SPEAKER: Carol Woody ABSTRACT. Researchers from Software Engineering Institute (SEI) developed the Security Engineering Risk Analysis (SERA) Method and successfully used SERA for analysis of operational security risks early in the life cycle to identify design weaknesses and establish confidence for system and software assurance. The SERA Method is a model-based approach for analyzing complex security risks in software-reliant systems and systems of systems across the lifecycle and supply chain. |
| 12:00 | Understanding the Impact of Technical Debt in Coding and Testing: An Exploratory Case Study SPEAKER: unknown ABSTRACT. Technical Debt (TD) concept refers to the long-term consequences of shortcuts taken during implementation and testing in software development projects. Lack of attention to monitoring and managing testing and development debt can contribute to unexpectedly large cost overruns and severe quality issues in software development projects. This paper describes a case study conducted with an industrial partner to explore the impact of TD in coding and testing. From conducting (i) a semi-structured interview, and (ii) a quantitative survey, we found that (1) the status of TD is largely project-independent, (2) there is no significant difference between the percentage of existing TD and the required time for reducing this TD in testing and development teams, (3) there is a significant difference between the perceived influence of reducing TD on productivity increase in testing and development teams, (4) team member's experience has impact on the existing percentage of TD and influences productivity increase that is caused by reducing TD, (5) allocating more resources such as time, budget, and infrastructure, is considered a potential solution for reducing TD. |
| 12:20 | Discussion SPEAKER: Everyone |
| 14:00 | Keynote 2: Socio-Technical Coordination: How Millions of People use Transparency to Collaborate on Millions of Interdependent Projects on GitHub SPEAKER: Jim Herbsleb ABSTRACT. Open source has evolved dramatically beyond its origins, where volunteers collaborated on individual projects. More typical these days are volunteer and professional developers, in numbers ranging from a handful to millions, collaborating in open, transparent environments, loosely organized in ecosystems of interdependent projects. The explosive popularity of social coding sites such as GitHub strongly hints at the importance of social information and implicit coordination for operating at these scales. In this talk, I will develop a socio-technical theory of coordination, and show how colleagues and I empirically validated it in a geographically distributed software development organization. I will show how the theory can be adapted and enriched to help interpret the results our qualitative and quantitative studies of coordination practices in GitHub, an open, transparent work environment in which millions of people collaborate on millions of interdependent projects. . |
| 14:50 | Fostering Collaboration Through API Economy: The E015 Digital Ecosystem SPEAKER: unknown ABSTRACT. The API Economy trend is nowadays a concrete opportunity to go beyond the traditional development of vertical ICT solutions and to unlock additional business value by enabling innovative collaboration patterns between different players, e.g., companies, public authorities and researchers. Thus, an effective API Economy initiative has to be comprehensive, focusing not only on technical issues but also on other complementary dimensions. This paper illustrates a successful API Economy initiative, the E015 Digital Ecosystem developed for Expo Milano 2015, showing how a comprehensive approach to information systems interoperability and Service-Oriented Architectures can foster synergetic collaboration between industry and academia in particular, hence enabling the development of value-added solutions for the end-users. |
| 15:10 | Open Source Discussion SPEAKER: Everyone |
| 16:00 | TestMEReq: Generating Abstract Tests for Requirements Validation SPEAKER: unknown ABSTRACT. This paper introduces TestMEReq, an automated tool for early requirements validation. Focusing on the correctness, completeness and consistency of elicited requirements, this tool facilitates the conduct of requirements validation with minimum effort and time through generated abstract tests components: test requirements and test cases, and a mock-up prototype of the user interface (UI). Abstract tests are derived from abstract models called the Essential Use Cases (EUCs) and the Essential User Interface (EUI). Our evaluation results show that TestMEReq is useful in the requirements validation process since it reduces the effort and time spent to ensure good quality requirements. |
| 16:20 | Cost-efficient Quality Assurance of Natural Language Processing Tools through Continuous Monitoring with Continuous Integration SPEAKER: unknown ABSTRACT. More and more modern applications make use of natural language data, e. g. Information Extraction (IE) or Question Answering (QA) systems. Those application require preprocessing through Natural Language Processing (NLP) pipelines, and the output quality of these applications depends on the output quality of NLP pipelines. If NLP pipelines are applied in different domains, the output quality decreases and the application requires domain specific NLP training to improve the output quality. Adapting NLP tools to specific domains is a time-consuming and expensive task, inducing two key questions: a) how many documents need to be annotated to reach good output quality and b) what NLP tools build the best performing NLP pipeline? In this paper we demonstrate a monitoring system based on principles of Continuous Integration which addresses those questions and guides IE or QA application developers to build high quality NLP pipelines in a cost-efficient way. This monitoring system is based on many common tools, used in many software engineering projects. |
| 16:40 | Group Activity SPEAKER: Linda Laird |
| 16:55 | How to Catch ’Em All: WatchDog, a Family of IDE Plug-Ins to Assess Testing SPEAKER: unknown ABSTRACT. As software engineering researchers, we are also zealous tool smiths. Building a research prototype is often a daunting task, let alone building a industry-grade family of tools supporting multiple platforms to ensure the generalizability of our results. In this paper, we give advice to academic and industrial tool smiths on how to design and build an easy-to-maintain architecture capable of supporting multiple integrated development environments (IDEs). Our experiences stem from WatchDog, a multi-IDE infrastructure that assesses developer testing activities in vivo and that over 2,000 registered developers use. To these software engineering practitioners, WatchDog, provides real-time and aggregated feedback in the form of individual testing reports. Project Website: http://www.testroots.org Demonstration Video: http://www.testroots.org/demo |
| 17:05 | Closing remarks SPEAKER: Chairs |