To see the other types of publications on this topic, follow the link: Continous integration.

Dissertations / Theses on the topic 'Continous integration'

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Continous integration.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Inge, Arvid, and Leo Jordansson. "Plattform för kontinuerlig integrering : En applikation för bygg- och testprocesser." Thesis, Karlstads universitet, Institutionen för matematik och datavetenskap (from 2013), 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:kau:diva-78116.

Full text
Abstract:
För att möta kraven på ständiga förändringar har många företag börjat jobba enligt den iterativa, agila modellen Scrum. Denna modell innefattar bl.a. att praktisera kontinuerlig integrering (CI) där utvecklare regelbundet sammanfogar och testar kod. Målet med projektet är att förenkla denna process hos Epiroc i Örebro, så att berörda parter utnyttjar en gemensam CI-portal. Resultatet av projektet är en fungerande webbapplikation som ger Epirocs utvecklare möjlighet att praktisera CI genom att bygga och testa sin kod samt granska resultat från detta i ett modernt och användarvänligt gränssnitt. Vår uppfattning är att drifttsättningen av produkten kommer bidra till återkoppling från användare angående förbättringar. Övergången till kontinuerlig integrering som arbetsprocess hos Epiroc är inte fulländad, många aspekter av applikationens användningsområde är föränderliga. Stor vikt har därför lagts på applikationens modularitet under utvecklingsprocessen vilket ger utrymme för framtida utveckling av applikationen efter Epirocs behov. I dagsläget kan verktyget användas för att starta och övervaka bygg- och testjobb på en Jenkinsserver, men kan i framtiden få en större roll i Epirocs utvecklingskedja, exempelvis som databashanterare för testkodbasen.
Global technological advances are rapid, with this constant change, the demands on companies ability to adapt their digital products constantly increase when rapid changes are to be welcomed and the pace of production increases. To meet the requirements, many companies have started working according to the iterative, agile model Scrum. Part of this model includes practicing continuous integration (CI) where developers continuously merge and test code. The aim of the project is to simplify this process at Epiroc in Örebro, Sweden, so that interested parties are collaborating through a single CI portal. The end result of the project is a working web application that gives developers the opportunity to practice CI by building and testing their code, and review results from this in a modern and user-friendly interface. Commissioning of the application will contribute to input from the users on improvements. The application is modular, which leaves plenty of room for future development.
APA, Harvard, Vancouver, ISO, and other styles
2

Lundgren, Anna. "Pragmatisk mjukvarutestning : Hur kan agila metoder implementeras i ett pågående utvecklingsprojekt?" Thesis, Umeå universitet, Institutionen för informatik, 2011. http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-49978.

Full text
Abstract:
There are several ways of conducting software testing where some may include users and others may include personnel whose work task is to execute test on systems. Although most developers and project managers understand the point of testing the system, it is not always being done and the most common reason is that there is no time for it. However, this is a false assumption as it may instead cause some bugs in the system that would not have been there in the first place if tests had been there to prevent bugs in the code. My purpose for this thesis was to find suggestions for changes in the development process in an ongoing project used by Acino and Svenska Försäkringsfabriken in order to increase the quality of the system used. In this thesis, I have approached the purpose by pursuing a case study of the two companies through observation and interviews. By doing this I acquired the relevant information to make suggestions for change. In my case study, I have analysed the work process, which includes the types of testing and development conducted on the system. Through this I have found suggestions for changes that can generate better quality of both the system and work process. The changes that I've suggested are directed against both the code that the system consists of and the work processes used by the two companies. While the suggestions I have found is not entirely new for the companies it is something that’s not included in either the code or process, but my hope is that I have created an awareness which could ultimately generate a positive change.
APA, Harvard, Vancouver, ISO, and other styles
3

Lindqvist, Didrik. "DETECTION of INFRASTRUCTURE ANOMALIES in BUILD LOGS USING MACHINE LEARNINGText classification on Continous Integration log files." Thesis, Umeå universitet, Institutionen för datavetenskap, 2019. http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-164730.

Full text
Abstract:
Continuous integration is a practice where software developers integrate their code to a bigger codebase multiple times per day. Before the integration, the code is built and tested by e.g open source build tools such as Jenkins, and the information produced during this process is stored in a log file. Sometimes these builds fail, and the cause can be either user or infrastructure related. A user related error may be that the code cannot compile due to syntax error and an infrastructure error could be a DNS problem. This thesis evaluated how well machine learning can be used to label the cause on failed build logs as either user or infrastructure. This thesis compared the performance of three machine learning algorithms: support-vector machine, random forest, and gradient boosting classifier. Two different datasets are used in this study. A balanced dataset used for training and validation and another dataset used for testing. The preprocessing step, including feature selection, is done using term frequency-inverse document frequency, which converts the text from the build log to a machine learning friendly format. The study also evaluated three different sizes of n-grams for each algorithm and dataset. The performance for the three machine learning algorithms is evaluated by comparing the precision, recall, and F1-score for each model. The three machine learning algorithms and the methodology around preprocessing and evaluation are explained in this study. The results show that machine learning can be used as a tool to help the CI-owners, but may not be used to fully replace the classification done manually today. The machine learning algorithm that performed the best was gradient boosting classifier with an bag of 1 and 2-grams, with a precision, recall and F1-score of 0.87, 0.73 and 0.79.i
APA, Harvard, Vancouver, ISO, and other styles
4

Ondrušek, Libor. "Správa přepínání procesů v aplikaci Jenkins." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2012. http://www.nusl.cz/ntk/nusl-412866.

Full text
Abstract:
The project deals with design and solution of plug-in for a Jenkins server, which allows management of jobs running on the nodes in the cluster of continuous integration system servers. This plug-in should allow pause the long time job, done process with higher priority and restore original job in state where it was interrupted.
APA, Harvard, Vancouver, ISO, and other styles
5

García, Díaz Vicente. "MDCI: Model-Driven Continuous Integration." Doctoral thesis, Universidad de Oviedo, 2011. http://hdl.handle.net/10803/80298.

Full text
Abstract:
El propósito de esta Tesis es llevar a cabo un proceso en el que se aplique la práctica de la integración continua en un desarrollo de software dirigido por modelos de forma eficiente, mediante el cual los desarrollos de software puedan beneficiarse conjuntamente de las mejoras y ventajas que proporcionan la aproximación de desarrollo de la ingeniería dirigida por modelos y la práctica de la integración continua. La aproximación de la ingeniería dirigida por modelos es el último salto natural de la ingeniería del software en cuanto a la búsqueda de métodos de desarrollo que elevan el nivel de abstracción hasta el punto en el que los expertos de un dominio de conocimiento, ajenos al mundo informático, son capaces de guiar y cambiar la lógica de los sistemas informáticos. La práctica de la integración continua es una recomendación de las principales metodologías de desarrollo, que tiene como objetivo la realización de integraciones automáticas del software en etapas tempranas del desarrollo, ofreciendo ventajas como la reducción del riesgo intrínseco que, dado su carácter temporal y único, tienen todos los proyectos. Con la unión de la ingeniería dirigida por modelos y de la práctica de la integración continua se busca ofrecer, a los equipos de desarrollo que trabajan utilizando algún tipo de iniciativa de la ingeniería dirigida por modelos, la posibilidad de integrar de forma continua y distribuida sus desarrollos. Al mismo tiempo, los clientes, verdaderos expertos del dominio de conocimiento en su ámbito de negocio, se benefician del aumento del nivel de abstracción de las técnicas de desarrollo para que ellos mismos, y de forma transparente, sean capaces de modificar su propio sistema informático sin la ayuda de personal técnico ajeno a su negocio, ahorrando así tiempo y costes. Para cumplir con el objetivo de esta Tesis doctoral se construye un prototipo que salva los impedimentos actuales que no permiten la unión entre estos dos nuevos activos de la ingeniería del software. Los principales problemas encontrados están relacionados con la selección de una iniciativa de desarrollo apropiada, los sistemas de control de versiones especialmente adaptados para trabajar con modelos, la generación incremental de artefactos a partir de modelos y la adaptación a las herramientas actuales de integración continua de forma optimizada. La separación del trabajo realizado en diferentes bloques permite ofrecer soluciones de forma tanto aislada como en conjunto, dando lugar a un trabajo iterativo e incremental de comienzo a fin. Para analizar las ventajas que ofrece la propuesta de este trabajo frente a otras posibilidades de desarrollo, se realiza una evaluación mediante la creación de diferentes casos de prueba en los que la medición de diferentes parámetros ofrecen una estimación numérica de las ventajas reales obtenidas. El análisis descriptivo, el contraste de hipótesis y las técnicas de regresión permiten una mejor interpretación de los resultados. Finalmente, se define el proceso, objetivo último de este trabajo, mediante la respuesta a diferentes preguntas planteadas, que facilitan su comprensión y entendimiento.
The purpose of this Thesis is to create a process in which the continuous integration practice can be applied to a model-driven software development in an e ective way, through which software developments can bene t jointly and simultaneously from the improvements and advantages provided by the model-driven engineering development approach and the continuous integration practice. The model-driven engineering approach is the last natural step of software engineering in the search for development approaches that raise the level of abstraction to the point that experts in a domain of knowledge, outside the computer world, are able to guide and change the logic of computer systems. The continuous integration practice is a recommendation of the most widely accepted development methodologies that aims to carry out automatic software integrations in early stages of development, o ering bene ts such as reducing the inherent risk that, given its unique nature, every project has. By merging the model-driven engineering and the continuous integration practice, the aim is to provide to development teams that work using some kind of model-driven engineering initiative, the possibility to integrate their developments in a continuous and distributed way. At the same time, customers, the real experts in the domain of knowledge in their eld of business, can bene t from the increased level of abstraction in developing techniques. Thus, they, in a transparent manner, are able to modify their own computer system without the help of external technical sta , so saving time and costs. To meet the objective of this Thesis, a prototype which saves all the current constraints that do not allow the union between these two new tools of software engineering is build. The main problems found were related to the selection of an appropriate development initiative, the version control systems specially adapted to working with models, the incremental generation of artifacts from models, and the optimized adaptation to existing continuous integration tools. The separation of work in di erent blocks can provide solutions, both in isolation or in conjunction, resulting in an iterative and incremental work from beginning to end. To analyze the bene ts of the proposal in this work compared to other development possibilities, an evaluation is performed by creating di erent test cases in which the measurement of di erent parameters can give a numerical estimate of the real bene ts obtained. The descriptive analysis, the hypothesis testing, and regression techniques allow a better interpretation of results. Finally, the process, the main objective of this work, is de ned by answering various questions posed to facilitate its comprehension and understanding.
APA, Harvard, Vancouver, ISO, and other styles
6

Saari, M. (Marko). "Implementing new continuous integration tool." Master's thesis, University of Oulu, 2017. http://urn.fi/URN:NBN:fi:oulu-201706022481.

