5 research outputs found

    Prototype test insertion co-processor for agile development in multi-threaded embedded environments

    Get PDF
    Agile methodologies have been shown useful in constructing Enterprise applications with a reduced level of defects in the released product. Movement of Agile processes into the embedded world is hindered by the lack of suitable tool support. For example, software instrumented test insertion methods to detect race condition in multithreaded programs have the potential to increase code size beyond the limited embedded system memory, and degrade performance to an extent that would impair the real-time characteristics of the system. We propose a FPGA-based, hardware assisted, test insertion co-processor for embedded systems which introduces low additional system overhead and incurs minimal code size increase. In this preliminary study, we compare the ideal characteristics of a FPGA-based test insertion co-processor with our initial prototype and other proposed hardware assisted test insertion approaches

    An Investigation into the Cost of Unit Testing on an Embedded System

    Get PDF
    The quality of embedded software is important, especially for life-critical and mission-critical embedded systems. And software testing is a key activity to ensure the quality of embedded software. Both system testing and unit testing are vital to test embedded software. Unit testing is probably more important to ensure there are no latent faults. System testing is almost invariably done on a target system, but unit testing is normally done on a host system, as standard test frameworks generally don’t support the execution of unit tests on a target system. This paper analyzes the significant quality benefits to run unit testing on a target system. Also, it presents a performance model for evaluating the test execution cost, discusses the experimental results, and identifies the factors which influence the experimen

    The Vortex of Continuous Development of Embedded Systems: An Inquiry into Agility Orchestration

    Get PDF
    Agile methodologies have become a popular and widely accepted method for managing software development. Since the inception of the Agile Manifesto over ten years ago, agile development techniques have superseded waterfall methods in many, if not most, software development organizations. Despite its apparent success, many companies have struggled with the adoption and implementation of agile, and exactly what level of adoption provides optimum agility. Agility is commonly held in the literature to be constructed of elements external to a company or project but may in fact be composed of both external and internal elements. The exact relationship of the adoption of agile development techniques and their relationship to the actual agility of a business remain unclear. A primary contributor to this uncertainty is the somewhat amorphous definition of agile itself. In academic literature, the concept is still relatively young and loosely defined. In practice, organizations have largely opted for a hybrid approach to agile, mixing its concepts and methods with existing Stage Gate or waterfall methodologies. This has made the management of agile even more complex. Crucially, there is no definition or criterion available to determine the appropriate mix of agile and waterfall processes in an embedded software development context nor is there a method to determine the impact of one against the other. These issues beg the question: how do organizations manage agility? This interpretive case study provides an empirical account of how stakeholders manage both market and process agility in an embedded systems context via a hybrid agility implementation and product genesis. As a result, we provide the notion of agile vorticity, as the point at which market and process agility collide to produce business momentum at a specific point of innovation within the agile business vortex

    Reverse Engineering and Testing of Rich Internet Applications

    Get PDF
    The World Wide Web experiences a continuous and constant evolution, where new initiatives, standards, approaches and technologies are continuously proposed for developing more effective and higher quality Web applications. To satisfy the growing request of the market for Web applications, new technologies, frameworks, tools and environments that allow to develop Web and mobile applications with the least effort and in very short time have been introduced in the last years. These new technologies have made possible the dawn of a new generation of Web applications, named Rich Internet Applications (RIAs), that offer greater usability and interactivity than traditional ones. This evolution has been accompanied by some drawbacks that are mostly due to the lack of applying well-known software engineering practices and approaches. As a consequence, new research questions and challenges have emerged in the field of web and mobile applications maintenance and testing. The research activity described in this thesis has addressed some of these topics with the specific aim of proposing new and effective solutions to the problems of modelling, reverse engineering, comprehending, re-documenting and testing existing RIAs. Due to the growing relevance of mobile applications in the renewed Web scenarios, the problem of testing mobile applications developed for the Android operating system has been addressed too, in an attempt of exploring and proposing new techniques of testing automation for these type of applications

    Práticas ágeis no desenvolvimento de sistemas embutidos

    Get PDF
    Mestrado em Engenharia de Computadores e TelemáticaAs metodologias ágeis ganharam popularidade depois de um grupo de profissionais em diferentes métodos de desenvolvimento se juntar e criar um manifesto ágil. Estas metodologias foram criadas com o intuito de melhorar a forma de desenvolver software, tendo como foco principal a satisfação do cliente. Cada vez mais estão a ser usadas em diversos projetos substituindo a abordagem mais tradicional que atualmente ainda está muito presente. Por exemplo, Waterfall é uma metodologia tradicional onde todo o desenvolvimento é planeado deixando pouco espaço para alterações por parte do cliente. O interesse das empresas nestas metodologias tem aumentado. As empresas querem saber mais sobre esta nova forma de desenvolvimento e quais as vantagens que estas vão ter comparando com o seu atual método de desenvolvimento, que geralmente é um método tradicional. A aplicação de metodologias ágeis na área de programação para sistemas embutidos é diferente dos sistemas de informação. O desenvolvimento deste tipo de sistemas tem de ter em conta a parte do hardware e software. No contexto da empresa Exatronic, esta dissertação tem como objetivo investigar a abordagem ágil de forma a recomendar práticas que podem ser adaptadas por esta empresa e com elas obter melhores resultados. A empresa disponibilizou um projeto já terminado para as praticas escolhidas serem aplicadas e simuladas, tendo em conta a plataforma de desenvolvimento Atmel Studio e tipo de processadores Atmel usados pela empresa. As práticas recomendadas foram duas, integração contínua e desenvolvimento orientado por testes, pois são as únicas onde é possível criar um ambiente para a sua utilização e simulação. Por fim, são analisadas as vantagens do uso destas praticas no projeto da empresa.Agile methodologies gained popularity after a group of professionals in different development methods join and create an agile manifesto. These methodologies were created in order to improve the way to develop software, focusing mainly on customer satisfaction. They are increasingly being used in several projects, replacing the more traditional approach currently very present. For example, Waterfall is a traditional approach in which all development is planned, leaving little space for customer changes. The interest of companies in these methodologies has increased. Companies want to know more about this new way of development and what advantages they will have compared to their current development method, which is usually a traditional one. The application of agile methodologies in embedded systems is different from the informational systems. The development of such systems has to take into account the part of hardware and software. In the context of Exatronic company, this dissertation aims to investigate the agile approach in order to recommend practices that could be adapted in the company. Exatronic provided a finished project for the selected practices be implemented and simulated, taking into account the Atmel Studio development platform and the Atmel processors used by the company. The recommended practices were two, continuous integration and test driven development, because they are the only ones where is possible to create an environment for its use and simulation
    corecore