The software engineering community aims to achieve and maintain high-efficient software engineering practical activities. One of the techniques used for this purpose is Test-Driven Development (TDD), which is a cyclic and test-centered development method positively related to maintainability, which may vary depending on the context and application. Previous research has indicated that TDD's benefits on maintainability may be due to the improved focus on coding and testing activities. However, limited research has investigated the role of engagement in software quality. Therefore, this study investigates the relationship between TDD methods, engagement level in development activities, and maintainability. The primary research questions addressed in this study are does following TDD methods improve the engagement level in development activities? And does a higher engagement level leads to better maintainability? The study employs a statistical analysis technique, regression analysis to explore the research questions. The results show that TDD behaviours improve the engagement level, and engaging in development activities has a significant positive impact on maintainability. Additionally, the study finds that the positive impact of focussing on testing, such as writing more test cases, is more pronounced compared to coding activities. Our study adds to current software engineering literature that not only personal expertise but the engagement level in the development process are associated with software quality and calls for the emphasis on developer's engagement.
By adopting agile and lean practices, DevOps aims to achieve rapid value delivery by speeding up development and deployment cycles, which however lead to more security concerns that cannot be fully addressed by an isolated security role only in the final stage of development. DevSecOps promotes security as a shared responsibility integrated into the DevOps process that seamlessly intertwines development, operations, and security from the start throughout to the end of cycles. While some companies have already begun to embrace this new strategy, both industry and academia are still seeking a common understanding of the DevSecOps movement. The goal of this study is to report the state-of-the-practice of DevSecOps, including the impact of DevOps on security, practitioners' understanding of DevSecOps, and the practices associated with DevSecOps as well as the challenges of implementing DevSecOps. The authors used a mixed-methods approach for this research. The authors carried out a grey literature review on DevSecOps, and surveyed the practitioners of DevSecOps in industry of China. The status quo of DevSecOps in industry is summarized. Three major software security risks are identified with DevOps, where the establishment of DevOps pipeline provides opportunities for security-related activities. The authors classify the interpretations of DevSecOps into three core aspects of DevSecOps capabilities, cultural enablers, and technological enablers. To materialise the interpretations into daily software production activities, the recommended DevSecOps practices from three perspectives—people, process, and technology. Although a preliminary consensus is that DevSecOps is regarded as an extension of DevOps, there is a debate on whether DevSecOps is a superfluous term. While DevSecOps is attracting an increasing attention by industry, it is still in its infancy and more effort needs to be invested to promote it in both research and industry communities.
Currently, software projects require a significant amount of time, effort and other resources to be invested in software testing to reduce the number of code defects. However, this process decreases the efficiency of software development and leads to a significant waste of workforce and resources. To address this challenge, researchers developed various solutions utilising deep neural networks. However, these solutions are frequently challenged by issues, such as a vast vocabulary, network training difficulties and elongated training processes resulting from the handling of redundant information. To overcome these limitations, the authors proposed a new neural network-based model named HopFix, designed to detect software defects that may be introduced during the coding process. HopFix consists of four parts: data preprocessing, encoder, decoder and code generation components, which were used for preprocessing data, extracting information about software defects, analysing defect information, generating software patches and controlling the generation process of software patches, respectively. Experimental studies on Bug-Fix Pairs (BFP) show that HopFix correctly fixed 47.2% (BFPsmall datasets) and 25.7% (BFPmedium datasets) of software defects.
Covering array generation (CAG) is the key research problem in combinatorial testing and is an NP-complete problem. With the increasing complexity of software under test and the need for higher interaction covering strength t, the techniques for constructing high-strength covering arrays are expected. This paper presents a hybrid heuristic memetic algorithm named QSSMA for high-strength CAG problem. The sub-optimal solution acceptance rate is introduced to generate multiple test cases after each iteration to improve the efficiency of constructing high-covering strength test suites. The QSSMA method could successfully build high-strength test suites for some instances where t up to 15 within one day cutoff time and report five new best test suite size records. Extensive experiments demonstrate that QSSMA is a competitive method compared to state-of-the-art methods.
Corona Virus disease 2019 (COVID-19) has shattered people's daily lives and is spreading rapidly across the globe. Existing non-pharmaceutical intervention solutions often require timely and precise selection of small areas of people for containment or even isolation. Although such containment has been successful in stopping or mitigating the spread of COVID-19 in some countries, it has been criticized as inefficient or ineffective, because of the time-delayed and sophisticated nature of the statistics on determining cases. To address these concerns, we propose a GSA-ELM model based on a gravitational search algorithm to forecast the global number of active cases of COVID-19. The model employs the gravitational search algorithm, which utilises the gravitational law between two particles to guide the motion of each particle to optimise the search for the global optimal solution, and utilises an extreme learning machine to address the effects of nonlinearity in the number of active cases. Extensive experiments are conducted on the statistical COVID-19 dataset from Johns Hopkins University, the MAPE of the authors’ model is 7.79%, which corroborates the superiority of the model to state-of-the-art methods.
Cyber Physical Systems (CPS) are becoming more ubiquitous, complex and powerful as well as more and more present in our daily life. The inherent benefit and comfort come with an environmental impact at every step of their life-cycle. This impact is significant and unfortunately often ignored today. As cyber-physical systems tend to be ‘invisible’, there is a need for awareness of the underlying infrastructure and required resources, early in the design phases. In this article, the environmental impact considerations in the early stages of the implementation and opportunities to improve design choices with a people-planet-system perspective are discussed. The authors discuss the aspects related to system configuration, data management and the overall goal and functionalities supported by the CPS. Through a specific smart home case, the potential of considering life-cycle assessment of both the devices and data management is illustrated. By explicitly considering different configurations, it will be possible to analyse the environmental impacts of the design decisions. Our research in progress targets a design approach to converge into an equilibrium between utility, performance, and minor environmental impact of smart systems.