Full text
Abstract:
This thesis studied the implementation of new Continuous Integration tool by focusing on existing problems and possible arising problems when implementing the new Continuous Integration tool. The thesis supported a project run by one international software development company with the main goal of replacing the current Continuous Integration tool from CruiseControl.NET with some more suitable alternative tool. The purpose of this thesis was to research about the topic and the existing tool to support the project in the implementation of the new Continuous Integration tool. On the literature review, first the current state of Continuous Integration tool in the company was discussed. Then the literature review focused on the research about Continuous Integration, Continuous Delivery and Continuous Deployment. Alternative Continuous Integration tools were also studied as the company had two Continuous Integration tools to choose from: Bamboo and Jenkins. The problems of the current Continuous Integration tool in the company were studied by conducting a survey. This survey was based on existing studies on the problems of Continuous Integration tools. Pilot testing and reviews also had impact on the final survey. 37 people out of the target population (89) participated in the survey. Survey results showed that those 37 people had different background but most of them had a long history in the company. Some participants did not answer all of the questions. Two lists of issues were created by analyzing the survey results: Issues of current Continuous Integration tool and Issues when implementing new Continuous Integration tool. Two biggest issues from the list of issues of the current Continuous Integration tool were Lack of hardware and Build duration. Solution for these is that better hardware solves the Lack of hardware and improves the build duration with better hardware capacity and parallelization. Two biggest issues from the list of issues when implementing new Continuous Integration tool were Resistance to change and Lack of knowledge. The findings from past research suggest that implementing new Continuous Integration tool requires change of work of everyone to actually work. The solution for Lack of knowledge was that training is required for employees to actually know the way of using the new Continuous Integration tool. Suggested solutions were based on existing research and on the survey results. The study provided two lists of Continuous Integration tool problems and proposals for possible solutions for those. The results can be used for selecting Continuous Integration tool as the study compared the results between Bamboo and Jenkins. Comprehensive study on the problems of Continuous Integration tool and the comparison of Continuous Integration tools provided reasoned support for the project of the company.
APA, Harvard, Vancouver, ISO, and other styles
7

Kerkelä, J. (Joni). "Continuous Integration server performance monitoring." Master's thesis, University of Oulu, 2018. http://urn.fi/URN:NBN:fi:oulu-201805091678.

Full text
Abstract:
Continuous Integration (CI) is standard practice in Agile software development for source code management, including handling changes between development branches and master branch, and providing feedback for stakeholders. In the Continuous Integration the desirable practice is for development branches the be merged in to master branch daily. Before development branches is to be merged to master branch, the automated test tests builds are run on them and feedback of the tests is provided to developer and possible other stakeholders. If the tests are run without errors, the development branch is to be merged to master branch. The problems may arise, when the automated test build durations have variance. This leads developers to experience volatile service level causing irregularity to development process. The cause for the build duration variance can be the variance in the available system resources in the CI server. In some cases, the resource variation can cause false failures on the test build results as for example when there is defined maximum test build duration time limiter or when individual build step operation produces timeouts. To be able to resolve the resource starvation on the CI server, there needs to be means for identifying the resource starvation events in relation to test build statistics. By being able to identify relation between build statistics and resource starvation events, root cause, as starving resource, can be identified. By identifying the starving resource or resources, the system resources can be updated by adding more specific resource or handling the starvation through reserving the specific resource for key processes. The objective for this research is to implement monitoring tool for monitoring the Jenkins server’s builds and system resources during the builds. The thesis was conducted in the case company’s CI project including large-scale development project as customer project. The problem with case company was volatile test build durations and very insufficient data about system resources in the starvation events. The implemented monitoring tool achieved for providing extensive system resource data with combining it with the test build statistics to provide information about system resource availability in relation to test build statistics. The results indicate that the monitoring tool can be used for identifying resource starvation events and possible root causes for the events. The limitation of the implemented monitoring tool is the dependency for the database server as Elasticsearch. Elasticsearch was chosen to be used as database to establish adaptive monitoring data presenting functionality via Kibana server. This restricts portability of the monitoring tool to Jenkins instances as the monitoring tool needs mentioned instances for full functionality.
APA, Harvard, Vancouver, ISO, and other styles
8

Hämäläinen, Thomas, and Hillevi Strömberg. "Vägen till kontinuerliga leveranser : En fallstudie om continuous delivery och DevOps i en offentlig organisation." Thesis, Umeå universitet, Institutionen för informatik, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-120739.

Full text
Abstract:
Information system development projecs are often considered a costly and uncertain process were projects often exceed the scheduled time and budget. By continuously integrating source code and do regular builds problems can be discovered almost directly and thus minimizing the cost to fix them. In this qualitative study we have focused on which challenges a large public organization who cooperate with an external provider can face when adopting continuous integration and continuous delivery. We have interviewed six employees within the organisation and two employees from the external provider, who are all in some way connected to the software development process. The results showed that our interviewees are interested in agile software development and to be able to deliver high quality software continuously. We also found that the software development process is complex and has a lot of barriers and handovers that slows the process down. Our conclusion is that the organization needs to change their approach to software development. To achieve this the organisation needs to adopt Devops, which means erasing the barriers between development and operations.
APA, Harvard, Vancouver, ISO, and other styles
9

Zhao, Xuhui. "Automatic analysis for continuous integration test failures." Thesis, Högskolan i Gävle, Elektronik, 2019. http://urn.kb.se/resolve?urn=urn:nbn:se:hig:diva-30187.

Full text
Abstract:
CI (Continuous Integration) is a software development practice which became more and more popular in last decade. Ericsson followed the trends and used CI several years. Because of the complexity of RBS (Radio Base Station) software few levels of CI have been implemented there. In RCS (RBS Control System) module CI there are many automatic JCAT (Java Common Auto Tester) test loops running every day and some of them failed. This thesis tries to find a way to classify these test failures automatically, so efficiency and lead time can be improved. Two methods are presented and investigated in this report, rule matching and machine learning. After analysis and comparisons rule matching approach is selected because it does not require huge effort in the initial phase and rule matched data can be used as labeled data for machine learning. This approach requires manual work to add new rules continuously but with correctly defined rules the accuracy is 100%, if the rule is general it can classify one type of issue including the ones which never happen before. One analysis system is designed and implemented, and only small update is required to the result report block of the CI flow. One matching example is showed and according to estimation this method could save many man hours every year.
APA, Harvard, Vancouver, ISO, and other styles
10

Nyholm, Tobias. "Effektiv Mjukvaruutveckling Med Continuous Integration Och Automatisering." Thesis, KTH, Skolan för datavetenskap och kommunikation (CSC), 2013. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-142385.

Full text
Abstract:
Effektiv utveckling kan göra lika stor skillnad som en eller kanske två extra utvecklare till teamet. För att ligga i framkant i effektiv mjukvaruutveckling så måste man definiera hur man är effektiv och vad det innebär. Man kan med stor framgång se sig om kring hur andra företag och organisationer har uppnått högre effektivitet. I rapporten diskuteras best practice och hur R2Meton AB jobbade i början av 2013. Sedan presenteras en utvecklingsmodell som R2Meton AB har implementerat för att bli mer effektiva. Modellen innefattar bland annat automatiserat bygge, tester, analyser och distribution. En högre grad av automatisering och analyser innebär en större enhetlighet och kvalitet. Hjärtat i hela modellen är givetvis en continuous integration server som stegvis tar processen framåt. Det är även den som ger feedback till utvecklarna om något har gått fel eller om dem brutit mot de förutbestämda kvalitetskraven. Med hög kvalitet, enhetlighet och tydliga policys så blir koden lättare att underhålla och vidareutveckla samt mer pålitlig.
Effective software development may increase the productivity of the team as much as one or maybe two extra programmers. If you want to work efficiently you have to define what efficiency is and what it really means. You should study examples from other businesses and companies to see what they have done and try to understand why some of them succeeded and why some failed. The report will discuss best practices in software development and how R2Meton AB used to do their development. A model will be presented that R2Meton AB has implemented to improve their efficiency. The model describes how to automate builds, tests, analysis and deployment of the software to a testing environment. The increased automation and code analysis will provide more standardization and higher quality. Continuous integration is the heart of the model. The continuous integration server is the core that makes sure the process is moving forward. It does also give the developers feedback when the build breaks or when they fail to comply with the quality profile. With a high quality codebase, standards and clear policies you will get software that is easy to maintain, further develop and is more reliable.
APA, Harvard, Vancouver, ISO, and other styles
11

VANGALA, SHIVAKANTHREDDY. "Pattern Recognition applied to Continuous integration system." Thesis, Blekinge Tekniska Högskola, Institutionen för datalogi och datorsystemteknik, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-15936.

Full text
Abstract:
Context: Thisthesis focuses on regression testing in the continuous integration environment which is integration testing that ensures that changes made in the new development code to thesoftware product do not introduce new faults to the software product. Continuous integration is software development practice which integrates all development, testing, and deployment activities. In continuous integration,regression testing is done by manually selecting and prioritizingtestcases from a larger set of testcases. The main challenge faced using manual testcases selection and prioritization is insome caseswhereneeded testcases are ignored in subset of selected testcasesbecause testers didn’t includethem manually while designing hourly cycle regression test suite for particular feature development in product. So, Ericsson, the company in which environment this thesis is conducted,aims at improvingtheirtestcase selection and prioritization in regression testing using pattern recognition. Objectives:This thesis study suggests prediction models using pattern recognition algorithms for predicting future testcases failures using historical data. This helpsto improve the present quality of continuous integration environment by selecting appropriate subset of testcases from larger set of testcases for regression testing. There exist several candidate pattern recognition algorithms that are promising for predicting testcase failures. Based on the characteristics of the data collected at Ericsson, suitable pattern recognition algorithms are selected and predictive models are built. Finally, two predictive models are evaluated and the best performing model is integrated into the continuous integration system. Methods:Experiment research method is chosen for this research because discovery of cause and effect relationships between dependent and independent variables can be used for the evaluation of the predictive model.The experiment is conducted in RStudio, which facilitates to train the predictive models using continuous integration historical data. The predictive ability of the algorithms is evaluated using prediction accuracy evaluation metrics. Results: After implementing two predictive models (neural networks & k-nearest means) using continuous integration data, neural networks achieved aprediction accuracy of 75.3%, k-nearest neighbor gave result 67.75%. Conclusions: This research investigated the feasibility of an adaptive and self-learning test machinery by pattern recognition in continuous integration environment to improve testcase selection and prioritization in regression testing. Neural networks have proved effective capability of predicting failure testcase by 75.3% over the k-nearest neighbors.Predictive model can only make continuous integration efficient only if it has 100% prediction capability, the prediction capability of the 75.3% will not make continuous integration system more efficient than present static testcase selection and prioritization as it has deficiency of lacking prediction 25%. So, this research can only conclude that neural networks at present has 75.3% prediction capability but in future when data availability is more,this may reach to 100% predictive capability. The present Ericsson continuous integration system needs to improve its data storage for historical data at present it can only store 30 days of historical data. The predictive models require large data to give good prediction. To support continuous integration at present Ericsson is using jenkins automation server, there are other automation servers like Team city, Travis CI, Go CD, Circle CI which can store data more than 30 days using them will mitigate the problem of data storage.
APA, Harvard, Vancouver, ISO, and other styles
12

Johansson, Aina. "Obstacles to Continuous Integration for autonomous vehicles." Thesis, KTH, Maskinkonstruktion (Inst.), 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-187734.

