Spelling suggestions: "subject:"[een] VERSION CONTROL"" "subject:"[enn] VERSION CONTROL""
1 |
Merge-Trees: Visualizing the integration of commits into LinuxWilde, Evan 11 September 2018 (has links)
Version control systems are an asset to software development, enabling
developers to keep snapshots of the code as they work.
Stored in the version control system is the entire history of the
software project, rich in information about who is contributing to the
project, when contributions are made, and to what part of the project
they are being made.
Presented in the right way, this information can be made invaluable in
helping software developers continue the development of the project,
and maintainers to understand how the changes to the current version
can be applied to older versions of projects.
Maintainers are unable to effectively use the information stored
within a software repository to assist with the maintanance older
versions of that software in highly-collaborative projects.
The Linux kernel repository is an example of such a project.
This thesis focuses on improving visualizations of the Linux kernel
repository, developing new visualizations that help answer questions
about how commits are integrated into the project.
Older versions of the kernel are used in a variety of systems where it
is impractical to update to the current version of the kernel.
Some of these applications include the controllers for spacecrafts,
the
core of mobile phones, the operating system driving internet routers,
and as Internet-Of-Things (IOT) device firmware.
As vulnerabilities are discovered in the kernel, they are patched in
the current version.
To ensure that older versions are also protected against the
vulnerabilities, the patches applied to the current version of the
kernel must be applied back to the older version.
To do this, maintainers must be able to understand how the patch that
fixed the vulnerability was integrated into the kernel so that they
may apply it to the old version as well.
This thesis makes four contributions:
(1) a new tree-based model, the \mt{}, that abstracts the commits in the repository,
(2) three visualizations that use this model,
(3) a tool called \tool{} that uses these visualizations,
(4) a user study
that evaluates whether the tool is effective in helping users answer
questions related to how commits are integrated about the Linux
repository.
The first contribution includes the new tree-based model, the
algorithm that constructs the trees from the repository,
and the evaluation of the results of the algorithm.
the second contribution demonstrates some of the potential
visualizations of the repository that are made possible by the model,
and how these visualizations can be used depending on the structure of
the tree.
The third contribution is an application that applies the
visualizations to the Linux kernel repository.
The tool was able to help the participants of the study with
understanding how commits were integrated into the Linux kernel
repository.
Additionally, the participants were able to summarize information
about merges,
including who made the most contributions,
which file were altered the most,
more quickly and accurately than with Gitk and the command line tools. / Graduate
|
2 |
Automatic Restoration and Management of Computational NotebooksVenkatesan, Satish 03 March 2022 (has links)
Computational Notebook platforms are very commonly used by programmers and data scientists. However, due to the interactive development environment of notebooks, developers struggle to maintain effective code organization which has an adverse effect on their productivity. In this thesis, we research and develop techniques to help solve issues with code organization that developers face in an effort to improve productivity. Notebooks are often executed out of order which adversely effects their portability. To determine cell execution orders in computational notebooks, we develop a technique that determines the execution order for a given cell and if need be, attempt to rearrange the cells to match the intended execution order. With such a tool, users would not need to manually determine the execution orders themselves. In a user study with 9 participants, our approach on average saves users about 95% of the time required to determine execution orders manually. We also developed a technique to support insertion of cells in rows in addition to the standard column insertion to help better represent multiple contexts. In a user study with 9 participants, this technique on a scale of one to ten on average was judged as a 8.44 in terms of representing multiple contexts as opposed to standard view which was judged as 4.77. / Master of Science / In the field of data science computational notebooks are a very commonly used tool. They allow users to create programs to perform computations and to display graphs, tables and other visualizations to supplement their analysis. Computational Notebooks have some limitations in the development environment which can make it difficult for users to organize their code. This can make it very difficult to read through and analyze the code to find or fix any errors which in turn can have a very negative effect on developer productivity. In this thesis, we research methods to improve the development environment and increase developer productivity. We achieve this by offering tools to the user that can help organize and cleanup their code making it easier to comprehend the code and make any necessary changes.
|
3 |
Integrating Performance Analysis in Parallel Software EngineeringPoliakoff, David 18 August 2015 (has links)
Modern computational software is increasingly large in terms of lines of code, number of developers, intended longevity, and complexity of intended architectures. While tools exist to mitigate the problems this type of software causes for the development of functional software, no solutions exist to deal with the problems it causes for performance. This thesis introduces a design called the Software Development Performance Analysis System, or SDPAS. SDPAS observes the performance of software tests as software is developed, tracking builds, tests, and developers in order to provide data with which to analyze a software development process. SDPAS integrates with the CMake build and test suite to obtain data about builds and provide consistent tests, with git to obtain data about how software is changing. SDPAS also integrates with TAU to obtain performance data and store it along with the data obtained from other tools. The utility of SDPAS is observed on two pieces of production software.
|
4 |
PLC Back-up systemBjörklund, Johan January 2014 (has links)
The purpose of this bachelor thesis was to investigate the PLC systems used in ABBs breaker factory in Ludvika and to create a system specification suitable to be used in the procurement of a back-up solution for this workshop. This work involved information gathering from different sources, such as archives, physical installations and interviews of maintenance personnel and operators. The results included the requested system specification (in Swedish) including suggestions for pilot test installations and evaluations. The work also resulted in an extensive listing of all PLC systems with placement, typedesignations, expansion modules and other pertinent information. This information ismade available as a macro enabled multipage Microsoft Excel document. A summary and suggestions for follow up work is also included.
|
5 |
Mining Project- Oriented Business ProcessesBala, Saimir, Cabanillas Macias, Cristina, Solti, Andreas, Mendling, Jan, Polleres, Axel January 2015 (has links) (PDF)
Large engineering processes need to be monitored in detail
regarding when what was done in order to prove compliance with rules
and regulations. A typical problem of these processes is the lack of con-
trol that a central process engine provides, such that it is difficult to
track the actual course of work even if data is stored in version control
systems (VCS). In this paper, we address this problem by defining a
mining technique that helps to generate models that visualize the work
history as GANTT charts. To this end, we formally define the notion of a
project-oriented business process and a corresponding mining algorithm.
Our evaluation based on a prototypical implementation demonstrates
the benefits in comparison to existing process mining approaches for this
specific class of processes.
|
6 |
Um controle de versões refinado e flexível para artefatos de software / Flexible and fine-grained version control for software artifactsJunqueira, Daniel Carnio 07 January 2008 (has links)
As atividades de controle de versões são consideradas essenciais para a manutenção de sistemas de computador. Elas começaram a ser realizadas na década de 1950 de forma manual. As primeiras ferramentas de controle de versões, que surgiram nos anos setenta, não evoluíram significativamente desde sua criação e, até hoje, o controle de versões de arquivos é geralmente realizado em arquivos ou mesmo módulos completos, utilizando os conceitos que foram lançados há mais de três décadas. Com a popularização da utilização de sistemas computacionais, ocorreu um sensível aumento no número de sistemas existentes e, também, na complexidade dos mesmos. Além disso, muitas alterações ocorreram nos ambientes de desenvolvimento de software, e existe demanda por sistemas que permitam aos desenvolvedores ter cada vez mais controle automatizado sobre o que está sendo desenvolvido. Para isso, algumas abordagens de controle de versões refinados para artefatos de software foram propostas, mas, muitas vezes, não oferecem a exibilidade de utilização exigida pelos ambientes de desenvolvimento de software. Neste trabalho, é apresentado um sistema que visa a fornecer suporte ao controle de versões refinado e flexível para artefatos de software, tendo por base um modelo bem definido para representação das informações da estrutura dos arquivos que compõem determinado projeto de software, sejam eles código-fonte dos programas de computador, documentação criada em Latex, arquivos XML, entre outros. O sistema apresentado foi projetado para ser integrado com outras soluções utilizadas em ambientes de desenvolvimento de software / Version control tasks are considered essential for the maintenance of computers systems. They have been done since beginning of 50\'s in a by hand manner. First tools, which were released in 70\'s, didn\'t evolve significantly since its creation, and, in general, version control systems still work with entire files or even modules of software, having the same concepts that were launched more than three decades ago. With the popularization of computers systems there had been a sensible increase in the number of existing systems and also in the complexity of these systems. Besides that many changes have taken place in the software development environments, and there is demand for systems which allow developers to have more automated control about what is being developed. Regard to this demand some approaches of fine-grained version control have been proposed, but they usually do not provide the required exibility for its use in the real software development environments. In this work its presented a system which aims at providing support for exible and fine-grained version control of software artifacts, using a well defined model to represent the logical structure of the files which compose a software project, independently of its type - they can be XML files, source-code files, Latex files and others. The system has been designed to be integrated with other software solutions used in software development environments
|
7 |
Um controle de versões refinado e flexível para artefatos de software / Flexible and fine-grained version control for software artifactsDaniel Carnio Junqueira 07 January 2008 (has links)
As atividades de controle de versões são consideradas essenciais para a manutenção de sistemas de computador. Elas começaram a ser realizadas na década de 1950 de forma manual. As primeiras ferramentas de controle de versões, que surgiram nos anos setenta, não evoluíram significativamente desde sua criação e, até hoje, o controle de versões de arquivos é geralmente realizado em arquivos ou mesmo módulos completos, utilizando os conceitos que foram lançados há mais de três décadas. Com a popularização da utilização de sistemas computacionais, ocorreu um sensível aumento no número de sistemas existentes e, também, na complexidade dos mesmos. Além disso, muitas alterações ocorreram nos ambientes de desenvolvimento de software, e existe demanda por sistemas que permitam aos desenvolvedores ter cada vez mais controle automatizado sobre o que está sendo desenvolvido. Para isso, algumas abordagens de controle de versões refinados para artefatos de software foram propostas, mas, muitas vezes, não oferecem a exibilidade de utilização exigida pelos ambientes de desenvolvimento de software. Neste trabalho, é apresentado um sistema que visa a fornecer suporte ao controle de versões refinado e flexível para artefatos de software, tendo por base um modelo bem definido para representação das informações da estrutura dos arquivos que compõem determinado projeto de software, sejam eles código-fonte dos programas de computador, documentação criada em Latex, arquivos XML, entre outros. O sistema apresentado foi projetado para ser integrado com outras soluções utilizadas em ambientes de desenvolvimento de software / Version control tasks are considered essential for the maintenance of computers systems. They have been done since beginning of 50\'s in a by hand manner. First tools, which were released in 70\'s, didn\'t evolve significantly since its creation, and, in general, version control systems still work with entire files or even modules of software, having the same concepts that were launched more than three decades ago. With the popularization of computers systems there had been a sensible increase in the number of existing systems and also in the complexity of these systems. Besides that many changes have taken place in the software development environments, and there is demand for systems which allow developers to have more automated control about what is being developed. Regard to this demand some approaches of fine-grained version control have been proposed, but they usually do not provide the required exibility for its use in the real software development environments. In this work its presented a system which aims at providing support for exible and fine-grained version control of software artifacts, using a well defined model to represent the logical structure of the files which compose a software project, independently of its type - they can be XML files, source-code files, Latex files and others. The system has been designed to be integrated with other software solutions used in software development environments
|
8 |
Implementation of a Continuous Integration and Continuous Delivery System for Cross-Platform Mobile Application DevelopmentNilsson, Samuel January 2016 (has links)
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.
|
9 |
Collaborative Software Development Using R-ForgeTheußl, Stefan, Zeileis, Achim January 2008 (has links) (PDF)
Open source software (OSS) is typically created in a decentralized self-organizing process by a community of developers having the same or similar interests. A key factor for the success of OSS over the last two decades is the internet: Developers who rarely meet face-to-face can employ new means of communication, both for rapidly writing and deploying software. Therefore, many tools emerged that assist a collaborative software development process, including in particular tools for source code management (SCM) and version control. In the R world, SCM is not a new idea, in fact, the R Development Core Team has always been using SCM tools for the R sources; first by means of Concurrent Versions System (CVS), and then via Subversion (SVN). A central repository is hosted by ETH Zürich mainly for managing the development of the base R system. Mailing lists like R-help, R-devel and many others are currently the main communication channels in the R community. Also beyond the base system, many R contributors employ SCM tools for managing their R packages, e.g., via web-based SVN repositories like SourceForge (http://SourceForge.net/) or Google Code (http://Code.Google.com/). However, there has been no central SCM repository providing services suited to the specific needs of R package developers. Since early 2007, the R-project offers such a central platform to the R community. R-Forge (http://R-Forge.R-project.org/) provides a set of tools for source code management and various web-based features. It aims to provide a platform for collaborative development of R packages, R-related software or further projects. / Series: Research Report Series / Department of Statistics and Mathematics
|
10 |
Controle de versões - um apoio à edição colaborativa na Web / Version control - a support to the collaborative edition in the WebSilva, Sandra Regina Quadros Moraes da 22 July 2005 (has links)
O controle de versões é uma das principais funcionalidades do Gerenciamento de Configuração de Software (GCS) e visa, entre outras coisas, a recuperação e auditoria (quem, quando e o quê) de versões anteriores e a redução do espaço de armazenamento dos produtos em desenvolvimento. Existem ferramentas que auxiliam esse controle - o CVS (Concurrent Versions System) é uma delas e tem sido amplamente adotado. Como apoio à edição colaborativa na Web, o CVS pode proporcionar benefícios no sentido de recuperar e verificar versões anteriores. Atualmente, ferramentas conhecidas como wiki", que possibilitam edição colaborativa por meio da Web, têm obtido muitos adeptos. Um exemplo desse tipo de ferramenta é a CoTeia, que tem sido utilizada no ambiente acadêmico do Instituto de Ciências Matemáticas e de Computação (ICMC) da Universidade de São Paulo (USP) desde 2001, e vem sendo utilizada também, integrada à ferramenta DocRationale, usada para registro do Design Rationale (DR). Além da edição colaborativa, é possível também o armazenamento de arquivos (uploads) associados às páginas Web da wiki. A ferramenta DocRationale viabiliza o armazenamento de artefatos relacionados ao processo de desenvolvimento de software, através do upload de arquivos. No entanto, o controle de versões desses artefatos na CoTeia não era provido. De fato, não existe um consenso da literatura a respeito do suporte de controle de versões em áreas de upload nas wikis. Neste trabalho foi realizado um estudo para análise do uso de controle de versões nas páginas e nos uploads em um conjunto de wikis pesquisadas. Já na DocRationale, como os artefatos são alterados durante o processo de desenvolvimento de software, o controle de versões na CoTeia se torna um mecanismo importante. Com isso, foi implementado o controle de versões dos artefatos armazenados na ferramenta DocRationale, através da integração do CVS à CoTeia utilizada na DocRationale. / Versions Control is one of the main activities of Software Configuration Management (SCM) and aims, among other goals, the previous versions retrieval and auditing (who, when and what), and the reduction of storage space required by under development products. There are tools that help this control CVS is one of these and has been widely adopted. As a support to web collaborative editing, CVS can provide benefits by retrieving and checking previous versions. Nowadays, the tools known as wiki, which allow web collaborative editions, have been gathered many adopters. An example of this kind of tool is CoTeia, that has been used in academic environment at Institute of Mathematics Science and Computing (ICMC) of University of São Paulo (USP) since 2001. CoTeia has also been used integrated to DocRationale tool, which is used to register design rationale. Besides the collaborative editing, CoTeia also permits the file uploads related to wiki webpages. DocRationale makes possible artifacts storage related to software development process, through file uploads. However, versions control of the artifacts in CoTeia was not provided. Indeed, in literature there is not a consensus about the versions control support in uploads wiki area. The present dissertation shows an analysis of versions control usage on pages and uploads areas of a set of selected wikis. On the other hand, in DocRationale, because the artifacts can be changed during all the software development process, the versions control in CoTeia becomes an important mechanism. For this reason, versions control of artifacts stored in DocRationale was implemented, through integration of CVS to CoTeia used in DocRationale.
|
Page generated in 0.0405 seconds