8,781 research outputs found

    A framework for the simulation of structural software evolution

    Get PDF
    This is the author's accepted manuscript. The final published article is available from the link below. Copyright @ 2008 ACM.As functionality is added to an aging piece of software, its original design and structure will tend to erode. This can lead to high coupling, low cohesion and other undesirable effects associated with spaghetti architectures. The underlying forces that cause such degradation have been the subject of much research. However, progress in this field is slow, as its complexity makes it difficult to isolate the causal flows leading to these effects. This is further complicated by the difficulty of generating enough empirical data, in sufficient quantity, and attributing such data to specific points in the causal chain. This article describes a framework for simulating the structural evolution of software. A complete simulation model is built by incrementally adding modules to the framework, each of which contributes an individual evolutionary effect. These effects are then combined to form a multifaceted simulation that evolves a fictitious code base in a manner approximating real-world behavior. We describe the underlying principles and structures of our framework from a theoretical and user perspective; a validation of a simple set of evolutionary parameters is then provided and three empirical software studies generated from open-source software (OSS) are used to support claims and generated results. The research illustrates how simulation can be used to investigate a complex and under-researched area of the development cycle. It also shows the value of incorporating certain human traits into a simulation—factors that, in real-world system development, can significantly influence evolutionary structures

    Evolution and Fragility of Mobile Automated Test Suites

    Get PDF
    L'abstract Ăš presente nell'allegato / the abstract is in the attachmen

    An Emulation Framework for Evaluating V2X Communications in C-ITS Applications

    Get PDF
    C-ITS enhances transportation systems with advanced communication tech, enabling vehicle-to-vehicle and vehicle-to-infrastructure data exchange for real-time decision-making. The thesis explores C-ITS concepts, DSRC, and C-V2X tech, and proposes a versatile C-ITS framework for app prototyping and communication evaluation. Real-world tests and simulations validate its potential to improve road safety and efficiency, suggesting integration opportunities for stakeholders and promoting a smarter, sustainable transportation ecosystem

    VisualOCV: Refined Dataflow Programming Interface for OpenCV

    Get PDF
    OpenCV is a popular tool for developing computer vision algorithms; however, prototyping OpenCV-based algorithms is a time consuming and iterative process. VisualOCV is an open source tool to help users better understand and create computer vision algorithms. A user can see how data is processed at each step in their algorithm, and the results of any changes to the algorithm will be displayed to the user immediately. This can allow the user to easily experiment with various computer vision methods and their parameters. EyeCalc 1.0 uses the Microsoft Foundation Class Library, an old GUI framework by Microsoft, and contains various bugs. This project recreated EyeCalc 1.0 with C# to create a back-end library and Windows Presentation Foundation for the GUI. The back-end library is written with .Net Standard 2.0, which will allow it to be easily ported to other platforms in the future. Various new features have been added, such as the ability to combine a set of operators into a macro, or the ability to add new operators without needing access to the source code

    Emergent Frameworks for Decision Support Systems

    Get PDF
    Knowledge is generated and accessed from heterogeneous spaces. The recent advances in in-formation technologies provide enhanced tools for improving the efficiency of knowledge-based decision support systems. The purpose of this paper is to present the frameworks for developing the optimal blend of technologies required in order to better the knowledge acquisition and reuse in large scale decision making environments. The authors present a case study in the field of clinical decision support systems based on emerging technologies. They consider the changes generated by the upraising social technologies and the challenges brought by the interactive knowledge building within vast online communities.Knowledge Acquisition, CDDSS, 2D Barcodes, Mobile Interface

    Improving Pipelining Tools for Pre-processing Data

    Get PDF
    The last several years have seen the emergence of data mining and its transformation into a powerful tool that adds value to business and research. Data mining makes it possible to explore and find unseen connections between variables and facts observed in different domains, helping us to better understand reality. The programming methods and frameworks used to analyse data have evolved over time. Currently, the use of pipelining schemes is the most reliable way of analysing data and due to this, several important companies are currently offering this kind of services. Moreover, several frameworks compatible with different programming languages are available for the development of computational pipelines and many research studies have addressed the optimization of data processing speed. However, as this study shows, the presence of early error detection techniques and developer support mechanisms is very limited in these frameworks. In this context, this study introduces different improvements, such as the design of different types of constraints for the early detection of errors, the creation of functions to facilitate debugging of concrete tasks included in a pipeline, the invalidation of erroneous instances and/or the introduction of the burst-processing scheme. Adding these functionalities, we developed Big Data Pipelining for Java (BDP4J, https://github.com/sing-group/bdp4j), a fully functional new pipelining framework that shows the potential of these features

    Display Viewer 5:n Savutestaaminen

    Get PDF
    In this thesis, software industry testing standards were reviewed to help improve NAPCON Display Viewer 5 (DV5) test coverage. DV5 is the graphical user interface part of the NAPCON Operator Training Simulator (OTS) and has a large existing codebase with no existing testing procedures. To help improve build stability a shallow and wide smoke testing approach would be adopted to cover as much core functionality as possible, before more rigorous end-to-end testing could be implemented. The thesis study was conducted using the design science methodology. As part of this thesis, a smoke testing tool was created to test DV5 display and faceplate opening functionality. DV5 simulator configurations can consist of up to several hundreds of displays and display construction requires a lot of manual work. Using the created tool, tests were conducted in several display repositories to determine the functionality of the display sets. With only shallow automated testing, minor errors were found in most of the tested repositories, demonstrating the usefulness of automated testing with large display sets. In addition to the display testing results the display testing execution helped demonstrate some of the DV5 performance issues. Based on these findings, the smoke testing scenarios could prove useful in the future in DV5 performance testing

    Improving pipelining tools for pre-processing data

    Get PDF
    The last several years have seen the emergence of data mining and its transformation into a powerful tool that adds value to business and research. Data mining makes it possible to explore and find unseen connections between variables and facts observed in different domains, helping us to better understand reality. The programming methods and frameworks used to analyse data have evolved over time. Currently, the use of pipelining schemes is the most reliable way of analysing data and due to this, several important companies are currently offering this kind of services. Moreover, several frameworks compatible with different programming languages are available for the development of computational pipelines and many research studies have addressed the optimization of data processing speed. However, as this study shows, the presence of early error detection techniques and developer support mechanisms is very limited in these frameworks. In this context, this study introduces different improvements, such as the design of different types of constraints for the early detection of errors, the creation of functions to facilitate debugging of concrete tasks included in a pipeline, the invalidation of erroneous instances and/or the introduction of the burst-processing scheme. Adding these functionalities, we developed Big Data Pipelining for Java (BDP4J, https://github.com/sing-group/bdp4j), a fully functional new pipelining framework that shows the potential of these features.Agencia Estatal de InvestigaciĂłn | Ref. TIN2017-84658-C2-1-RXunta de Galicia | Ref. ED481D-2021/024Xunta de Galicia | Ref. ED431C2018/55-GR
    • 

    corecore