Full text
Abstract:
Detta examensarbete studerar de hinder som uppstår vid implementation av Continuous Integration (CI), en agil utvecklingsmetod, på autonoma fordon. I och med att CI har blivit allt mer populärt, så är det aktuellt att utvärdera om det finns hinder för att använda sig av CI även för system som inte bara är rena mjukvarusystem.Studien har två frågeställningar:Vilka hinder existerar för att implementera Continuous Integration för fordon?Vilka hinder existerar för att implementera Continuous Integration för autonoma fordon?Studien visar på att det finns ett antal hinder, som kan sorteras in i nivåer, för att implementera CI: de man kan förvänta sig vid användning av CI, av CI för Cyber-Fysiska System, och CI för fordon. Det visade sig att dessa hinder ackumulerar vid helsystemstestning, och även om CI upplevs som fördelaktig av programmerare så blir det en tung belastning för helsystemstestare. Gällande CI för autonoma fordon, så är mycket okänt, men mycket tyder på att det som redan upplevs som svårt vid utveckling av fordon, såsom komplexitet, kommer förvärras.För att lösa dessa problem föreslår den här studien att man i framtiden fokuserar både på tekniska och organisationsrelaterade aspekter av utvecklingsprocesser, t.ex. genom att definiera övergripande planer för test och testanalys, samt vad som skall kommuniceras och på vilket sätt.
This master thesis studies the obstacles that arise when implementing Continuous Integration (CI), an agile development method, for autonomous vehicles. As CI has become increasingly popular it has become a point of interest to examine whether there are obstacles to Continuous Integration for systems, which are not pure software systems. The study aims to answer the two questions:What are the obstacles for Continuous Integration for vehicles? What are the obstacles for Continuous Integration for autonomous vehicles? This study shows that there are a number of obstacles, sortable into levels, for CI: Continuous Integration for SW, Continuous Integration for Cyber-Physical Systems and CI for vehicles. The study shows that the obstacles accumulate for full system testing, and that although CI is viewed as positive for the individual coder, it creates a heavy burden for the testers, especially the full system testers. Even if much is unknown with regard to autonomous vehicles, the study points to the fact that what is experienced as difficulties or obstacles today, such as system complexity, will likely be aggravated.In the future focus should lie on improving both technical and organizational aspects of development processes, e.g. by defining comprehensive test analysis and plans, and what should be communicated, to whom, and how.
APA, Harvard, Vancouver, ISO, and other styles
13

Persson, Staffan. "Introducing Continuous Integration in an Enterprise Scale Environment." Thesis, Uppsala University, Department of Information Technology, 2008. http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-88744.

Full text
Abstract:

This thesis investigates how continuous integration best should be incorporated into a current development environment in order to acquire a shorter time for the regression testing feedback loop. The product in target is a high availability enterprise scale software product within mobile telecom. It utilizes a large commercial relational database for customer associated data and employs approximately one hundred designers.

A continuous integration system needs automatic database integration, compilation, testing, inspection, deployment, and feedback. Measures that are valuable to the build process regardless of build time should be given the highest priorities of implementation. Feedback has been developed in the form of Continuous Integration Web. The first priority at this stage is to introduce unit testing of the database which also has to be automatically built whenever updated or changed.

The amount of time used to integrate should be as close to ten minutes as possible. This goal is reachable if the build process is split into at least two integrations by differentiating unit tests from component tests and, if the software’s functionally divided parts are built separately on local integration servers.

Starting integrations automatically could potentially allow broken source code to reside in the source code repository. This problem can however be mitigated with the aid of good routines and sufficient communication between developers and the continuous integration server. If the latter is possible it is recommended to make use of a continuous integration server. Otherwise it is recommended to perform integrations manually.

APA, Harvard, Vancouver, ISO, and other styles
14

Laurell, Thomas. "Microdialysis and continuous glucose monitoring towards wafer integration /." Lund : Lund Institute of Technology, Dept. of Electrical Measurements, 1995. http://catalog.hathitrust.org/api/volumes/oclc/37932770.html.

Full text
APA, Harvard, Vancouver, ISO, and other styles
15

Tummala, Akhil. "Self-learning algorithms applied in Continuous Integration system." Thesis, Blekinge Tekniska Högskola, Institutionen för datalogi och datorsystemteknik, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-16675.

Full text
Abstract:
Context: Continuous Integration (CI) is a software development practice where a developer integrates a code into the shared repository. And, then an automated system verifies the code and runs automated test cases to find integration error. For this research, Ericsson’s CI system is used. The tests that are performed in CI are regression tests. Based on the time scopes, the regression test suites are categorized into hourly and daily test suits. The hourly test is performed on all the commits made in a day, whereas the daily test is performed at night on the latest build that passed the hourly test. Here, the hourly and daily test suites are static, and the hourly test suite is a subset of the daily test suite. Since the daily test is performed at the end of the day, the results are obtained on the next day, which is delaying the feedback to the developers regarding the integration errors. To mitigate this problem, research is performed to find the possibility of creating a learning model and integrating into the CI system, which can then create a dynamic hourly test suite for faster feedback. Objectives: This research aims to find the suitable machine learning algorithm for CI system and investigate the feasibility of creating self-learning test machinery. This goal is achieved by examining the CI system and, finding out what type data is required for creating the learning model for prioritizing the test cases. Once the necessary data is obtained, then the selected algorithms are evaluated to find the suitable learning algorithm for creating self-learning test machinery. And then, the investigation is done whether the created learning model can be integrated into the CI workflow to create the self-learning test machinery. Methods: In this research, an experiment is conducted for evaluating the learning algorithms. For this experimentation, the data is provided by Ericsson AB, Gothenburg. The dataset consists of the daily test information and the test case results. The algorithms that are evaluated in this experiment are Naïve Bayes, Support vector machines, and Decision trees. This evaluation is done by performing leave-one-out cross-validation. And, the learning algorithm performance is calculated by using the prediction accuracy. After obtaining the accuracies, the algorithms are compared to find the suitable machine learning algorithm for CI system. Results: Based on the Experiment results it is found that support vector machines have outperformed Naïve Bayes and Decision tree algorithms in performance. But, due to the challenges present in the current CI system, the created learning model is not feasible to integrate into the CI. The primary challenge faced by the CI system is, mapping of test case failure to its respective commit is no possible (cannot find which commit made the test case to fail). This is because the daily test is performed on the latest build which is the combination of commits made in that day. Another challenge present is low data storage. Due to this low data storage, problems like the curse of dimensionality and class imbalance has occurred. Conclusions: By conducting this research, a suitable learning algorithm is identified for creating a self-learning machinery. And, also identified the challenges facing to integrate the model in CI. Based on the results obtained from the experiment, it is recognized that support vector machines have high prediction accuracy in test case result classification compared to Naïve Bayes and Decision trees.
APA, Harvard, Vancouver, ISO, and other styles
16

Mattasantharam, R. (Rubini). "3D web visualization of continuous integration big data." Master's thesis, University of Oulu, 2018. http://urn.fi/URN:NBN:fi:oulu-201812063239.

Full text
Abstract:
Continuous Integration (CI) is a practice that is used to automate the software build and its test for every code integration to a shared repository. CI runs thousands of test scripts every day in a software organization. Every test produces data which can be test results logs such as errors, warnings, performance measurements and build metrics. This data volume tends to grow at unprecedented rates for the builds that are produced in the Continuous Integration (CI) system. The amount of the integrated test results data in CI grows over time. Visualizing and manipulating the real time and dynamic data is a challenge for the organizations. The 2D visualization of big data has been actively in use in software industry. Though the 2D visualization has numerous advantages, this study is focused on the 3D representation of CI big data visualization and its advantage over 2D visualization. Interactivity with the data and system, and accessibility of the data anytime, anywhere are two important requirements for the system to be usable. Thus, the study focused in creating a 3D user interface to visualize CI system data in 3D web environment. The three-dimensional user interface has been studied by many researchers who have successfully identified various advantages of 3D visualization along with various interaction techniques. Researchers have also described how the system is useful in real world 3D applications. But the usability of 3D user interface in visualizations in not yet reached to a desirable level especially in software industry due its complex data. The purpose of this thesis is to explore the use of 3D data visualization that could help the CI system users of a beneficiary organization in interpreting and exploring CI system data. The study focuses on designing and creating a 3D user interface for providing a more effective and usable system for CI data exploration. Design science research framework is chosen as a suitable research method to conduct the study. This study identifies the advantages of applying 3D visualization to a software system data and then proceeds to explore how 3D visualization could help users in exploring the software data through visualization and its features. The results of the study reveal that the 3D visualization help the beneficiary organization to view and compare multiple datasets in a single screen space, and to see the holistic view of large datasets, as well as focused details of multiple datasets of various categories in a single screen space. Also, it can be said from the results that the 3D visualization help the beneficiary organization CI team to better represent big data in 3D than in 2D.
APA, Harvard, Vancouver, ISO, and other styles
17

Sandberg, Martin. "Continuous Integration - A comparison between theory and practice." Thesis, Linköpings universitet, Institutionen för datavetenskap, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-117033.

Full text
Abstract:
To develop software in a larger scale, some kind of software development method is needed to organize the development. Many different software development methods have emerged since the beginning of software development, and Continuous Integration (CI) is one of them. Many companies have applied, or tried to apply CI in their business. Some companies were successful, some were not. This thesis examines what CI is in the theory, and compare it to how it works in the practice in the department ”Product Development Traffic Control” (PD TC) which is a part of the ”Product Development Unit LTE Multistandard Radio” (PDU LMR) within Ericsson. The theory of CI is examined mostly through literature studies. CI in practice was examined through interviews with developers and employees working with the CI-machinery at PD TC. The comparison between the theory and the studied company revealed that it is difficult to adapt CI perfectly to a large organization. This does not imply that CI is implemented in the wrong way, but the benefits of implementing CI in large projects may not be as enormous in comparison with smaller projects.
APA, Harvard, Vancouver, ISO, and other styles
18

Amaradri, Anand Srivatsav, and Swetha Bindu Nutalapati. "Continuous Integration, Deployment and Testing in DevOps Environment." Thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-13334.

Full text
Abstract:
Context. Owing to a multitude of factors like rapid changes in technology, market needs, and business competitiveness, software companies these days are facing pressure to deliver software rapidly and on a frequent basis. For frequent and faster delivery, companies should be lean and agile in all phases of the software development life cycle. An approach called DevOps, which is based on agile principles has come into play. DevOps bridges the gap between development and operations teams and facilitates faster product delivery. The DevOps phenomenon has gained a wide popularity in the past few years, and several companies are adopting DevOps to leverage its perceived benefits. However, the organizations may face several challenges while adopting DevOps. There is a need to obtain a clear understanding of how DevOps functions in an organization. Objectives. The main aim of this study is to provide a clear understanding about how DevOps works in an organization to researchers and software practitioners. The objectives of the study are to identify the benefits of implementing DevOps in organizations where agile development is in practice, the challenges faced by organizations during DevOps adoption, to identify the solutions/ mitigation strategies, to overcome the challenges,the DevOps practices, and the problems faced by DevOps teams during continuous integration, deployment and testing. Methods. A mixed methods approach having both qualitative and quantitative research methods is used to accomplish the research objectives.A Systematic Literature Review is conducted to identify the benefits and challenges of DevOps adoption, and the DevOps practices. Interviews are conducted to further validate the SLR findings, and identify the solutions to overcome DevOps adoption challenges, and the DevOps practices. The SLR and interview results are mapped, and a survey questionnaire is designed.The survey is conducted to validate the qualitative data, and to identify the other benefits and challenges of DevOps adoption, solutions to overcome the challenges, DevOps practices, and the problems faced by DevOps teams during continuous integration, deployment and testing. Results. 31 primary studies relevant to the research are identified for conducting the SLR. After analysing the primary studies, an initial list of the benefits and challenges of DevOps adoption, and the DevOps practices is obtained. Based on the SLR findings, a semi-structured interview questionnaire is designed, and interviews are conducted. The interview data is thematically coded, and a list of the benefits, challenges of DevOps adoption and solutions to overcome them, DevOps practices, and problems faced by DevOps teams is obtained. The survey responses are statistically analysed, and a final list of the benefits of adopting DevOps, the adoption challenges and solutions to overcome them, DevOps practices and problems faced by DevOps teams is obtained. Conclusions. Using the mixed methods approach, a final list of the benefits of adopting DevOps, DevOps adoption challenges, solutions to overcome the challenges, practices of DevOps, and the problems faced by DevOps teams during continuous integration, deployment and testing is obtained. The list is clearly elucidated in the document. The final list can aid researchers and software practitioners in obtaining a better understanding regarding the functioning and adoption of DevOps. Also, it has been observed that there is a need for more empirical research in this domain.
APA, Harvard, Vancouver, ISO, and other styles
19

