Context: Continuous integration (CI) is a software engineering technique that proclaims a set of frequent activities to assure the health of the software product. Researchers and practitioners mention several benefits related to CI. However, no systematic study surveys state of the art regarding such benefits or cons. Objective: This study aims to identify and interpret empirical evidence regarding how CI impacts software development. Method: Through a Systematic Literature Review, we search for studies in six digital libraries. Starting from 479 studies, we select 101 empirical studies that evaluate CI for any software development activity (e.g., testing). We thoroughly read and extract information regarding (i) CI environment, (ii) findings related to effects of CI, and (iii) the employed methodology. We apply a thematic synthesis to group and summarize the findings. Results: Existing research has explored the positive effects of CI, such as better cooperation, or negative effects, such as adding technical and process challenges. From our thematic synthesis, we identify six themes: development activities, software process, quality assurance, integration patterns, issues & defects, and build patterns. Conclusions: Empirical research in CI has been increasing over recent years. We found that much of the existing research reveals that CI brings positive effects to the software development phenomena. However, CI may also
Over the last years, software product line engineering has been applied and adopted by different companies. Existing software product line approaches promote the development of a centralized infrastructure of core assets that addresses the common features and provides variation points to the integration of the variable features of the SPL. In the context of distributed development of enterprise information systems, there are several scenarios where the adoption of these centralized approaches is not enough to accommodate the several requests for the integration of new features and maintenance of existing ones. In such scenarios, the SPL engineering team needs to fork the SPL core assets in order to address the customer needs and due to the marked pressure. In this paper, we propose a delta-oriented approach that promotes the reconciliation of software product lines that are independently evolved. Our approach allows: (i) the automated detection of feature conflicts of the SPLs independently evolved; and (ii) the resolution and merge of such feature conflicts.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.