Explore chapters and articles related to this topic
Variability in Library Evolution
Published in Ivan Mistrik, Matthias Galster, Bruce R. Maxim, Software Engineering for Variability Intensive Systems, 2019
Hussein Alrubaye, Mohamed Wiem Mkaouer, Anthony Peruma
Previous studies on library evolution (Teyton, Falleri et al. 2013) (Wu, et al. 2016) (De Roover, Lammel et al. 2013) have conducted their experiments on known datasets of Java and Android projects (Tempero, Anslow et al. 2010) (Allix, Bissyandé et al. 2016). They also analyzed a limited set of libraries within projects (Teyton, Falleri et al. 2014). We have decided to extend these studies, and we have decided to consider all third-party libraries that we encounter on the projects under study and to restrict our study to projects using Maven. Maven is the Apache foundation project management tool. We have chosen Maven projects because they encapsulate their dependencies to libraries on a specific file labeled Project Object Model (POM), which facilitates the identification of libraries used by any project. To collect the projects depending on Maven libraries, we used GHTorrent (Gousios and Spinellis 2012) to scan projects’ metadata initially. Since the preliminary results have shown a very high number of candidate projects, and since we want to make sure we include projects that had enough cycles to include library evolution, we have decided to only select well-engineered projects using criteria extracted from a study by (Munaiah, Kroh et al. 2017). Our inclusion criteria were mainly chosen to guarantee the feasibility of our study by reducing the search space among projects and by extracting more significant results by only considering well-maintained and engineered projects. This filtering process has been applied to approximately 312,137 Java projects (Allamanis and Sutton 2013), of which 53,703 projects were selected for the study. The following Figure 13.1 describes our data collection process.
DevOps adoption: Insights from a large European Telco
Published in Cogent Engineering, 2022
António Trigo, João Varajão, Leandro Sousa
Several processes (Q5) were required regarding documentation management, version control, pipelines orchestration, containerization, integrated testing, monitoring, release orchestration, and auditing. Examples of supporting tools are (Q6) Jira, Confluence, GitLab, Docker, Kubernetes, Junit, Selenium, JMeter, Kibana, Elasticsearch, Metricbeat, Logstash, Maven, Gradle, Codacy, Kiwuan, and SonarQube. Respondents emphasized the version control system implemented, with all respondents reporting that it facilitated the adoption of DevOps: Developer A stated that: “For any organization, a version control system is a crucial asset because it ensures that developers don’t run over each other and that the code is always centrally accessible to all. It also enables the practice of Continuous Integration” (A);The Scrum Master said that this process replaced the old tool and that: “It increased the collaborative work process” (F);The Product Owner goes even further, emphasizing that: “No version control system, no DevOps (everything should be ‘as a code’)” (K);One of the Configuration Management team members considers that: “It was the technology that opened the door most to a DevOps approach” (H).
Towards logistics 4.0: an edge-cloud software framework for big data analytics in logistics processes
Published in International Journal of Production Research, 2021
Moritz von Stietencron, Karl Hribernik, Katerina Lepenioti, Alexandros Bousdekis, Marco Lewandowski, Dimitris Apostolou, Gregoris Mentzas
The DECIDE component provides proactive recommendations about optimal actions and plans by receiving streams of predictions about future states, while it takes into account human feedback. It is capable of modelling the decision making process and handling multiple actions upon user configuration. Therefore, the required parameters are either derived from the data or they are configured by the user through the GUI. Such parameters include: list of actions, objectives to be optimised (e.g. costs of actions), etc. It is a Java-based web application that has been developed as a Maven project and uses the Spring Boot framework. The overall integration of Kafka with Spring is enabled by the Spring for Apache Kafka (spring-kafka) project.