219,344 research outputs found

    Automatically Learning Formal Models from Autonomous Driving Software

    Get PDF
    The correctness of autonomous driving software is of utmost importance, as incorrect behavior may have catastrophic consequences. Formal model-based engineering techniques can help guarantee correctness and thereby allow the safe deployment of autonomous vehicles. However, challenges exist for widespread industrial adoption of formal methods. One of these challenges is the model construction problem. Manual construction of formal models is time-consuming, error-prone, and intractable for large systems. Automating model construction would be a big step towards widespread industrial adoption of formal methods for system development, re-engineering, and reverse engineering. This article applies active learning techniques to obtain formal models of an existing (under development) autonomous driving software module implemented in MATLAB. This demonstrates the feasibility of automated learning for automotive industrial use. Additionally, practical challenges in applying automata learning, and possible directions for integrating automata learning into the automotive software development workflow, are discussed

    Recent trends related to the use of formal methods in software engineering

    Get PDF
    An account is given of some recent developments and trends related to the development and use of formal methods in software engineering. Ongoing activities in Europe are focussed on, since there seems to be a notable difference in attitude towards industrial usage of formal methods in Europe and in the U.S. A more detailed account is given of the currently most widespread formal method in Europe: the Vienna Development Method. Finally, the use of Ada is discussed in relation to the application of formal methods, and the potential for constructing Ada-specific tools based on that method is considered

    An integrated approach to high integrity software verification.

    Get PDF
    Computer software is developed through software engineering. At its most precise, software engineering involves mathematical rigour as formal methods. High integrity software is associated with safety critical and security critical applications, where failure would bring significant costs. The development of high integrity software is subject to stringent standards, prescribing best practises to increase quality. Typically, these standards will strongly encourage or enforce the application of formal methods. The application of formal methods can entail a significant amount of mathematical reasoning. Thus, the development of automated techniques is an active area of research. The trend is to deliver increased automation through two complementary approaches. Firstly, lightweight formal methods are adopted, sacrificing expressive power, breadth of coverage, or both in favour of tractability. Secondly, integrated solutions are sought, exploiting the strengths of different technologies to increase automation. The objective of this thesis is to support the production of high integrity software by automating an aspect of formal methods. To develop tractable techniques we focus on the niche activity of verifying exception freedom. To increase effectiveness, we integrate the complementary technologies of proof planning and program analysis. Our approach is investigated by enhancing the SPARK Approach, as developed by Altran Praxis Limited. Our approach is implemented and evaluated as the SPADEase system. The key contributions of the thesis are summarised below: • Configurable and Sound - Present a configurable and justifiably sound approach to software verification. • Cooperative Integration - Demonstrate that more targeted and effective automation can be achieved through the cooperative integration of distinct technologies. • Proof Discovery - Present proof plans that support the verification of exception freedom. • Invariant Discovery - Present invariant discovery heuristics that support the verification of exception freedom. • Implementation as SPADEase - Implement our approach as SPADEase. • Industrial Evaluation - Evaluate SPADEase against both textbook and industrial subprograms

    Formal or informal, practical or impractical: towards integrating formal methods with informal practices in software engineering education

    Get PDF
    Two conflicting schools of thought have been dominating software engineering education. One school stresses on the popular software development methodologies, but horror stories on poorly designed systems are not uncommon. The other school advocates formal methods, but most practitioners regard them as impractical. We recommend that we should bridge the gap between the formal and informal by bringing theory to existing practice. The formalism should be used as a working tool behind popular software development methodologies. Students should not be trained as craftsmen who consider software development as an art and learn only from past mistakes. Nor should they be trained as mathematicians who are more comfortable with theory than applications. Software engineers must be educated as real 'engineers' who are competent with industrial practices as well as the mathematical foundation directly supporting them.postprin

    Analysing students' attitudes towards the learning of specialized software

    Get PDF
    In this article the situation of teaching in engineering courses using specialized software support is evaluated and analysed.The statistics courses in engineering often come off as element of formal exposure to statistical analysis and research methods. The software support during classes intends to facilitate and reinforce learning with computational resolution of statistical specific problems. We report a research that investigates students' attitudes towards computers and their effect on statistics unit performance. The preliminary results of research using a small sample of 47 students enrolled in the experimental statistics unit of the 1st year of the master's degree in industrial engineering from the University of Minho indicate that software perceived usefulness has a positive effect on student success, although perceived ease of use and perceived self-performance do not influence.Fundação para a Ciência e a Tecnologia (FCT

    Certification of open-source software : a role for formal methods?

    Get PDF
    Despiteitshugesuccessandincreasingincorporationincom- plex, industrial-strength applications, open source software, by the very nature of its open, unconventional, distributed development model, is hard to assess and certify in an effective, sound and independent way. This makes its use and integration within safety or security-critical systems, a risk. And, simultaneously an opportunity and a challenge for rigourous, mathematically based, methods which aim at pushing software analysis and development to the level of a mature engineering discipline. This paper discusses such a challenge and proposes a number of ways in which open source development may benefit from the whole patrimony of formal methods.L. S. Barbosa research was partially supported by the CROSS project, under contract PTDC/EIA-CCO/108995/2008

    Construction of data streams applications from functional, non-functional and resource requirements for electric vehicle aggregators. the COSMOS vision

    Get PDF
    COSMOS, Computer Science for Complex System Modeling, is a research team that has the mission of bridging the gap between formal methods and real problems. The goal is twofold: (1) a better management of the growing complexity of current systems; (2) a high quality of the implementation reducing the time to market. The COSMOS vision is to prove this approach in non-trivial industrial problems leveraging technologies such as software engineering, cloud computing, or workflows. In particular, we are interested in the technological challenges arising from the Electric Vehicle (EV) industry, around the EV-charging and control IT infrastructure
    • …
    corecore