335 research outputs found

    Comparison of PBO solvers in a dependency solving domain

    Full text link
    Linux package managers have to deal with dependencies and conflicts of packages required to be installed by the user. As an NP-complete problem, this is a hard task to solve. In this context, several approaches have been pursued. Apt-pbo is a package manager based on the apt project that encodes the dependency solving problem as a pseudo-Boolean optimization (PBO) problem. This paper compares different PBO solvers and their effectiveness on solving the dependency solving problem.Comment: In Proceedings LoCoCo 2010, arXiv:1007.083

    The CoLiS Platform for the Analysis of Maintainer Scripts in Debian Software Packages

    Get PDF
    International audienceThe software packages of the Debian distribution include more than twenty-seven thousand maintainer scripts in total, almost all of them being written in the Posix shell language. These scripts are executed with root privileges at installation, update, and removal of a package, which makes them critical for system maintenance. While the Debian policy provides guidance for package maintainers producing the scripts, only few tools exist to check the compliance of a script to that policy. We present CoLiS, a software platform for discovering violations of non-trivial properties required by the Debian policy in maintainer scripts. We describe our methodology which is based on symbolic execution and feature tree constraints, and we give an overview of the toolchain. We obtain promising results: our toolchain is effective in analysing a large set of Debian maintainer scripts, and it has already detected over 150 policy violations that have lead to bug reports, more than two-third of them now being fixed

    Compiler fuzzing: how much does it matter?

    Get PDF
    Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of fuzzer-found compiler bugs on real-world applications has barely been assessed. We present the first quantitative and qualitative study of the tangible impact of miscompilation bugs in a mature compiler. We follow a rigorous methodology where the bug impact over the compiled application is evaluated based on (1) whether the bug appears to trigger during compilation; (2) the extent to which generated assembly code changes syntactically due to triggering of the bug; and (3) whether such changes cause regression test suite failures, or whether we can manually find application inputs that trigger execution divergence due to such changes. The study is conducted with respect to the compilation of more than 10 million lines of C/C++ code from 309 Debian packages, using 12% of the historical and now fixed miscompilation bugs found by four state-of-the-art fuzzers in the Clang/LLVM compiler, as well as 18 bugs found by human users compiling real code or as a by-product of formal verification efforts. The results show that almost half of the fuzzer-found bugs propagate to the generated binaries for at least one package, in which case only a very small part of the binary is typically affected, yet causing two failures when running the test suites of all the impacted packages. User-reported and formal verification bugs do not exhibit a higher impact, with a lower rate of triggered bugs and one test failure. The manual analysis of a selection of the syntactic changes caused by some of our bugs (fuzzer-found and non fuzzer-found) in package assembly code, shows that either these changes have no semantic impact or that they would require very specific runtime circumstances to trigger execution divergence

    ENTICE VM Image Analysis and Optimised Fragmentation

    Get PDF
    Virtual machine (VM) images (VMIs) often share common parts of significant size as they are stored individually. Using existing de-duplication techniques for such images are non-trivial, impose serious technical challenges, and requires direct access to clouds' proprietary image storages, which is not always feasible. We propose an alternative approach to split images into shared parts, called fragments, which are stored only once. Our solution requires a reasonably small set of base images available in the cloud, and additionally only the increments will be stored without the contents of base images, providing significant storage space savings. Composite images consisting of a base image and one or more fragments are assembled on-demand at VM deployment. Our technique can be used in conjunction with practically any popular cloud solution, and the storage of fragments is independent of the proprietary image storage of the cloud provider

    The adoption of open sources within higher education in Europe : a dissemination case study

    Get PDF
    For some time now, the open-source (OS) phenomenon has been making its presence felt; disrupting the economics of the software industry and, by proxy, the business of education. A combination of the financial pressure Higher Education Institutions (HEIs) find themselves under and the increasing focus on the use of technology to enhance students' learning have encouraged many HEIs to look towards alternative approaches to teaching and learning. Meanwhile, the "OS" has challenged assumptions about how intellectual products are created and protected and has greatly increased the quantity and arguably the quality of educational technologies available to HEIs

    GNS3 for Security Practitioners

    Get PDF
    This guide is only a small part of the security content that can be learned during the "Master's Degree in Computer Engineering" - Cybersecurity Degree. The guide is used by the students as reinforcement during practical classes, but there is much more content that is not found in the guide. Indeed, the student has access to the virtual machine resulting from the steps in the guide (including all the scripts and networks configured for GNS3), so these steps are only used if the student wants to set up their own environment at home. Moreover, vulnerability analyses are very dependent on the living system. The student learns how to use Metasploit and other pentesting tools during the course, although this is not included in deep in the guide. This guide is only a first step towards cybersecurity training.The objective of this guide is to provide useful information for the deployment of a virtual laboratory using GNS3 with the aim of testing security features. In this guide GNS3 is used together with other tools for training in network security. It is possible to install all these tools in a single virtual machine. In addition, the virtual machine must have nested virtualisation enabled in order to run inside other virtual machines (e.g. Kali Linux)

    EDOS deliverable WP2-D2.2: Report on Formal Management of Software Dependencies

    Get PDF
    Our focus is mainly on the issues related to dependency management for large sets of software packages, with a particular attention to what must be done to maintain consistency of a software distribution on the repository side, as opposed to maintaining a set of packages on a client machine

    Dinamización de cargas de trabajo HPC/HTC: conciliando modelos “onpremise” y “cloud computing”

    Get PDF
    ABSTRACT: Cloud computing has grown tremendously in the last decade, evolving from being a mere technological concept to be considered a full business model. Some entities like companies or research groups, that have a need for computational power are beginning to consider a full migration of their systems to the cloud. However, following the trend of full migration to the cloud might not be the optimal option, perhaps, not everything is black and white and the answer could be found somewhere in between. Although great efforts are being made in the development and implementation of the so called hybrid cloud by companies that manage the biggest commercial cloud environments, namely Google, Amazon and Microsoft, most of them are focused in the creation of software developing platforms like in the case of Azure Stack from Microsoft Azure, that helps to develop hybrid applications that can be executed both locally and in the cloud. Meanwhile, the provisioning of execution environments for HPC/HTC applications seems that to be relegated to the background. In part, this could be because currently there is a low demand for these environments. This low demand can be motivated by many factors among which it is worth highlighting the necessity of having really specialised hardware, the overhead introduced by virtualization and last, but not least, the economic impact usually associated to this kind of customized infrastructures in contrast with more standard ones. With these limitations in mind and the fact that, in most of the cases, complete migration to the cloud is limited by the previous existence of a local infrastructure that provides computing and storage resources, this thesis explores an intermediate path between on-premise (local) and cloud computing. This kind of solution will allow an HPC/HTC user to benefit from the cloud schema in a transparent way, maintaining the on-premise environment that he is so used with, and also being able to execute jobs in both paradigms. To achieve this, the Hybrid-Infrastructure-as-a-Service Manager (HIaaS-M) framework is created. This framework tries to join both computing paradigms by automating the interaction between them in a way that is eficient and completely transparent to the user. This framework is especially design to be integrated into already existing infrastructures (on-premise); in other words, without the need of changing any of the existing software pieces. The framework is a standalone software that communicates with the existing systems, minimizing the impact that changing the base software and/or infrastructure of an entity could cause. This document describes the whole development process of this modular and configurable framework which allows the integration of previously existing infrastructures with one created in the cloud through a cloud infrastructure provider, adding the alternative of executing jobs in any of the cloud environments provided by cloud providers thanks to the Apache Libcloud library. This document concludes with a proof of concept made over a development cluster (called "cluster2") hosted in the 3MARES Data Processing Center at the Science Faculty of the University of Cantabria. This deployment on a similar to real life environment has allowed to identify the main advantages of the framework, as well as improvement that could be made that are expressed in a suggested roadmap for future work.RESUMEN: Con el enorme crecimiento que ha experimentado la computaciĂłn en la nube durante la Ășltima dĂ©cada, evolucionando desde un concepto tecnolĂłgico a ser considerada un modelo de negocio completo, las entidades que demandan recursos computacionales se empiezan a plantear la migraciĂłn completa de estos recursos a la nube. Sin embargo, seguir esta tendencia de tener todo en la nube puede no ser necesariamente la mejor opciĂłn y, quizĂĄs, como en muchas otras cosas, la respuesta estĂ© en algo intermedio. Si bien actualmente las principales compañías que gestionan los grandes entornos cloud comerciales, como son Google, Microsoft o Amazon, estĂĄn llevando a cabo grandes esfuerzos en el desarrollo e implementaciĂłn de la llamada nube hĂ­brida, estos concentran principalmente su atenciĂłn en la evoluciĂłn de plataformas para desarrollo de software, como ocurre por ejemplo en el caso de Microsoft Azure, con su producto Azure Stack, destinado al desarrollo y ejecuciĂłn de aplicaciones hĂ­bridas (que pueden ejecutar tanto on-premise como en cloud), mientras que los entornos para la ejecuciĂłn de aplicaciones HPC/HTC, parece que quedan relegados a un segundo plano. Su baja demanda actual viene motivada por diversas causas, entre las que caben destacar la necesidad de hardware muy especĂ­fico (en muchas ocasiones de muy altas prestaciones), los problemas derivados del overhead creado por la virtualizaciĂłn, y no menos importante, el factor econĂłmico, ya que este tipo de infraestructuras personalizadas pueden alcanzar un precio mucho mayor que las de configuraciĂłn mĂĄs estĂĄndar. Sabiendo esto y teniendo en cuenta que, en la inmensa mayorĂ­a de casos, migrar completamente a la nube puede ser desaconsejable debido entre otras cosas, a la existencia previa de una infraestructura local que provee de los recursos necesarios, en cuanto a computaciĂłn y almacenamiento se refiere, este trabajo pretende explorar una soluciĂłn a medio camino entre la computaciĂłn on-premise y la computaciĂłn en la nube, o tambiĂ©n llamada cloud-computing, que permita a un usuario HPC/HTC beneficiarse de la computaciĂłn en la nube sin prescindir del entorno on-premise al que estĂĄ acostumbrado, siendo capaz de ejecutar trabajos en ambos entornos. Para ello, se ha desarrollado el framework Hybrid-Infrastructure-as-a-Service Manager (HIaaS-M), que pretende conciliar los dos paradigmas, automatizando la interacciĂłn entre ellos de forma eficiente y completamente transparente para el usuario. Este framework estĂĄ especialmente diseñado para su integraciĂłn en infraestructuras ya existentes (onpremise) de forma tambiĂ©n transparente, es decir, sin necesidad de modificar ninguna pieza software. Su ejecuciĂłn se realiza de manera independiente, como un programa autĂłnomo, que se comunica con los sistemas existentes, minimizando asĂ­ el impacto que puedan suponer posibles cambios en las piezas software que componen la infraestructura donde se vaya a implantar. A lo largo de esta memoria se describe el proceso completo de desarrollo de este framework, modular y configurable, el cual permite la integraciĂłn de una infraestructura computacional existente con la proporcionada por un entorno cloud, añadiendo la posibilidad de ejecutar trabajos en prĂĄcticamente cualquiera de los entornos cloud apoyĂĄndose fundamentalmente en el uso de la librerĂ­a Libcloud. El trabajo culmina con una prueba de concepto realizada sobre el cluster en desarrollo (de nombre cluster2) ubicado en el CPD 3Mares de la Facultad de Ciencias de la Universidad de Cantabria. Este Ășltimo paso nos ha permitido concluir el trabajo identificando las ventajas del framework asĂ­ como algunas consideraciones a tener en cuenta para trabajos futuros.MĂĄster en IngenierĂ­a InformĂĄtic

    The rockerverse : packages and applications for containerisation with R

    Get PDF
    The Rocker Project provides widely used Docker images for R across different application scenarios. This article surveys downstream projects that build upon the Rocker Project images and presents the current state of R packages for managing Docker images and controlling containers. These use cases cover diverse topics such as package development, reproducible research, collaborative work, cloud-based data processing, and production deployment of services. The variety of applications demonstrates the power of the Rocker Project specifically and containerisation in general. Across the diverse ways to use containers, we identified common themes: reproducible environments, scalability and efficiency, and portability across clouds. We conclude that the current growth and diversification of use cases is likely to continue its positive impact, but see the need for consolidating the Rockerverse ecosystem of packages, developing common practices for applications, and exploring alternative containerisation software
    • 

    corecore