Context: Experiment replications play a central role in the scientific method. Although software engineering experimentation has matured a great deal, the number of experiment replications is still relatively small. Software engineering experiments are composed of complex concepts, procedures and artefacts. Laboratory packages are a means of transfer-ring knowledge among researchers to facilitate experiment replications. Objective: This paper investigates the experiment replication process to find out what information is needed to successfully replicate an experiment. Our objective is to propose the content and structure of laboratory packages for software engineering experiments. Method: We evaluated seven replications of three different families of experiments. Each replication had a different experimenter who was, at the time, unfamiliar with the experi-ment. During the first iterations of the study, we identified experimental incidents and then proposed a laboratory package structure that addressed these incidents, including docu-ment usability improvements. We used the later iterations to validate and generalize the laboratory package structure for use in all software engineering experiments. We aimed to solve a specific problem, while at the same time looking at how to contribute to the body of knowledge on laboratory packages. Results: We generated a laboratory package for three different experiments. These packages eased the replication of the respective experiments. The evaluation that we conducted shows that the laboratory package proposal is acceptable and reduces the effort currently required to replicate experiments in software engineering. Conclusion: We think that the content and structure that we propose for laboratory pack-ages can be useful for other software engineering experiments.
Advanced Techniques for Scientific Programming and Collaborative Development of Open Source Software Packages at the International Centre for Theoretical Physics (ICTP)
IoT Roadmap: Support for Internet of Things Software Systems Engineering
路线图是在博士学位的背景下进行的。在里约热内卢联邦大学系统工程和计算项目实验软件工程小组(COPPE/UFRJ)和法国高等理工大学工业和人类自动化控制、机械工程和计算机科学实验室(LAMIH UMR CNRS 8201)的合作下,该研究项目已于2011年12月12日在巴黎大学完成。路线图是对物联网应用特殊性的调查结果。它是从不同实验研究中收集的概念和证据的具体组织。它支持物联网软件系统的定义,并为项目团队提供特定项目来讨论和定义与指定、设计和实施物联网应用程序相关的基本方面。
On the Diversity of Software Package Popularity Metrics: An Empirical Study of npm
软件系统通常利用开源软件库来重用功能。这样的库可以通过软件包管理器(如JavaScript的npm)轻松获得。由于在这样的包分发中可用的包的巨大数量,开发者通常基于其流行度来决定依赖于或贡献于软件包。此外,研究人员通常依赖流行度指标进行数据采样并为他们的研究选择合适的候选人。然而,受欢迎程度的含义是相对的,可以以多种方式定义和测量,即使在考虑相同的研究时,也可能产生不同的结果。在本文中,我们展示了在软件工程研究中流行的意义是如何不同的证据。此外,我们实证分析了不同的软件流行性措施之间的关系。作为一个案例研究,对于175 k npm包的大型数据集,我们从三个开源跟踪系统(libraries.io,npmjs.com和GitHub)中计算并提取了9个不同的流行度指标。我们发现,实际上流行度可以用不同的无关指标来衡量,每个指标都可以在特定的上下文中定义。这表明需要一个通用的框架,将使用一个投资组合的流行度度量从不同的概念。
Industry Best Practices in Robotics Software Engineering
Jet Propulsion Laboratory, California Institute of Technology(喷气推进实验室,加州理工学院);Robert Bosch Corporate Research(罗伯特·博世企业研究院);Waymo;XITASO GmbH(XITASO有限公司);Mälardalen University(梅拉达伦大学);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);University of Stuttgart(斯图加特大学)