127,581 research outputs found

    Dependable and Certifiable Real-World Systems – Issue of Software Engineering Education

    Get PDF
    Embedded software and dedicated hardware are vital elements of the modern world, from personal electronics to transportation, from communication to aerospace, from military to gaming, from medical systems to banking. Combinations of even minor hardware or software defects in a complex system may lead to violation of safety with or even without evident system failure, a major problem that the computing profession faces is the lack of a universal approach to unite the dissimilar viewpoints presented by computer science, with its discrete and mathematical underpinnings, and by computer engineering, which focuses on building real systems and considering spatial and material constraints of space, energy, and time. Modern embedded systems include both viewpoints: microprocessors running software and programmable electronic hardware created with an extensive use of software. The gap between science and engineering approaches is clearly visible in engineering education. This survey paper focuses on exploring the commonalities between building software and building hardware in an attempt to establish a new framework for rejuvenating computing education, specifically software engineering for dependable systems. We present here a perspective on software/hardware relationship, aviation system certification, role of software engineering education, and future directions in computing

    Robust Dynamic Selection of Tested Modules in Software Testing for Maximizing Delivered Reliability

    Full text link
    Software testing is aimed to improve the delivered reliability of the users. Delivered reliability is the reliability of using the software after it is delivered to the users. Usually the software consists of many modules. Thus, the delivered reliability is dependent on the operational profile which specifies how the users will use these modules as well as the defect number remaining in each module. Therefore, a good testing policy should take the operational profile into account and dynamically select tested modules according to the current state of the software during the testing process. This paper discusses how to dynamically select tested modules in order to maximize delivered reliability by formulating the selection problem as a dynamic programming problem. As the testing process is performed only once, risk must be considered during the testing process, which is described by the tester's utility function in this paper. Besides, since usually the tester has no accurate estimate of the operational profile, by employing robust optimization technique, we analysis the selection problem in the worst case, given the uncertainty set of operational profile. By numerical examples, we show the necessity of maximizing delivered reliability directly and using robust optimization technique when the tester has no clear idea of the operational profile. Moreover, it is shown that the risk averse behavior of the tester has a major influence on the delivered reliability.Comment: 19 pages, 4 figure

    Integrating automated support for a software management cycle into the TAME system

    Get PDF
    Software managers are interested in the quantitative management of software quality, cost and progress. An integrated software management methodology, which can be applied throughout the software life cycle for any number purposes, is required. The TAME (Tailoring A Measurement Environment) methodology is based on the improvement paradigm and the goal/question/metric (GQM) paradigm. This methodology helps generate a software engineering process and measurement environment based on the project characteristics. The SQMAR (software quality measurement and assurance technology) is a software quality metric system and methodology applied to the development processes. It is based on the feed forward control principle. Quality target setting is carried out before the plan-do-check-action activities are performed. These methodologies are integrated to realize goal oriented measurement, process control and visual management. A metric setting procedure based on the GQM paradigm, a management system called the software management cycle (SMC), and its application to a case study based on NASA/SEL data are discussed. The expected effects of SMC are quality improvement, managerial cost reduction, accumulation and reuse of experience, and a highly visual management reporting system

    Software development: A paradigm for the future

    Get PDF
    A new paradigm for software development that treats software development as an experimental activity is presented. It provides built-in mechanisms for learning how to develop software better and reusing previous experience in the forms of knowledge, processes, and products. It uses models and measures to aid in the tasks of characterization, evaluation and motivation. An organization scheme is proposed for separating the project-specific focus from the organization's learning and reuse focuses of software development. The implications of this approach for corporations, research and education are discussed and some research activities currently underway at the University of Maryland that support this approach are presented
    • …
    corecore