Auflistung nach Schlagwort "Continuous Integration"
1 - 8 von 8
Treffer pro Seite
Sortieroptionen
- TextdokumentAutomated Continuous Evaluation of AUTOSAR Software Architecture for Complex Powertrain Systems(INFORMATIK 2017, 2017) Venkitachalam, Hariharan; Powale, Kalkin Anand; Granrath, Christian; Richenhagen, JohannesConnectivity of the vehicle to heterogeneous information sources is one of the key factors which lead to complexity of automotive software architecture. The information content from external communication sources modifies the structure, content and the synchronization of control algorithms. In addition to this, time and cost constraints for software development are challenging. With increasing complexity and reduction of development time, ensuring software quality is one of the foremost priorities of vehicle manufacturers. Software architecture plays an important role in ensuring quality by implementing design principles which enhance non-functional quality attributes of the automotive software. The extent to which a software architecture definition fulfills the quality requirements is not verified at early stages of development. As a consequence, design problems are transferred to later stages of development thereby causing rework of software artifacts. The paper focuses on a tool-based evaluation of non-functional quality characteristics using the concept of Continuous Integration for AUTOSAR-based transmission control software. The suggested approach enables early and continuous evaluation of software architecture thereby improving software quality
- KonferenzbeitragAutomated Detection of Bugs in Error Handling for Teaching Secure C Programming(Proceedings of the Sixth Workshop "Automatische Bewertung von Programmieraufgaben" (ABP 2023), 2023) Schrötter, Max; Falk, Maximilian; Schnor, BettinaThe Low-Level programming language C is widely used for Operating Systems, Embedded Systems and other performance critical applications. Since these applications are often security critical, they require secure programming. The C language on the other hand allows novice programmers to write insecure code easily. This makes it especially important to teach secure programming and give students feedback on potential security issues. One critical bug that is often overlooked is the incorrect handling of errors. In this paper, we present an Error Handling Analyzer (EHA) for the CoFee framework. The EHA detects missing error handling and incorrect error handling using the Clang Static Analyzer. We evaluated EHA on 100 student submissions and found that error handling bugs are a common mistake and that EHA can detect more than 80 % of the error handling bugs in these submissions.
- KonferenzbeitragCatching Up with State of the Art Continuous Integration Pipelines in Palladio — An Experience Report(Softwaretechnik-Trends Band 40, Heft 3, 2020) Seifermann, Stephan; Krach, SebastianPalladio is a fairly large research project providing various software artifacts. The large amount of maintained projects makes Continuous Integration (CI) vital. However, CI is more useful if the source of a detected problem becomes clear. The earlier CI infrastructure did often not allow tracing back problems and even made adding new projects challenging. In 2018, we decided to completely rebuild the whole CI infrastructure and the organization of source code to catch up with the state of the art. Two years later, we can now report on our experience in migrating such large projects as well as on the benefits of spending the effort in this migration.
- KonferenzbeitragCommit-Based Continuous Integration of Performance Models(Softwaretechnik-Trends Band 43, Heft 2, 2023) Armbruster, MartinArchitecture-level performance models (aPM) such as the Palladio Component Model (PCM) can be used for, e.g., performance predictions to explore design alternatives and combines the aspects of architecture and performance models. An up-to-date architecture model can support the software maintenance by reducing the architectural degradation or guide the software evolution. At the same time, performance models allow the investigation of the software performance without the need to implement or change the system. However, keeping them up-to-date requires manual effort which hinders their adoption. Especially in the agile software development which is characterized by incremental and iterative development cycles, no or short design phases prevent manual modeling activities. This master thesis presents an approach building upon the previous work with these two main goals: (1) closing the gaps by completing the pipeline for the aPM extraction and instrumentation, and (2) evaluating the pipeline with a real Git history. As a result, in the approach, the Java source code in the state of a new commit is parsed into a code model. By a state-based comparison with the code model of the previous commit, a delta-based change sequence is obtained which describes how the code model of the previous commit can be transformed into a code model conforming to the state of the new commit. Afterwards, the changes are utilized to incrementally update the PCM, i.e., only the PCM elements affected by the source code changes are updated while the other PCM elements remain unchanged.
- KonferenzbeitragThe Eye of Continuous Software Engineering(Software Engineering and Software Management 2019, 2019) Johanssen, Jan Ole; Kleebaum, Anja; Paech, Barbara; Bruegge, BerndWe summarize the paper Practitioners’ Eye on Continuous Software Engineering: An Interview Study [Jo18], which was presented at the 2018 edition of the International Conference on Software and System Processes (ICSSP) in Gothenburg, Sweden.
- KonferenzbeitragReinforcement Learning for Automatic Test Case Prioritization and Selection in Continuous Integration(Software Engineering und Software Management 2018, 2018) Spieker, Helge; Gotlieb, Arnaud; Marijan, Dusica; Mossige, MortenThe paper appeared at the International Symposium on Software Testing and Analysis (ISSTA 2017). It is part of a project on test case prioritization, selection, and execution in Continuous Integration (CI). Selecting the most promising test cases to detect bugs is hard if there are uncertainties on the impact of committed code changes or if traceability links between code and tests are not available. This paper introduces Retecs, a new method for automatically learning test case selection and prioritization in CI with the goal to minimize the round-trip time between code commits and developer feedback on failed test cases. Retecs uses reinforcement learning to select and prioritize test cases according to their duration, previous last execution and failure history. In a constantly changing environment, where new test cases are created and obsolete test cases are deleted, the Retecs method learns to prioritize error-prone test cases higher under the guidance of a reward function and by observing previous CI cycles. By application on three industrial case studies, we show for the first time that reinforcement learning enables fruitful automatic adaptive test case selection and prioritization in CI and regression testing.
- KonferenzbeitragTime-aware Test Execution Scheduling for Cyber-Physical Systems(Software Engineering and Software Management 2019, 2019) Mossige, Morten; Gotlieb, Arnaud; Spieker, Helge; Meling, Hein; Carlsson, MatsThe paper "Time-aware Test Execution Scheduling for Cyber-Physical Systems"first appeared in the application track of the 23rd International Conference on Principles and Practice of Constraint Programming (CP 2017). Testing cyber-physical systems involves the execution of test cases on target-machines equipped with the latest release of a software control system. When testing industrial robots, it is common that the target machines need to share some common resources, e.g., costly hardware devices, and so there is a need to schedule test case execution on the target machines, accounting for these shared resources. With a large number of such tests executed on a regular basis, this scheduling becomes difficult to manage manually. In fact, with manual test execution planning and scheduling, some robots may remain unoccupied for long periods of time and some test cases may not be executed. We introduce TC-Sched, a time-aware method for automated test case execution scheduling. TC-Sched uses Constraint Programming to schedule tests to run on multiple machines constrained by the tests’ access to shared resources, such as measurement or networking devices. We will further discuss challenges and requirements encountered when automating testing for industrial robots.
- KonferenzbeitragTowards Continuous Integration of Performance Models for Lua-Based Sensor Applications(Softwaretechnik-Trends Band 43, Heft 4, 2023) Mazkatli, Manar; Armbruster, Martin; Koziolek, AnneArchitecture-level performance models (aPMs) provide valuable insights for design decisions with performance predictions. Due to source code changes and system adaptations, it remains challenging to keep aPMs up-to-date and ensure their consistency during agile software development. The Continuous Integration of Performance Models (CIPM) approach focuses on maintaining the consistency between aPMs and software artifacts. After each significant change during the software development and operation, CIPM automatically updates aPMs. However, the current implementation of CIPM is limited to Java- and microservice-based applications. In this paper, we evaluate whether conceptual changes are required if CIPM is applied to the Lua programming language and industrial sensor applications. Our evaluation is based on a real Lua-based sensor application from the SICK AppSpace ecosys tem and an artificial one. The findings demonstrate the feasibility of CIPM as no significant conceptual changes were required, but rather technical ones.