194 research outputs found

    Compiler fuzzing: how much does it matter?

    Get PDF
    Despite much recent interest in randomised testing (fuzzing) of compilers, the practical impact of fuzzer-found compiler bugs on real-world applications has barely been assessed. We present the first quantitative and qualitative study of the tangible impact of miscompilation bugs in a mature compiler. We follow a rigorous methodology where the bug impact over the compiled application is evaluated based on (1) whether the bug appears to trigger during compilation; (2) the extent to which generated assembly code changes syntactically due to triggering of the bug; and (3) whether such changes cause regression test suite failures, or whether we can manually find application inputs that trigger execution divergence due to such changes. The study is conducted with respect to the compilation of more than 10 million lines of C/C++ code from 309 Debian packages, using 12% of the historical and now fixed miscompilation bugs found by four state-of-the-art fuzzers in the Clang/LLVM compiler, as well as 18 bugs found by human users compiling real code or as a by-product of formal verification efforts. The results show that almost half of the fuzzer-found bugs propagate to the generated binaries for at least one package, in which case only a very small part of the binary is typically affected, yet causing two failures when running the test suites of all the impacted packages. User-reported and formal verification bugs do not exhibit a higher impact, with a lower rate of triggered bugs and one test failure. The manual analysis of a selection of the syntactic changes caused by some of our bugs (fuzzer-found and non fuzzer-found) in package assembly code, shows that either these changes have no semantic impact or that they would require very specific runtime circumstances to trigger execution divergence

    Model-Based Programming of Modular Robots

    Get PDF
    Modular robots are a powerful concept for robotics. A modular robot consists of many individual modules so it can adjust its configuration to the problem. However, the fact that a modular robot consists of many individual modules makes it a highly distributed, highly concurrent real-time system, which are notoriously hard to program. In this work, we present our programming framework for writing control applications for modular robots. The framework includes a toolset that allows a model-based programing approach for control application of modular robots with code generation and verification. The framework is characterized by the following three features. First, it provides a complex programming model that is based on standard finite state machines extended in syntax and semantics to support communication, variables, and actions. Second, the framework provides compositionality at the hardware and at the software level and allows building the modular robot and its control application from small building blocks. And third, the framework supports formal verification of the control application to aid the gait and task developer in identifying problems and bugs before the deployment and testing on the physical robot

    Software Engineering 2021 : Fachtagung vom 22.-26. Februar 2021 Braunschweig/virtuell

    Get PDF

    Formal Specification Driven Development

    Get PDF
    This paper researches a quantitative metric of investigating Formal Specification-Driven Development (FSDD). Formal specification is needed at the beginning of the development process to prevent ambiguity and to improve the quality through corrections of errors found in the late phases of a traditional design process, Software Development Life Cycle (SDLC). The research is conducted with capstone students using both the FSDD and the SDLC (traditional) models and a quantitative analysis is presented to evaluate the internal quality of the software. The tool used to measure the internal quality is the .NET 2013 analysis tool. Formal Specification-Driven Development (FSDD) is a new approach in which formal specification is used and functional units of code are incrementally written and tested prior to the code implementation. In the research, there is a comparative study of Formal Specification-Driven Development with the traditional model. This research realized the promising attributes of Formal Specification Driven Development. It promotes the incorporation of FSDD in the software development process. FSDD is radically different from the traditional ways of developing software. In the traditional software development model (SDLC), the tests are written after code implementation. In FSDD the test occurs during development. This model is more of a programmer’s process. This study is the first complete evaluation of how FSDD affects software development and internal design quality. The study was carried out with students in a Software Engineering Capstone class. The research included a semester-long project to develop a ticketing system. This research demonstrated that software developers applying Formal Specification-Driven Development (FSDD) approach are likely to improve some software quality aspects compared to Software Development Life Cycle (FSDD) approach. In particular this research has shown significant differences in the areas of code complexity and size statistically. The differences in internal quality can considerably improve the external software quality, software maintainability, software understandability, and software re-usability. The research establishes a standard for future studies. It focused mainly on the software process. This research is going to raise awareness of FSDD as a new software development approach to explore further

    University of Wollongong Postgraduate Calendar 1996

    Get PDF

    Methods of interpreting magnetic anomalies with application to the Minch dyke and magnetic anomalies over the lower and middle Benue trough of Nigeria

    Get PDF
    A method of combined least squares and non-linear optimisation for the interpretation of magnetic anomalies over dykes is here presented. The method seeks to minimise a non-linear objective function by iteratively varying the non-linear parameters of the dyke while obtaining optimum values of the linear parameters by least squares analysis until an acceptable fit is obtained between the observed and computed anomalies. A study of the effects of demagnetization in arbitrarily shaped bodies and methods for evaluating the demagnetization effects of such bodies are also presented. Sixteen profiles have been taken across a linear magnetic feature which intersects the North Minch on the North Scottish Shelf. These have been interpreted in terms of a dyke about 1 km wide using the non-linear optimization techniques developed. The dyke is reversely magnetized in a direction consistent with its Tertiary origin. An aeromagnetic study of the Lower and Middle Benue Trough of Nigeria has been carried out. Regions of high and low magnetic anomalies have been correlated in an effort to find trends. Two-dimensional interpretation of several aeromagnetic profiles across the trough has been carried out. Interpretation of the observed anomalies in terms of topographic variations of the basement led to rather unreasonable models. The anomalies were best interpreted in terms of basic intrusive bodies which could occur either predominantly within the Cretaceous sediments or within the metamorphic basement. The model intrusives have variable thicknesses and directions of magnetization, suggesting that although derived from the same basic mantle material, the intrusions were emplaced at different polarity epochs. An attempt is also made to explain the tectonic evolution of the trough in terms of the models obtained
    • …
    corecore