Heyd, Miriam. "Continuous production of rhamnolipids by means of process integration." [S.l. : s.n.], 2009. http://digbib.ubka.uni-karlsruhe.de/volltexte/1000010438.

Full text
APA, Harvard, Vancouver, ISO, and other styles
20

Heikkilä, V. (Ville). "Optimizing continuous integration testing using dynamic source code analysis." Master's thesis, University of Oulu, 2018. http://urn.fi/URN:NBN:fi:oulu-201802131229.

Full text
Abstract:
The amount of different tools and methods available to perform software testing is massive. Exhaustive testing of a project can easily take days, weeks or even months. Therefore, it is generally advisable to prioritize and optimize the performed tests. The optimization method chosen to be studied in this thesis was Dynamic Source Code Analysis (DSCA). In DSCA a piece of target software is monitored during testing to find out what parts of the target code get executed. By finding and storing this information, further code changes can be triggered to execute the stored test cases that caused execution in the modified parts of code. The test setup for this project consisted of three open-source software targets, three fuzz testing test suites, and the DSCA software. Test runs of different lengths were triggered by code changes of varying size. The durations of these test runs and the sizes of the code changes were stored for further analysis. The purpose of this thesis was to create a method for the fuzz testing suite to reliably communicate with the DSCA software. This was done to find out how much time can be saved if CI-testing is optimized by scanning every source code change to obtain a targeted test set as opposed to running a comprehensive set of tests after each change. The data analysis demonstrates with certainty that using DSCA reduces the average run-time of a test by up to 50%
Ohjelmistotestauksessa käytettävien työkalujen ja metodien määrä on massiivinen. Ohjelmistoprojektin läpikotainen testaus saattaa kestää päiviä, viikkoja tai jopa kuukausia. Tämän takia on yleisesti suositeltavaa priorisoida ja optimoida suoritetut testit. Tässä opinnäytetyössä tarkasteltavaksi optimointimetodiksi valittiin dynaaminen lähdekoodianalyysi (DSCA), jossa ohjelmistoa monitoroidaan ajonaikaisesti, jotta saadaan selville mitä osia lähdekoodista mikäkin testi suorittaa. Tämä projekti koostui kolmesta avoimen lähdekoodin ohjelmistoprojektista, kolmesta fuzz-testaustyökalusta sekä DSCA-ohjelmistosta. Erikokoisilla lähdekoodin muutoksilla saatiin aikaan erikokoisia testimääriä uudelleenajettaviksi. Näiden ajojen suuruudet ja kestot tallennetiin, ja niitä vertailtiin. Tämän opinnäytetyön tarkoituksena oli löytää keino saada fuzz-testaustyökalu keskustelemaan DSCA-ohjelmiston kanssa luotettavasti, sekä selvittää kuinka paljon aikaa pystytään säästämään optimoimalla CI-testausta skannaamalla jokainen lähdekoodimuutos kohdennettujen testien saamiseksi verrattuna siihen että jokainen lähdekoodimuutos aiheuttaisi kokonaisvaltaisen testiajon. DSCA-ohjelmistoja käyttämällä saatiin varmuus siitä, että CI-järjestelmien testiajojen pituutta pystytään pienentämään huomattavasti. Keskimääräisen testiajon pituus pystyttiin testeissä jopa puolittamaan
APA, Harvard, Vancouver, ISO, and other styles
21

Lindblom, William, and Jesper Johnsson. "The Effects of Parallelizing Builds in Continuous Integration Software." Thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-16438.

Full text
Abstract:
Quick feedback in regards to build times is important in Continuous Integration. If builds become too long, it can hurt the rate of software development. There are multiple methods to reduce build times. One commonly suggested method is to parallelize builds. This thesis aims to investigate the effects of parallelizing builds in Continuous Integration software and provide support for whether parallelizing is a good way of reducing build times or not. We conducted an experiment consisting of running tests on different Continuous Integration software with different configurations. These configurations changed how many tests were executed and how many parallel build agents were used. The aspects that were observed and analyzed was how build time, average CPU usage and CPU time were affected. What we found was that parallelizing a Continuous Integration build drastically improves build time, while RAM usage and CPU time remains similar. This entails that there are no major consequences to parallelizing other than utilizing more threads and therefore using more of the available CPU resources.
APA, Harvard, Vancouver, ISO, and other styles
22

Wilén, J. (Juhani). "Code change based selective testing in continuous integration environment." Master's thesis, University of Oulu, 2018. http://urn.fi/URN:NBN:fi:oulu-201806062460.

Full text
Abstract:
Continuous integration (CI) is a software engineering practice in which new code is integrated to existing codebase continuously. Integration testing ensures that the changes in code function as intended together with the other parts of the code. The number of tests tend to grow and at some point performing them all becomes infeasible due to limited time between consecutive test executions. Therefore, the traditional retest-all approach becomes inoperative and test optimization techniques are required. Test selection is one of those techniques and it encompasses selecting tests which are relevant to recent changes in the code. The purpose of this thesis is to analyze existing test selection methods, and to implement an initial continuous test selection method in CI environment that reduces duration of integration testing stage and provides faster feedback. The method is aimed to be safe that no additional faults are let through the testing. The test selection is based on changes submitted to version control system (VCS), which are compared with source code file coverages of different hardware variants reported by compilers. In addition, other possible dependencies between variants and code changes are investigated. Those are related to test codes and interfaces. Now the testing of change independent variants can be ignored, and only testing change dependent variants is conducted. At the beginning the implemented test selection method was used in a single software development branch for testing purposes. The results indicate that utilizing the method accomplished slight but statistically significant reduction of integration testing duration with significance level of 0.05. The mean of the testing duration was decreased by 15.2% and the median by 22.2%. However, the implementation still has some inaccuracies in dependency detection, and further improvements are needed to make the test selection method more efficient
Jatkuva integraatio on ohjelmistotuotannon käytäntö, jossa muutokset ohjelmakoodiin integroidaan osaksi jo olemassa olevaa ohjelmistoa jatkuvasti. Integraatiotestauksella varmistetaan, että muutokset koodiin toimivat sen muiden osien kanssa kuten on tarkoitettu. Suoritettavien testien määrä usein kasvaa ajan mittaan, ja jossakin vaiheessa niiden kaikkien suorittaminen ei ole enää järkevää, koska perättäisten testiajojen välinen aika on rajallinen. Siksi perinteinen kaikkien testien uudelleenajaminen tulee haastavaksi ja tarvitaan testien optimointitekniikoita. Testien valinta on yksi näistä tekniikoista. Se sisältää sellaisten testien valinnan, jotka ovat oleellisia testaamaan viimeaikaisia muutoksia koodiin. Tämän diplomityön tarkoituksena on analysoida olemassa olevia testien valintamenetelmiä ja luoda alustava toteutus jatkuvasta testien valintamenetelmästä jatkuvan integraation ympäristössä, millä vähennetään testien kestoaikaa integraatiotestausvaiheessa ja nopeutetaan palautteen saamista. Tavoitteena on, ettei testauksen läpäisseiden vikojen määrä kuitenkaan kasva. Testien valinta perustuu versionhallintajärjestelmään toimitettuihin muutoksiin, joita verrataan kääntäjien raportoimiin lähdekoodikattavuuksiin eri laiteversioille. Lisäksi laiteversioiden riippuvuus testikoodien ja rajapintojen muutoksiin tutkitaan. Ne laiteversiot, jotka eivät ole riippuvaisia mistään muutoksista, jätetään testaamatta, ja ainoastaan muutoksista riippuvaisten laiteversioiden ohjelmakoodit testataan. Testien valintaan toteutettu menetelmä otettiin käyttöön aluksi yhdessä ohjelmistokehityshaarassa sen toiminnan testaamiseksi. Saadut tulokset näyttävät, että menetelmän hyödyntämisellä saavutettiin vähäinen mutta tilastollisesti merkittävä integraatiotestauksen kestoajan lyheneminen merkitsevyystasolla 0,05. Testauksen keston keskiarvo laski 15,2 % ja mediaani 22,2 %. Toteutuksessa on vielä epätarkkuuksia riippuvuuksien havaitsemisessa, ja sitä pitää kehittää paremman tehokkuuden saavuttamiseksi
APA, Harvard, Vancouver, ISO, and other styles
23

Hramyka, Alena, and Martin Winqvist. "Traceability in continuous integration pipelines using the Eiffel protocol." Thesis, Malmö universitet, Fakulteten för teknik och samhälle (TS), 2019. http://urn.kb.se/resolve?urn=urn:nbn:se:mau:diva-20634.

Full text
Abstract:
The current migration of companies towards continuous integration and delivery as well all service-oriented business models brings great benefits but also challenges. One challenge that a company striving to establish continuous practices is the need for pipeline traceability, which can bring great enhancements to continuous integration and delivery pipelines as well as offer a competitive edge. This exploratory case study looks at the current and desired states at Axis Communications, a global leader in network video solutions based in Lund, Sweden. It further evaluates the practical and organizational aspects of the adoption of the Eiffel protocol in the company’s pipeline tools through developing a proof-of-concept Eiffel plugin for Artifactory. Based on the discovered technical and organizational needs and obstacles, it draws conclusions and makes recommendations on a possible strategy when introducing Eiffel in a company.
APA, Harvard, Vancouver, ISO, and other styles
24

Bhattacharya, Arka. "Impact of Continuous Integration on Software Quality and Productivity." The Ohio State University, 2014. http://rave.ohiolink.edu/etdc/view?acc_num=osu1410945557.

Full text
APA, Harvard, Vancouver, ISO, and other styles
25

Leitao, Joao. "Continuous states conditional random fields training using adaptive integration." Thesis, University of Exeter, 2010. http://hdl.handle.net/10036/3095.

Full text
Abstract:
The extension of Conditional Random Fields (CRF) from discrete states to continuous states will help remove the limitation of the number of states and allow new applications for CRF. In this work, our attempts to obtain a correct procedure to train continuous state conditional random fields through maximum likelihood are presented. By deducing the equations governing the extension of the CRF to continuous states it was possible to merge with the Particle Filter (PF) concept to obtain a formulation governing the training of continuous states CRFs by using particle filters. The results obtained indicated that this process is unsuitable because of the low convergence of the PF integration rate in the needed integrations replacing the summation in CRFs. So a change in concept to an adaptive integration scheme was made. Based on an extension of the Binary Space Partition (BSP) algorithm an adaptive integration process was devised with the aim of producing a more precise integration while retaining a less costly function evaluation than PF. This allowed us to train continuous states conditional random fields with some success. To verify the possibility of increasing the dimension of the states as a vector of continuous states a scalable version was also used to briefly assess its fitness in two-dimensions with quadtrees. This is an asymmetric two-dimensional space partition scheme. In order to increase the knowledge of the problem it would be interesting to have further information of the relevant features. A feature selection embedded method was used based on the lasso regulariser with the intention of pinpointing the most relevant feature functions indicating the relevant features.
APA, Harvard, Vancouver, ISO, and other styles
26

Nilsson, Samuel. "Implementation of a Continuous Integration and Continuous Delivery System for Cross-Platform Mobile Application Development." Thesis, Linköpings universitet, Interaktiva och kognitiva system, 2016. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-129922.

