575,352 research outputs found

    Optimization of patch antennas via multithreaded simulated annealing based design exploration

    Get PDF
    In this paper, we present a new software framework for the optimization of the design of microstrip patch antennas. The proposed simulation and optimization framework implements a simulated annealing algorithm to perform design space exploration in order to identify the optimal patch antenna design. During each iteration of the optimization loop, we employ the popular MEEP simulation tool to evaluate explored design solutions. To speed up the design space exploration, the software framework is developed to run multiple MEEP simulations concurrently. This is achieved using multithreading to implement a manager-workers execution strategy. The number of worker threads is the same as the number of cores of the computer that is utilized. Thus, the computational runtime of the proposed software framework enables effective design space exploration. Simulations demonstrate the effectiveness of the proposed software framework

    An experimental evaluation of software redundancy as a strategy for improving reliability

    Get PDF
    The strategy of using multiple versions of independently developed software as a means to tolerate residual software design faults is suggested by the success of hardware redundancy for tolerating hardware failures. Although, as generally accepted, the independence of hardware failures resulting from physical wearout can lead to substantial increases in reliability for redundant hardware structures, a similar conclusion is not immediate for software. The degree to which design faults are manifested as independent failures determines the effectiveness of redundancy as a method for improving software reliability. Interest in multi-version software centers on whether it provides an adequate measure of increased reliability to warrant its use in critical applications. The effectiveness of multi-version software is studied by comparing estimates of the failure probabilities of these systems with the failure probabilities of single versions. The estimates are obtained under a model of dependent failures and compared with estimates obtained when failures are assumed to be independent. The experimental results are based on twenty versions of an aerospace application developed and certified by sixty programmers from four universities. Descriptions of the application, development and certification processes, and operational evaluation are given together with an analysis of the twenty versions

    A theoretical basis for the analysis of redundant software subject to coincident errors

    Get PDF
    Fundamental to the development of redundant software techniques fault-tolerant software, is an understanding of the impact of multiple-joint occurrences of coincident errors. A theoretical basis for the study of redundant software is developed which provides a probabilistic framework for empirically evaluating the effectiveness of the general (N-Version) strategy when component versions are subject to coincident errors, and permits an analytical study of the effects of these errors. The basic assumptions of the model are: (1) independently designed software components are chosen in a random sample; and (2) in the user environment, the system is required to execute on a stationary input series. The intensity of coincident errors, has a central role in the model. This function describes the propensity to introduce design faults in such a way that software components fail together when executing in the user environment. The model is used to give conditions under which an N-Version system is a better strategy for reducing system failure probability than relying on a single version of software. A condition which limits the effectiveness of a fault-tolerant strategy is studied, and it is posted whether system failure probability varies monotonically with increasing N or whether an optimal choice of N exists

    Preliminary design of the redundant software experiment

    Get PDF
    The goal of the present experiment is to characterize the fault distributions of highly reliable software replicates, constructed using techniques and environments which are similar to those used in comtemporary industrial software facilities. The fault distributions and their effect on the reliability of fault tolerant configurations of the software will be determined through extensive life testing of the replicates against carefully constructed randomly generated test data. Each detected error will be carefully analyzed to provide insight in to their nature and cause. A direct objective is to develop techniques for reducing the intensity of coincident errors, thus increasing the reliability gain which can be achieved with fault tolerance. Data on the reliability gains realized, and the cost of the fault tolerant configurations can be used to design a companion experiment to determine the cost effectiveness of the fault tolerant strategy. Finally, the data and analysis produced by this experiment will be valuable to the software engineering community as a whole because it will provide a useful insight into the nature and cause of hard to find, subtle faults which escape standard software engineering validation techniques and thus persist far into the software life cycle

    An Empirical Investigation of Software Testing Methods and Techniques in the Province of Vojvodina

    Get PDF
    A high-quality test design is a conditio sine qua non of successful software testing process, and its effectiveness depends, among other things, on the choice and proper use of appropriate methods and relevant software testing techniques. The main goal of this study was to provide insight into the use of current methods and relevant software testing techniques used in the test design phase of software testing process in software companies in the Province of Vojvodina. The empirical study was conducted by a survey research strategy in twenty-four software organisations. Eighty-three respondents took part in the survey. Descriptive analysis, correlation analysis, hierarchical cluster analysis, the multidimensional scaling, binomial test and Cohran\u27s Q test were used for analyzing gathered quantitative data. The survey results have shown that respondents use to a significant extent the techniques belonging to ISO/IEC/IEEE 29119 testing standard. Comparison of the gathered data with individual results of similar studies conducted in Canada, Australia and Turkey has shown similarities between them and companies in the Province of Vojvodina. The findings of this study present empirically verified recommendations for testing design phase realization in the form of least and most used software testing methods and techniques, their benefits, limitations and details in application, similarities between software testing techniques, software testing techniques clusters and the probability of use of individual techniques

    Measuring Coordination in Agile Software Development

    Get PDF
    Coordination has long been recognized as contributing to successful IT projects. Agile software development provides many practices for achieving project coordination in small co-located projects. Given the importance of coordination to successful software development projects and the increasing popularity of agile software development, investigating coordination in this context is timely and potentially useful. This paper takes an existing theory of coordination in co-located agile software development projects developed from case study research and proposes a field test of that theory. The question addressed is what is the effect of an agile coordination strategy on coordination effectiveness in co-located software development projects? This paper describes the initial theory of coordination and a research design for field-testing that theory

    Categorization of Security Design Patterns

    Get PDF
    Strategies for software development often slight security-related considerations, due to the difficulty of developing realizable requirements, identifying and applying appropriate techniques, and teaching secure design. This work describes a three-part strategy for addressing these concerns. Part 1 provides detailed questions, derived from a two-level characterization of system security based on work by Chung et. al., to elicit precise requirements. Part 2 uses a novel framework for relating this characterization to previously published strategies, or patterns, for secure software development. Included case studies suggest the framework\u27s effectiveness, involving the application of three patterns for secure design (Limited View, Role-Based Access Control, Secure State Machine) to a production system for document management. Part 3 presents teaching modules to introduce patterns into lower-division computer science courses. Five modules, integer over ow, input validation, HTTPS, les access, and SQL injection, are proposed for conveying an aware of security patterns and their value in software development

    Software-Based Circle Technology in Dinagat Geometry Class: A Single Subject Research

    Get PDF
    Present study investigated the effectiveness of the use of technology software-based instruction in learning Circle Geometry, the extent of the students' interest on the use of this strategy, and designs a classification model through Discriminant Analysis forcasting students' performance as to having mastered or not the lessons based on their interest on the use of the strategy. The study utilized single subject research design to the thirty-one Grade 10 students in Llamera National High School, Dinagat Islands Division. Trend analysis and repeated ANOVA results revealed that most students' performance in circle geometry improved throughout the intervention of technology software-based instruction and the gap between the high achieving and low achieving students was reduced. Students also perceived high interest in learning geometry through the intervention. Indeed, technology software-based instruction recuperates knowledge in Circle Geometry. Accordingly, the capability to visualize the lesson through the software-based instruction is the best predictor of the students' mastery in circle geometry
    corecore