English
Related papers

Related papers: Model Checking a C++ Software Framework, a Case St…

200 papers

Although an ever-growing number of applications employ deep learning based systems for prediction, decision-making, or state estimation, almost no certification processes have been established that would allow such systems to be deployed in…

Machine Learning · Computer Science 2024-03-25 Romeo Valentin

The success of Deep Learning and its potential use in many safety-critical applications has motivated research on formal verification of Neural Network (NN) models. Despite the reputation of learned NN models to behave as black boxes and…

Artificial Intelligence · Computer Science 2018-05-23 Rudy Bunel , Ilker Turkaslan , Philip H. S. Torr , Pushmeet Kohli , M. Pawan Kumar

In recent years there has been a considerable effort in optimising formal methods for application to code. This has been driven by tools such as CPAChecker, DIVINE, and CBMC. At the same time tools such as Uppaal have been massively…

Software Engineering · Computer Science 2021-08-09 Mitja Kulczynski , Axel Legay , Dirk Nowotka , Danny Bøgsted Poulsen

This paper deals with a common verification methodology and environment for SystemC BCA and RTL models. The aim is to save effort by avoiding the same work done twice by different people and to reuse the same environment for the two design…

Logic in Computer Science · Computer Science 2011-11-09 Giuseppe Falconeri , Walid Naifer , Nizar Romdhane

Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers…

Programming Languages · Computer Science 2025-04-04 Yiyuan Cao , Jiayi Zhuang , Houjin Chen , Jinkai Fan , Wenbo Xu , Zhiyi Wang , Di Wang , Qinxiang Cao , Yingfei Xiong , Haiyan Zhao , Zhenjiang Hu

Model checking of real-time systems has evolved throughout the years. Recently, the model checker Ecdar, using timed I/O automata, was used to perform compositional verification. However, in order to fully integrate model checking of…

Software Engineering · Computer Science 2018-09-12 Tobias R. Gundersen , Florian Lorber , Ulrik Nyman , Christian Ovesen

This paper presents a novel approach to the design verification of Software Product Lines(SPL). The proposed approach assumes that the requirements and designs are modeled as finite state machines with variability information. The…

Software Engineering · Computer Science 2012-12-19 Jean-Vivien Millo , S. Ramesh , Shankara Narayanan Krishna , Ganesh Khandu Narwane

As Software Product Lines (SPLs) are becoming a more pervasive development practice, their effective testing is becoming a more important concern. In the past few years many SPL testing approaches have been proposed, among them, are those…

Modern software design practice implies widespread use in the development of ready-made components, usually designed as external libraries. The undoubted advantages of reusing third-party code can be offset by integration errors that appear…

Software Engineering · Computer Science 2022-02-09 Vladislav Feofilaktov , Vladimir Itsykson

Inline assembly is still a common practice in low-level C programming, typically for efficiency reasons or for accessing specific hardware resources. Such embedded assembly codes in the GNU syntax (supported by major compilers such as GCC,…

Programming Languages · Computer Science 2021-02-16 Frédéric Recoules , Sébastien Bardin , Richard Bonichon , Matthieu Lemerre , Laurent Mounier , Marie-Laure Potet

Checking how well a fitted model explains the data is one of the most fundamental parts of a Bayesian data analysis. However, existing model checking methods suffer from trade-offs between being well-calibrated, automated, and…

Methodology · Statistics 2024-05-24 Jiawei Li , Jonathan H. Huggins

In this paper we show how prescritive type checking and constraint solving can be combined to increase automation during software verification. We do so by defining a type system and implementing a typechecker for {log} (read `setlog'), a…

Logic in Computer Science · Computer Science 2025-01-22 Maximiliano Cristiá , Gianfranco Rossi

We describe our experiences in using SPIN to verify parts of the Multi Purpose Daemon (MPD) parallel process management system. MPD is a distributed collection of processes connected by Unix network sockets. MPD is dynamic: processes and…

Logic in Computer Science · Computer Science 2007-05-23 O. S. Matlin , E. Lusk , W. McCune

This paper presents an evaluation of the code representation model Code2vec when trained on the task of detecting security vulnerabilities in C source code. We leverage the open-source library astminer to extract path-contexts from the…

Cryptography and Security · Computer Science 2021-06-04 David Coimbra , Sofia Reis , Rui Abreu , Corina Păsăreanu , Hakan Erdogmus

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

Detecting code clones is crucial in various software engineering tasks. In particular, code clone detection can have significant uses in the context of analyzing and fixing bugs in large scale applications. However, prior works, such as…

Software Engineering · Computer Science 2020-09-23 Hongfa Xue , Yongsheng Mei , Kailash Gogineni , Guru Venkataramani , Tian Lan

Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with…

Software Engineering · Computer Science 2015-08-20 Carlo A. Furia , Christopher M. Poskitt , Julian Tschannen

Finding the same or similar code snippets in source code is one of fundamental activities in software maintenance. Text-based pattern matching tools such as grep is frequently used for such purpose, but making proper queries for the…

Software Engineering · Computer Science 2020-03-13 Katsuro Inoue , Yuya Miyamoto , Daniel M. German , Takashi Ishio

Continuous testing during development is a well-established technique for software-quality assurance. Continuous model checking from revision to revision is not yet established as a standard practice, because the enormous resource…

Software Engineering · Computer Science 2013-05-30 Dirk Beyer , Stefan Löwe , Evgeny Novikov , Andreas Stahlbauer , Philipp Wendler

This work presents a model-based development methodology for verified software systems as well as a tool support for it: an applied AutoFocus tool chain and its basic principles emphasizing the verification of the system under development…

Software Engineering · Computer Science 2012-07-11 Maria Spichkova , Florian Hölzl , David Trachtenherz