Full text
Abstract:
When working in software development teams, there are challenges when it comes to always keeping the software stable and reliable. Continuous integration are frequently used to increase the stability and reliability. Extensive research has been performed on the matter of development processes of continuous integration, but there are no consensus on how systems to support continuous integration should be implemented for best results. In this report a continuous integration system is implemented based on best practices and to support the general continuous integration development process, by using Jenkins and other open source tools. The system is adapted to work well with the cross-platform mobile development framework CoffeeMaker developed by VISIARC AB and the general needs of the company. In order to roughly estimate the increased developer productivity and product quality when introducing the system, a questionnaire that discusses the system and working habits was sent out to the developers. The evaluation lead to the conclusion that the productivity would improve by approximately 30-60 minutes per week and developer. It also lead to the conclusion that the quality of their developed applications would most probably increase by introducing such a system.
APA, Harvard, Vancouver, ISO, and other styles
27

Trienis, Michael Joseph. "Computational convex analysis : from continuous deformation to finite convex integration." Thesis, University of British Columbia, 2007. http://hdl.handle.net/2429/2799.

Full text
Abstract:
After introducing concepts from convex analysis, we study how to continuously transform one convex function into another. A natural choice is the arithmetic average, as it is pointwise continuous; however, this choice fails to average functions with different domains. On the contrary, the proximal average is not only continuous (in the epi-topology) but can actually average functions with disjoint domains. In fact, the proximal average not only inherits strict convexity (like the arithmetic average) but also inherits smoothness and differentiability (unlike the arithmetic average). Then we introduce a computational framework for computer-aided convex analysis. Motivated by the proximal average, we notice that the class of piecewise linear-quadratic (PLQ) functions is closed under (positive) scalar multiplication, addition, Fenchel conjugation, and Moreau envelope. As a result, the PLQ framework gives rise to linear-time and linear-space algorithms for convex PLQ functions. We extend this framework to nonconvex PLQ functions and present an explicit convex hull algorithm. Finally, we discuss a method to find primal-dual symmetric antiderivatives from cyclically monotone operators. As these antiderivatives depend on the minimal and maximal Rockafellar functions [5, Theorem 3.5, Corollary 3.10], it turns out that the minimal and maximal function in [12, p.132,p.136] are indeed the same functions. Algorithms used to compute these antiderivatives can be formulated as shortest path problems.
APA, Harvard, Vancouver, ISO, and other styles
28

Drolshammer, Erik. "Improved Backward Compatibility and API Stability with Advanced Continuous Integration." Thesis, Norwegian University of Science and Technology, Department of Computer and Information Science, 2007. http://urn.kb.se/resolve?urn=urn:nbn:no:ntnu:diva-8733.

Full text
Abstract:

Services with a stable API and good backward compatibility is important for component-based software development and service-oriented architectures. Despite its importance, little tool support is currently available to ensure that services are backward compatible. To address this problem a new continuous integration technique has been developed. The idea is to build projects that depend on a service with a new version of the service. This ensures that the development version is compatible with projects that depend on the regular version. A continuous integration server is used to initiate builds. This entails that if a build breaks, the developers get feedback right away, and it is easy to determine which change that caused the broken build. We show that an implementation is feasible by implementing a prototype as a proof of concept. The prototype use Continuum as the underlying build engine and utilize metadata from the Maven Project Object Model (POM). The prototype has support for multiple services. Services can thus be checked for compatibility with each other, in addition to backward compatibility with the regular version. Keywords: Continuous integration, Continuum, Maven, Component-based software development (CBSD), Service-Oriented Architecture (SOA), Test-Driven Development (TDD), agile software development

APA, Harvard, Vancouver, ISO, and other styles
29

Khumsat, Phanumas. "Transition frequency integration : technique for high frequency continuous-time filters." Thesis, Imperial College London, 2002. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.398200.

Full text
APA, Harvard, Vancouver, ISO, and other styles
30

Dahir, Hadi Mohammed. "An investigation of continuous-time electronic filters for semiconductor integration." Thesis, University of Bradford, 1990. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.281119.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Wirkkala, Westlund Johannes. "Introducing automatic software fault localization in a continuous integration environment." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-272101.

Full text
Abstract:
In this thesis we investigate the usefulness of neural networks to infer the relationship between co-changes of software modules and test verdicts with the goal of localizing software faults. Data for this purpose was collected from a continuous integration (CI) environment at the telecommunications company Ericsson. The data consisted of test verdicts together with information about which software modules had been changed in a software product since last successful test execution. Using this data, different types of neural network models were trained. Following training, an evaluation of the neural networks’ fault localization and defect prediction capabilities was made. For comparison we also included two statistical approaches for fault localization known as Tarantula and Ochiai in the evaluation. There have been similar studies like this thesis in the domain of software fault localization. However, the previous studies all work on the code level. The contribution of this thesis is to examine if the models used in the previous studies perform well when given a different kind of input, namely co-change information of the software modules making up the software product. One major obstacle with the thesis was that we only had data for the problem of software defect prediction. Because of this we had to evaluate the performance of our software fault localization models on the problem of predicting defects.  The results were that all networks performed poorly when predicting defects. The models achieve an accuracy of around 50% and an AUC score of around 0.5. Interestingly, F-score values can reach as high as 0.632 for some models. However, this is most likely a result of properties of the data set used rather than the models learning a relationship between input and output. Comparing the models to Tarantula and Ochiai suggests that neural networks might be too complicated for our situation. Overall, the results suggest that the neural network approaches we have for fault localization do not work in our setting.
I detta arbete undersöks om neurala nätverk kan lära sig relationen mellan kodmodulförändringar och testfallsresultat för att kunna underlätta lokalisering av fel. Data för studien samlades in från en kontinuerlig integrationsmiljö (KI) vid telekommunikationsföretaget Ericsson. Data bestod av testkörningsresultat tillsammans med information om vilka kodmoduler som förändrats sedan senast lyckade testkörning för en mjukvaruprodukt. Data användes för att träna olika typer av neurala nätverk. Efter träning utvärderades de neurala nätverkens förmåga att lokalisera fel och förutspå defekter. I jämförelsesyfte inkluderades två statistiska metoder för felsökning: Tarantula och Ochiai. Det finns liknande forskning inom området mjukvarufelsökning som i detta arbete. Skillnaden är att tidigare arbeten studerar detta problem på kodnivå. Arbetets bidrag är att undersöka om liknande resultat kan fås när man ger modellerna från tidigare studier annorlunda indata i form av information om kodmodulerna som mjukvaran består av. Ett hinder i arbetet var att vi enbart har data för forskningsproblemet att förutspå mjukvarudefekter. Vi fick därför utvärdera våra felsökningsmodeller på problemet att förutspå mjukvarudefekter. Slutresultatet var att maskininlärningsmodellerna generellt presterade dåligt när de försökte förutspå defekter. Alla modeller uppnår 50% eller lägre noggrannhet och en AUK-poäng runt 0,5. Det intressanta är att vissa modeller kan uppnå så höga F-poäng som 0,632 men detta beror troligtivs på egenskaper i datamängden vi använder snarare än att modellerna lärt sig en relation mellan indata och utdata. När vi jämför modellerna med Tarantula och Ochiai noteras det att neurala nätverk kan anses vara för komplexa för vår situation. Övergripande tyder resultatet på att neurala nätverksmetoder för mjukvarufelsökning inte fungerar i vår situation.
APA, Harvard, Vancouver, ISO, and other styles
32

Salomonsson, Tigerström Andreas, and Sebastian Algrim. "Mjukvaruutveckling med Continuous Delivery : En kvalitativ fallstudie om Continuous Practices med fokus på Continuous Delivery." Thesis, Linnéuniversitetet, Institutionen för informatik (IK), 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-76357.

Full text
Abstract:
Denna uppsats studerar förutsättningarna för att implementera mjukvaruutvecklings - metoden Continuous Delivery (CDE). Problemställningen som lade grunden för studien, var att det inte finns någon enhetlig standard för CDE. Studien ämnade att undersöka om detta innebar att metoden har varierande innebörd inom olika företag och om de således, i viss mån tillämpar skilda tillvägagångssätt med metoden. Ytterligare en aspekt var att se vilka utmaningar företagen upplevde vid övergången till CDE. Att undersöka om det var främst organisatoriska eller utvecklingsrelaterade problem som upplevts. Samt hur de hanterade kommunikation och tillit till medarbetarna och arbetet inom verksamheten under förändringen. För att belysa problemen, beskrevs teori med fokus på organisatoriska och tekniska utmaningar med Continuous - metoderna: Continuous Integration (CI), Continuous Delivery (CDE) och Continuous Deployment (CD). Teorikapitlet samt tidigare studier inkluderade även forskning om kringliggande koncept som DevOps och LEAN. Metoder, vilka kan underlätta implementationen av CDE. Datainsamlingen genomfördes med öppna individuella intervjuer med representanter från sex stycken företag, där de delade med sig av deras erfarenheter av och syn på CDE. Studien visar att anledningen till att företag väljer att arbeta med CDE, är att de vill gå från utvecklingsmetoder, vilka kräver många beslut inför varje förändring, till ett mer flexibelt arbetssätt där de funnit fördelar som: bättre kvalitet på det som levereras, snabbare leverans av affärsvärde till kunder samt kortare feedback - loopar. Företag som gör en övergång till CDE väljer dessutom ofta att inte automatisera hela vägen ut till produktion, enligt CD, då de ser utmaningar med att säkra kvalitén. Studien har identifierat ett antal faktorer som viktiga för en framgångsrik implementering av CDE, samt faktorer som kan resultera i en svår övergång.
This thesis studies the conditions needed for implementing the software development method Continuous Delivery (CDE). The problem identified for the study, is that there is no standardized approach for CDE as of today. The intentions of the study were to determine whether this means that the method will have a shifting tenor within different companies, and if so, will these companies implement the method with different approaches. Another aspect was to determine which types of challenges the companies were faced with during the transition towards CDE. To review whether the challenges were foremost organisational or development related. And how the organisations handled the communication and trust towards the co-workers and the development work within the organisation during the change towards the method. To highlight these issues, we presented theories with focus on organisational and technical challenges with the different Continuous practices were made. The practices being: Continuous Integration (CI), Continuous Delivery (CDE) and Continuous Deployment (CD). The theory chapter and former studies also contains research about surrounding concepts such as DevOps and LEAN methods, which can aim to facilitate the implementation of CDE. The empirical data collection was performed using open individual interviews with informants from six different companies, where they shared their experience and views on the method CDE. The study demonstrates that the reason organisations chose to implement CDE, is that they want to transform from software development methods, which requires a lot of decision making for any change, to a more flexible work procedure, in order to experience benefits such as: better quality of what is delivered, faster deliveries of business value to the customers and faster feedback-loops. Organisations that make the transition towards CDE also tend not to automate all the way to production, as in agreement with CD, this because the organisations identify challenges with assuring that the quality is sufficient. The study has identified a number of factors that are essential for a successful implementation of CDE, along with factors that may result in a less successful implementation.
APA, Harvard, Vancouver, ISO, and other styles
33

Gustafsson, Robin. "Intelligent and Context-Aware Information Filtering in Continuous Integration Pipeline using the Eiffel Protocol." Thesis, Linköpings universitet, Institutionen för datavetenskap, 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-177183.

Full text
Abstract:
Software development has gotten more complex and certain parts being more and more automated. Continuous integration practices with automated build and testing greatly benefit the development process. Combined with continuous deployment, the software can go directly from commit to deployment within hours or days which means that every commit is a possible deployment. The ability to trace links between artifacts is known as software traceability which has become a necessity and requirement in the industry. Following these traces and the ability to answer questions and base decisions on them is a complex problem. Tools already used in the industry are hard to adapt since every stakeholder requires different needs. Eiffel protocol aims to be as flexible and scalable as possible to fit as many needs as necessary for the stakeholder. This thesis provides an extension to Eiffel-store, an already existing open-source application that can visualize events in the Eiffel protocol that will be extended with functionality so that it can filter events and answer some questions stakeholders might have.
APA, Harvard, Vancouver, ISO, and other styles
34

Hagsten, Per. "Evaluation of a qualitative model for a company's technical maturity within Continuous Integration, Continuous Delivery and DevOps." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-233554.

Full text
Abstract:
The purpose of this study is to continue development of a benchmarking model to help companies assess their technical maturity when it comes to adopting Continuous Integration, Continuous Delivery and DevOps in their organization. The goal of the research is to assess how to improve the quality of qualitative models. Which conclusions can be drawn from comparing companies using benchmark and to assess which actions are the most effective to take to reach higher Continuous Integration, Continuous Delivery and DevOps maturity. The benchmark consisted of a questioner of two hundred statements that were answered for level of agreement with a current situation analysis and an ought-to-be analysis to be able to draw conclusions from the possible discrepancy between these categories. The questioner was answered during an interview study with chosen clients. Conclusions drawn from this study were that a lot can be done to improve the quality of qualitative models for examining Continuous Integration, Continuous Delivery and DevOps maturity. Different actions are necessary but the most important seems to be to ask open ended questions as well ass questions about different aspects of the same problem to promote discussion. It was also showed to be important to peer review the questions in the interview material beforehand to increase quality. The study also showed that it is possible to see trends in Continuous Integration, Continuous Delivery and DevOps maturity when comparing qualitative results for research subjects. The study showed that the most effective method for increasing Continuous Integration, Continuous Delivery and DevOps maturity is to use extensive automated testing suites that covers all testing disciplines.
Syftet med studien är att vidareutveckla ett benchmarkingverktyg för att hjälpa företag att bedöma sin tekniska mognad när det gäller att anta Continuous Integration, Continuous Delivery och DevOps i sin organisation. Målet med forskningen är att bedöma hur man kan förbättra kvaliteten på kvalitativa modeller för att mäta detta, samt vilka slutsatser som kan dras av att jämföra företags resultat som nyttjat studien. Samt att undersöka vilka åtgärder som är effektivast att ta för att nå en högre mognadsgrad inom Continuous Integration, Continuous Delivery och DevOps. Benchmarken bestod av ett frågebatteri av tvåhundra påståenden som besvarades av kunden i hur mycket de instämde till ett påstående. Resultatet samanställdes till en aktuell nulägesanalys och en börlägesanalys, med målet att dra slutsatser i vilka skillnaden som fanns mellan dessa två kategorier. Kunden besvarade frågebatteriet under en intervjustudie med utvalda anställda. Slutsatser som härrör från denna studie var att mycket kan göras för att förbättra kvaliteten på kvalitativa modeller för att undersöka Continuous Integration, Continuous Delivery och DevOps mognadsgrad. Olika åtgärder är möjliga, men det viktigaste förefaller vara att fråga öppna frågor för att främja diskussion samt att ställa frågor om olika aspekter av samma problem. Samt att opponera frågorna internt i intervjuundersökningen innan det utförs hos en kund, för att öka kvaliteten. Studien visade också att det även är möjligt att se trender i Continuous Integration, Continuous Delivery och DevOps mognad hos deltagarna när man jämför de kvalitativa resultaten. Studien visade att de mest effektiva metoderna för att öka Continuous Integration, Continuous Delivery och DevOps mognadsgrad är att använda omfattande automatiserade testsviter för samtliga testmetoder.
APA, Harvard, Vancouver, ISO, and other styles
35

Lindström, Gustav. "The Challenges of adopting DevOps." Thesis, KTH, Skolan för industriell teknik och management (ITM), 2019. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-264179.

Full text
Abstract:
In traditional Software Development Life Cycle, medium and large organizations tend to divide the activities of Operations and Development into separate departments. These groups often have a troublesome relationship because of different incentives during the software delivery process. As a result, conflicts occur between development and operations personnel as they blame each other to be the cause of long lead times and inefficient software delivery processes. The concept of DevOps emerged trying to resolve the problem that arises when separating the work of Development and Operations into organizational silos. The term DevOps is a combination of the abbreviations of Development (Dev) and Operations (Ops). DevOps aim to create a coalition that spans between Development (software developers and quality assurance) and Operation (experts responsible to roll out software to production and managing the infrastructure, e.g. system, network and database administrators and technicians). The idea is to increase the speed of the software delivery process and to quickly solve critical issues, enable organizations to better serve their customers. DevOps means that development teams who previously were solely responsible for the development of their applications now have to manage and govern both development and operational responsibilities. Thus, the adoption of DevOps might introduce new type of challenges and implications for the traditional development teams. Current literature and research about DevOps focus mainly on the challenges that DevOps attempts to overcome. There is a lack of literature on the challenges that practitioners encounter during the adoption of DevOps. As more organizations and companies tend to adopt the concept of DevOps, it increases the need to understand potential challenges and effects of adopting DevOps. Therefore, the aim of this study is to investigate the challenges that development teams encounter during the adoption of DevOps. This research was conducted by an inductive research approach through a single qualitative case study, with the use of semi-structured interviews. In total, four main challenges and fourteen sub-challenges were identified in this study. The four main challenges identified was, lack of awareness, lack of support for DevOps, implementing DevOps technology and adapting organizational processes to DevOps. This study concludes that the adoption of DevOps has a profound impact on the role of a software developer, and that the traditional role of a software developer needs to be evolved. The research provides four recommendations and means to overcome the challenges identified in this research, establishing common ways of working and spreading the knowledge, building commitment and trust by smarter seating, allocate time and resources to transition and trying out with one team and one application.
I traditionell livscykel för mjukvaruutveckling tenderar medelstora och stora organisationer att dela upp verksamheten i drift och utveckling i separata avdelningar. Dessa grupper har ofta en besvärlig relation på grund av olika incitament under mjukvaruleveransprocessen. Som ett resultat uppstår konflikter mellan utvecklings- och driftpersonal eftersom de beskyller varandra för att vara orsaken till långa ledtider och ineffektiva mjukvaruleveransprocesser. Konceptet DevOps uppstod för att försöka lösa det problem som uppstår när man separerar utveckling och drift i organisationella silosar. Termen DevOps är en kombination av förkortningarna för utveckling (Dev) och drift (Ops). DevOps syftar till att skapa en koalition som sträcker sig mellan utveckling (mjukvaruutvecklare och kvalitetssäkring) och drift (system-, nätverks- och databasadministratörer och tekniker). Idén är att öka hastigheten av mjukvaruleveranser och att snabbt lösa kritiska problem för att förbättra organisationens förmåga att betjäna sina kunder. DevOps innebär att utvecklingsgrupper som tidigare enbart ansvarade för utvecklingen av sina applikationer nu även har driftansvar. Således kan antagandet av DevOps introducera nya typer av utmaningar och konsekvenser för de traditionella utvecklingsgrupperna. Aktuell litteratur och forskning kring DevOps fokuserar främst på de utmaningar som DevOps försöker övervinna. Därav finns det brist på litteratur kring de utmaningar som utövare stöter på under antagandet av DevOps. Eftersom fler organisationer och företag tenderar att adoptera begreppet DevOps ökar behovet av att förstå potentiella utmaningar och effekter av att anta DevOps. Därav är syftet med denna studie att undersöka de utmaningar som utvecklingsgrupper bemöter under antagandet av DevOps. Denna forskning utfördes genom en induktiv forskningsinriktning, en kvalitativ fallstudie och datainsamling genom halvstrukturerade intervjuer. Totalt identifierades fyra huvudutmaningar och fjorton sub utmaningar i denna studie. De fyra huvudsakliga utmaningar som identifierades var, brist på medvetenhet, brist på stöd för DevOps, implementering av DevOps-teknik och anpassning av organisationsprocesser till DevOps. Den här studien drar slutsatsen att antagandet av DevOps har en djupgående inverkan på rollen som en mjukvaruutvecklare och att den traditionella rollen som en mjukvaruutvecklare behöver utvecklas. Studien ger fyra rekommendationer och medel för att övervinna de utmaningar som identifierats, etablering av gemensamma sätt att arbeta och sprida kunskapen, bygga upp engagemang och förtroende genom smartare sittplatser, fördela tid och resurser till övergången samt prova med ett lag och en applikation.
APA, Harvard, Vancouver, ISO, and other styles
36

Seppänen, V. (Vili). "Enhancing continuous integration processes in agile development using project management tools." Master's thesis, University of Oulu, 2018. http://urn.fi/URN:NBN:fi:oulu-201809062759.

Full text
Abstract:
This thesis presents a concept to enhance the continuous integration processes in agile development, by utilising the combination of project management tools and user stories. First, the reader is introduced to the fields of continuous integration, agile, feature toggles and version control to provide a good basic understanding of the context. Related work on release engineering is presented from the perspective of release planning and constructing. Problems with current, commonly used continuous integration processes are identified and analysed, and then solutions for these problems are designed and proposed. This includes listing the requirements for implementing the solutions, describing the designs of the solutions and discussing the expected benefits of the solutions. These solutions form the concept to enhance the continuous integration processes in agile development. This new concept is evaluated in a user-study among seasoned IT professionals. The study includes applicable elements from Expectation Disconfirmation Theory to examine the validity and the likely future adoption of the proposed approach in the information technology sector. The evaluation results suggest that the solution, when implemented in a production environment, will be easy to use; have the capability, functions and features needed to accomplish its tasks; will be reliable and beneficial for its purpose and would be likely to improve the overall performance of the software project
Tämä diplomityö esittelee konseptin jatkuvan integraation prosessien tehostamiseen ketterässä ohjelmistokehitysympäristössä. Konsepti perustuu projektinhallintatyökalujen ja käyttäjätarinoiden uudentyyppiseen ja älykkäämpään linkittämiseen. Aluksi työssä esitellään jatkuva integraatio, ketterä ohjelmistokehitys, liput sekä versionhallinta aihealueen perusteiden ymmärtämiseksi. Lisäksi esitellään julkaisunhallinta julkaisusuunnittelun ja julkaisun koostamisen näkökulmasta niiltä osin kuin se on diplomityön kannalta olennaista. Nykyisten yleisesti käytettävien jatkuvan integraation prosessien ongelmat tunnistetaan ja analysoidaan, ja näihin ongelmiin suunnitellaan ja esitetään ratkaisut. Esitellyt ratkaisut sisältävät niiden toteuttamista koskevien vaatimusten luetteloinnin, suunnitellun toteutuksen kuvauksen sekä pohdinnan ratkaisuista odotettavista hyödyistä. Nämä ratkaisut muodostavat konseptin jatkuvan integraation prosessien tehostamiseksi ketterässä ohjelmistokehityksessä. Esitelty uusi konsepti arvioidaan kokeneiden IT-ammattilaisten keskuudessa tehdyn käyttäjätutkimuksen avulla. Käyttäjätutkimuksessa käytetään soveltuvia elementtejä odotusten kumoamisen mallista, minkä avulla tarkastellaan ehdotetun lähestymistavan soveltuvuutta sekä tulevan käyttöönoton todennäköisyyttä tietotekniikka-alalla. Arvioinnin tulokset viittaavat siihen, että tuotantoympäristöön toteutettuna, ratkaisu on helppokäyttöinen, pitää sisällään valmiudet, toiminnallisuuden ja ominaisuudet sille annettujen tehtävien suorittamiseksi, on luotettava ja hyödyllinen, ja parantaa todennäköisesti ohjelmistoprojektin yleistä tehokkuutta
APA, Harvard, Vancouver, ISO, and other styles
37

Strand, Anton. "Continuous Integration Pipelines to Assess Programming Assignments : Test Like a Professional." Thesis, Linnéuniversitetet, Institutionen för datavetenskap och medieteknik (DM), 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-96713.

Full text
Abstract:
Examiners of programming assignments in higher education and people in the software industry both need to test and review code. However, the assessing techniques used are often quite different. The IT industry often uses agile work methods like continuous integration and automated tests, while examiners either do manual assessments or rely on code grading tools. The students will most likely become developers and work using agile processes. Therefore, there are possible benefits of universities trying to imitate the work processes of the software industry. The purpose of this study was to develop a workflow for programming assignments inspired by continuous integration, Scrum, and GitLab flow. The workflow was developed based on the requirements of Linnaeus University and tested on one of their programming assignments. It showed that a simplified agile work process is suitable for programming assignments since the demonstration fulfilled all of the predefined requirements. However, examiners might miss some of the workflow’s benefits if the programming assignment can not be tested automatically since it will require more manual work while grading.
APA, Harvard, Vancouver, ISO, and other styles
38

Krantz, Karl Johan. "Cross-Platform Post-Mortem Analysis in a Distributed Continuous Integration System." Thesis, Linköpings universitet, Medie- och Informationsteknik, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-122912.

Full text
Abstract:
This thesis aims to improve the cross-platform reliability of software components tested on distributed CI systems. More specifically, it is centered on extracting crash information from cross-platform crashes. Crash information was generated and parsed on Mac, Linux and Windows. The crash information proved to be valuable for developers in their day-to-day job, especially the raw crash information. However, the graph visualizations that were created out of this information proved to be less than satisfactory for developers.
APA, Harvard, Vancouver, ISO, and other styles
39

Christensen, Jens, and Jonatan Ekstedt. "Evaluation of Plugin Frameworks for the Jenkins Continuous Integration Build Server." Thesis, Linköpings universitet, Institutionen för datavetenskap, 2012. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-77181.

Full text
Abstract:
Begreppet Continuous Integration (CI) är idag centralt för många företag i deras produktutveckling. Kraven dessa företag ställer på denna programvara skiljer sig, beroende på vad de använder den till och hur deras miljö ser ut. Jenkins är en programvara som används för CI, det är öppen källkod och har ett brett stöd för pluginer. Det finns ett stort urval av pluginer redan idag, men det är inte säkert att specifika önskemål från företag uppfylls av dessa. Därför är det intressant att på ett snabbt sätt ta fram specifika pluginer för dessa företag. Vi har i denna rapport utrett möjligheterna att utveckla pluginer till Jenkins i Ruby. Det senaste året har utveckling av pluginer i Ruby vuxit fram för Jenkins. Ramverket är fortfarande i ett tidigt stadium, men är utformat för att kunna falla tillbaka på det programmeringsspråk som Jenkins är skrivet i; Java. Det är på så sätt fullt möjligt att nu skriva pluginer i Ruby. Ruby är ett expressivt språk som är lätt att ta till sig, och den komplexitet som följer pluginutveckling i Java är till stor del gömd i Rubys ramverk. Vår slutsats är att Ruby är tillräckligt moget för att användas till pluginutveckling för Jenkins. Examensarbetet är uppdelat i två delar: en utvärdering av ramverken och deras verktyg för Ruby och Java, och en utvecklingsfas där vi fastställer vår analys. Den Rubyplugin som utvecklats kan ses som ett ‘proof-of-concept’, denna kan även användas som en slags mall vid framtida pluginutveckling vid Autoliv.
The concept Continuous Integration (CI) is vital to many companies today in their product development. These companies may have specific demands on their CI-software, depending on how they are using it and what their development environment looks like. Jenkins is a software that is used for CI, it is open source and it has a wide support for plugins. There is a great selection of plugins available today, but it is not certain these plugins satisfy the specific requirements. It is therefore interesting to, in a quick way, develop plugins that meet these conditions. In this report, we have evaluated the possibility to develop plugins for Jenkins in Ruby. In the last year or so, plugin development in Ruby has been growing to become a viable option. The framework is still at a very early stage, but it is constructed in such a way so that one can always fall back on the language Jenkins was made in;; Java. Because of this it’s definitely possible to write plugins in Ruby. Ruby is an expressive language and it is easy to learn, the complexity that comes with writing plugins in Java for Jenkins is largely hidden in the Ruby framework. Our conclusion is that Ruby is ready to be used for plugin development for Jenkins. This thesis is divided into two parts, an evaluation of the frameworks and the tools for Java and Ruby, and a development phase where we concrete our analysis. The Ruby plugin that is developed in this thesis can be seen as proof-of-concept, it can also be used as a kind of template for future plugin development at Autoliv.
APA, Harvard, Vancouver, ISO, and other styles
40

Lindskog, Hedström David. "Assessing Needs for Visualizations in Continuous Integration : A Multiple Case Study." Thesis, Linköpings universitet, Programvara och system, 2017. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-139058.

Full text
Abstract:
Many organizations are moving towards agile software development and practices such as continuous integration. Being significantly different from traditional development, agile development has unique new challenges to be dealt with. This report is exploring challenges that large-scale organizations adopting continuous integration are experiencing related to their integration process. Challenges that are focused on are those that relate to understanding information about what the continuous integration system does. Two types of challenges were found: those that call for a need of understanding information and those that hinders information from being used. The report also suggests how visualizations can be used to help solving the former of the two.
APA, Harvard, Vancouver, ISO, and other styles
41

Hansson, Björn. "Best Practices, Benefits and Obstacles When Conducting Continuous Delivery in Software-Intensive Projects." Thesis, Malmö högskola, Fakulteten för teknik och samhälle (TS), 2017. http://urn.kb.se/resolve?urn=urn:nbn:se:mau:diva-20821.

Full text
Abstract:
The goals with continuous delivery are to reduce the risk, cost, and time of releasing software to the stakeholders and the users. It is a process which can result in reliable releases and reducing errors in the software. Furthermore, there are some best practices to follow when conducting the continuous delivery process, involving version control, and build tools. There are however some obstacles and challenges for organizations when moving to continuous delivery. For example, complex environments, organizational problems, and lack of automated test cases. This master thesis investigates continuous delivery through a literature review, a multiple-case study, and fieldwork. The result can either be used by software engineers and organizations who are new to the continuous delivery concept. Or the result can be used by more experienced software engineers to gain more knowledge about existing obstacles and for further research.
APA, Harvard, Vancouver, ISO, and other styles
42

Ormandy, Adam. "Infrastruktura pro testování a nasazování v oblasti kontejnerů." Master's thesis, Vysoké učení technické v Brně. Fakulta informačních technologií, 2019. http://www.nusl.cz/ntk/nusl-403207.

Full text
Abstract:
Znížená efektivita spôsobená robením repetitívnych a manuálnych prác je častým problémom v IT. Vývojári často testujú a nasadzujú svoj software manuálne, čo je nielen náročné na čas, nezáživné a náchylné k chybám. Táto práca sa snaží v rámci jedného DevOps tímu, vyriešiť tento problém pomocou zjednotenia vývojárskych a testovacích nástrojov, a pomocou aplikovania pricípov CI a CD do produkčného prostredia. Zároveň sa sústredí na software využívajúci Python, Jenkins a kontajnery. Hlavnými použitými nástrojmi sú GitLab CI, OpenShift a Tox. Vďaka tejto práci sa podarilo zvýšit počet projektov, ktoré používajú CI/CD zo 7 na 50 percent, zvrátiť rastúci trend v počte porušení štýlu v jazyku Python, opatriť kontajnery metadátami, zautomatizovať proces tvorby kontajnerov, ušetriť čas nerobením repetitívnych úloh a pod.
APA, Harvard, Vancouver, ISO, and other styles
43

von, Selasinsky Alexander. "The integration of renewable energy sources in continuous intraday markets for electricity." Doctoral thesis, Saechsische Landesbibliothek- Staats- und Universitaetsbibliothek Dresden, 2016. http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-202130.

Full text
Abstract:
This thesis develops and applies methodological approaches for the analysis of intraday markets for electricity which are organised as continuous double auctions. The focus is to improve the understanding of how balancing forecast errors from weather-dependent renewable energy sources influences the outcomes of continuous intraday markets. This is important as it helps to assess how large amounts of renewable capacity can be utilised cost-efficiently and without stressing security of supply. In a first step, the thesis proposes a (non-mathematical) model of a continuous intraday market to show how the direction of the forecast error determines transactions between market participants, how these transactions relate to the formation of prices, and how the market integration of renewables can be improved. In a second step, the thesis provides a foundation for quantitative market analyses by modelling price-setting decisions for power generators and electricity demanders. This makes it possible to show that information on market participants' technical characteristics enables informed predictions of their market behaviour. In a third step, the thesis presents a computer simulation of a continuous intraday market. Implementing the simulation approach for the German power system allows calculation of the costs associated with the uncertain feed-in from renewables.
APA, Harvard, Vancouver, ISO, and other styles
44

Kvarnefalk, John. "A study of Pseudo-tested Methods in an Android Continuous Integration Environment." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2020. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-281316.

Full text
Abstract:
As mobile devices become more capable and mobile adaption grows across the world, the complexity of mobile applications increases. For example, mobile applications let consumers view their banking details and legitimize themselves. With mobile applications serving these crucial functions, the need for quality and robustness increases. Unit tests are one way to measure the quality of an application. However, there is a need to evaluate the unit tests themselves in order to increase their effectiveness. Mutation testing is one approach to test the application source code by deliberately mutating it in an effort to see if the unit tests of the application detect the change. This study investigates mutation testing on an Android application. More specifically, it evaluates a form of extreme mutation testing using pseudotested methods. With pseudo-tested methods, entire method bodies are replaced with a single return statement. This study introduces a framework for detecting pseudo-tested methods within the continuous integration environment as well as the capability of measuring the usefulness of generated reports that highlight these methods. Moreover, the study conducts interviews with multiple developers discussing the pseudo-tested methods in detail. We implement this framework within the continuous integration environment using multiple components. Our results show that developers are positive towards having a tool for detecting pseudo-tested within the continuous integration environment. Moreover, the results indicate that methods written by developers are more useful to test than auto-generated methods. We draw the conclusion that detection of pseudo-tested methods can be beneficial in increasing the quality of mobile applications. However, we note that further work is needed to eliminate the prevalence of false-positives found in our study
Då mobiler blir mer kapabla och mobilanvändandet ökar runt om i världen blir mobila applikationer allt mer komplexa. Till exempel låter mobila applikationer användare visa sina bankuppgifter eller legitimera sig själva. När mobila applikationer hanterar dessa kritiska funktioner ökar vikten av robusta applikationer med hög kvalitet. Därför används enhetstestning för att bedöma kvaliteten av en applikation. Det medför att det dessutom finns ett behov av att utvärdera enhetstesterna av en applikation för att öka deras effektivitet. Mutationstestning är en metod där applikationens källkod medvetet ändras för att se om applikationens enhetstester kan upptäcka förändringen. Denna studie undersöker mutationstestning i en Android-applikation. Studien undersöker specifikt en mutationstestningsmetodik som kallas pseudotestade metoder. Med pseudo-testade metoder ändras hela metoder till att endast innehålla ett ensamt return-uttryck. Denna studie introducerar ett ramverk för att exekvera pseudo-testade metoder och samla in återkoppling gällande ramverket i continuous integration-miljön. Dessutom utförs ett antal intervjuer för att diskutera pseudo-testade metoder i detalj. Vi implementerar ramverket med hjälp utav flera olika komponenter. Resultaten pekar på att utvecklare är positiva till att ha ett verktyg för att upptäcka pseudo-testade metoder i continuous integration-miljön. Däremot är det av stor vikt att metoder som är felaktigt rapporterade minimeras. Samtidigt indikerar resultaten att metoder skrivna av utvecklare är mer relevanta att testa än metoder som är autogenererade. Vi drar slutsatsen att pseudo-testade metoder kan vara användbara för att förbättra kvaliteten av mobila applikationer. Däremot föreslår vi att framtida arbete är av vikt för att eliminera falskt positiva rapporterade metoder.
APA, Harvard, Vancouver, ISO, and other styles
45

Thulin, Pontus. "Evaluation of the applicability of security testing techniques in continuous integration environments." Thesis, Linköpings universitet, Institutionen för datavetenskap, 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-113753.

Full text
Abstract:
Agile development methodologies are becoming increasingly popular, especially in projects that develop web applications. However, incorporation of software security in lightweight approaches can be difficult. Using security testing techniques throughout a complete agile development process by running automated tests in continuous integration environments is one approach that strives to improve security in agile projects. Instead of performing security testing at the end of the development cycle, such methods enables early and continuous detection of security risks and vulnerabilities. The purpose of this thesis is to study how existing security testing techniques operate in continuous integration environments and what level of security they can help assure. The work is a qualitative analysis of dierent security testing techniques and evaluates how they technically fit into a continuous integration environment as well as how they adhere to agile principles. These techniques are also analyzed with the use of OWASP Top Ten to determine which security requirements they can verify. The outcome of the analysis is that no existing security testing technique is a perfect fit for usage in continuous integration testing. Each technique has its distinct advantages and drawbacks that should be taken into consideration when choosing a technique to work with in continuous integration environments.
APA, Harvard, Vancouver, ISO, and other styles
46

Gangalic, Catalin. "Improving Queuing Time in a Pull Based Containerized Continuous Integration Build System." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-303114.

Full text
Abstract:
Most of the medium and big size software companies around the world are now using some form of continuous automatic build systems, with smaller companies following through. This approach, towards a more continuous flow, has pushed for more innovation in the domain and the adoption of various orchestration tools for these builds. At the same time, most continuous integration build systems do not leverage the data for improving the total building time. This thesis intends to decrease the overall building time in a pull based build system, named Blazar. This is obtained by decreasing the average time a build waits before being allocated a resource by the orchestration tool, Kubernetes. The improvement of average queuing time is done by leveraging the past data regarding the queue load of the system with the scope of predicting the amount of resources and preemptively allocating them. In the thesis, various time series prediction models are explored in order to find the most relevant one with regards to the available data. The final choice of the model is Facebook’s Prophet due to its ability to leverage multiple seasonalities, handle outliers, accommodate holidays, and provide fast predictions. By tuning various model’s parameters, it was possible to achieve satisfactory results. Thus, for some of the tested periods, the average queuing time was decreased with up to 20%, while maintaining a reasonable resource usage, compared to the time without using any prediction models. Finally, this thesis represents a practical approach that can be applied to other applications and systems. This thesis also details its limitations while discussing other solutions and ideas to further improve the results.
De flesta medelstora och större mjukvaruföretag runt om i världen använder idag någon form av kontinuerliga automatiska byggsystem, något som mindre företag även har börjat efterfölja. Detta tillvägagångssätt mot ett mer kontinuerligt flöde har drivit för mer innovation inom domänen och adopteringen av olika orkestreringsverktyg för dessa byggda program. Samtidigt utnyttjar de flesta kontinuerliga integrationssystem inte den data de samlar in för att förbättra den totala byggtiden. Denna uppsats avser att minska den totala byggtiden i ett pull-baserat byggsystem som heter Blazar. Detta uppnås genom att minska den genomsnittliga tid som ett byggt program väntar innan den tilldelas en resurs av orkestreringsverktyget, Kubernetes. Förbättringen av den genomsnittliga kötiden fås genom att utnyttja tidigare data om systemets köbelastning med omfattningen att förutsäga mängden resurser och fördela dem förebyggande. I avhandlingen undersöks olika tidsserieprognosmodeller för att hitta den mest relevanta med avseende på tillgänglig data. Det slutliga valet av modellen är Facebooks Prophet på grund av dess förmåga att utnyttja flera säsongsbestämmelser, hantera avvikelser, helgdagar och ge snabba förutsägelser. Genom att ställa in olika modellparametrar var det möjligt att uppnå tillfredsställande resultat. Under några av de testade perioderna minskade således den genomsnittliga kötiden med upp till 20%, samtidigt som en rimlig resursanvändning bibehölls, jämfört med tiden som ficks utan att använda någon förutsägelsemodell. Slutligen avser denna avhandling inte att ge en toppmodern lösning. Således slutar det med att beskriva sina begränsningar samtidigt som de tillhandahåller andra lösningar och idéer som kan förbättra resultaten.
APA, Harvard, Vancouver, ISO, and other styles
47

Johansson, Jens. "Create React App vs NextJS : A comparison of two ReactJS based web application frameworks." Thesis, Mittuniversitetet, Institutionen för informationssystem och –teknologi, 2021. http://urn.kb.se/resolve?urn=urn:nbn:se:miun:diva-42390.

Full text
Abstract:
Webbapplikationer bygger på många olika webbramar och utvecklare har en mängd olika webbramverk att välja mellan när de utvecklar en webbapplikation. Två populära webbramverk som finns på marknaden är NextJS och Create React App (CRA). Varje ramverk har sina egna för- och nackdelar i olika perspektiv. Syftet med denna studie är att granska om det finns några skillnader i dessa två populära webbramverk ur ett kontinuerligt integrations och kontinuerligt leverans-perspektiv med ett fokus på att kolla närmare på skillnaderna inom utvecklingsprocessen vid utökningar av applikationer och den tid det tar att bygga och driftsätta applikationer i de olika ramverken. För att få kunskap om ämnet så har en teoretisk studie av webbaserade källor gjorts och en applikation har skapats i de båda ramarverken för att sedan utvidgas med ytterligare verktyg för att kunna utföra en jämförelse. Studien visar att ramverken resulterar i liknande byggoch driftsättningstider men skiljer sig dock åt gällande konfigurationer när applikationerna utökades och att NextJS gav en enklare åtkomst åt konfigurering.
Web applications are built on numerous of different web frameworks and developers have a plethora of different web frameworks to choose from when developing a web application. Two popular web frameworks on the market are NextJS and Create React App (CRA). Each framework has its own advantages and disadvantages in different perspectives. The objective of this study is to review if there are any differences in these two popular web frameworks in a continuous integration and continuous delivery perspective looking closer at the differences in the development process when extending applications and the time it takes to build and deploy applications in the different frameworks. To gain knowledge about the subject, a theoretical study on web based sources has been made and an application has been created in both framework to then be extended with further tools to be able to perform the comparison. The study shows that the frameworks results in similar build and deployment times but does however differ in the configurations when extending applications and that NextJS did provide a more straightforward configuration.
APA, Harvard, Vancouver, ISO, and other styles
48

Persson, Simone. "List of Security Concerns within Continuous Software Evolution." Thesis, KTH, Skolan för elektroteknik och datavetenskap (EECS), 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-254881.

Full text
Abstract:
The amount of data being collected is increasing astronomically. Hence questions about privacy and data security are becoming more important than ever. A fast-changing culture is also reflected in the demands and requirements placed on software systems. Products and services need to evolve with the demands and feedback from customers to stay relevant on the market. Working methods and technologies have been refined to afford updating software continuously. However, rapidly changing software cause concern for the quality and level of security in the release. This thesis is a comprehensive literature study, reviewing the challenges of ensuring secure practises for continuously evolving software. The problem solved by the thesis is lack of an overall picture of the security concerns during continuous evolution. The findings are summarised in a checklist of areas of concern for security when maintaining and updating systems with continuous practises in cloud environments. This study shows that ensuring security, while delivering continuous releases, is a daunting task. It requires close collaboration between teams handling different aspects of software. This, in turn, entails a widening of competences to include knowledge about the work of other departments. It is concluded that personnel with this wide range of skill will be hard to acquire.
I en tid då mängden data som samlas in om individer ökar i ohindrad takt, blir frågor om integritet och informationssäkerhet viktigare än någonsin. Kraven på snabb utveckling och förändring präglar även metoderna för mjukvaruutveckling. Produkter och tjänster måste konstant anpassas efter kundernas önskemål för att förbli relevant på marknaden. Arbetssätt och teknologier har utvecklats över tid för att möjliggöra mjukvara som uppdateras kontinuerligt. Konstant föränderlig mjukvara leder dock till oro för kvalitén och säkerheten av uppdateringarna. Den här uppsatsen är en litteraturstudie som undersöker utmaningarna att säkerställa säkerhet för mjukvara som uppdateras kontinuerligt. Problemet som löses genom studien är den saknade helhetsbilden av säkerhetsproblem vid kontinuerligt föränderlig mjukvara. Resultatet sammanfattas i en checklista för områden som väcker oro för säkerheten vid arbetssätt som tillåter kontinuerliga uppdateringar i moln-miljöer. Studien visar att leverera säkra lösningar kontinuerligt är en svår uppgift. Det kräver nära samarbete mellan team som sköter olika delar av mjukvaruutveckling. Detta fordrar vida kompetenser som inkluderar förståelse av varandras arbete. Att finna personal med tillräckligt vida kompetenser uppskattas vara problematiskt.
APA, Harvard, Vancouver, ISO, and other styles
49

Olle, Emilsson, and Hrvatin Marcus. "Using containers in a continuous integration and delivery environment : A performance and scalability comparison." Thesis, Blekinge Tekniska Högskola, Institutionen för programvaruteknik, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:bth-16662.

Full text
Abstract:
With a software industry that is moving at a fast pace, continuous integration and delivery is something important for many products today. Moreover, with containers being on the rise since 2013, more companies are moving their CI/CD environment into containers not only for development but also for testing. This thesis begins with giving the reader an introduction to containers, container orchestration, and Jenkins, which is a continuous integration and delivery tool. The experiment was then set up with one container based cluster and one single node machine. Two kinds of experiments were run on them, one big job and one small job. The system scalability is assessed, and with smaller clusters the memory overhead could be an issue. Performance wise, the container cluster is performing better than a single node machine, as long as it is utilizing all its nodes. Security with containers is still an issue and it could be fatal for a cluster if it is compromised.
APA, Harvard, Vancouver, ISO, and other styles
50

Miller, Melissa Jean. "Telehealth Integration Influencing Success and Sustainability." ScholarWorks, 2019. https://scholarworks.waldenu.edu/dissertations/7240.

Full text
Abstract:
Telehealth initiated a transformation in the realm of innovative strategies to meet the demands of an ever-changing health care system. Adapting provisions to new delivery care models such as telehealth is one way to improve access to care. The purpose of this project was to explore evidence of best practices in telehealth through an extensive, systematic literature review. The practice-focused question focused on identifying advantages of and barriers to the use of telehealth for improving patient satisfaction and quality of care. The plan-do-study-act cycle served as a model for accelerating quality improvement through improved systems of practice, and the Critical Appraisal Skills Program tool was used to identify factors in the literature that indicated the clinical effectiveness of telehealth and the contributions of information technology to patient outcomes throughout the care continuum. Applying Melnyk and Fineout-Overholt's model, which consists of 7 levels for grading evidence, 11 articles were identified as meeting the inclusion criteria. With respect to comparing telehealth services, this review identified areas for future research, including how telehealth can be used to bridge the gap between hospital and home with the integration of telehealth being integrated into routine care as a means to deliver medical, health, and educational services that contribute to improving patient outcomes. The implications of this project related to social change include supporting evidence that positive change is possible when modalities of health care delivery include the patient as part of care, benefiting both patient and provider.
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography