English
Related papers

Related papers: Specification Slicing for VDM-SL

200 papers

Program slicing is a technique for simplifying programs by focusing on selected aspects of their behaviour. Current mainstream static slicing methods operate on the PDG (program dependence graph) or SDG (system dependence graph), but these…

Programming Languages · Computer Science 2019-03-14 Yingzhou Zhang

IT services provisioning is usually underpinned by service level agreements (SLAs), aimed at guaranteeing services quality. However, there is a gap between the customer perspective (business oriented) and that of the service provider…

Software Engineering · Computer Science 2011-10-03 Anacleto Correia , Fernando Brito e Abreu , Vasco Amaral

Automated testing plays a crucial role in ensuring software security. It heavily relies on formal specifications to validate the correctness of the system behavior. However, the main approach to defining these formal specifications is…

Software Engineering · Computer Science 2025-04-03 Hui Li , Zhen Dong , Siao Wang , Hui Zhang , Liwei Shen , Xin Peng , Dongdong She

Virtually all verification techniques using formal methods rely on the availability of a formal specification, which describes the design requirements precisely. However, formulating specifications remains a manual task that is notoriously…

Formal Languages and Automata Theory · Computer Science 2025-01-28 Daniel Neider , Rajarshi Roy

Writing correct distributed programs is hard. In spite of extensive testing and debugging, software faults persist even in commercial grade software. Many distributed systems, especially those employed in safety-critical environments,…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Neeraj Mittal , Vijay K. Garg

This paper introduces Hardcaml, an embedded hardware design domain specific language (DSL) implemented in the OCaml programming language. Unlike high level synthesis (HLS), Hardcaml allows for low level control of the underlying hardware…

Programming Languages · Computer Science 2023-12-27 Andy Ray , Benjamin Devlin , Fu Yong Quah , Rahul Yesantharao

Recent advances in large language models (LLMs) for code applications have demonstrated remarkable zero-shot fluency and instruction following on challenging code related tasks ranging from test case generation to self-repair.…

Context: Specification mining techniques are typically used to extract the specification of a software in the absence of (up-to-date) specification documents. This is useful for program comprehension, testing, and anomaly detection.…

Software Engineering · Computer Science 2019-05-09 Mohammad Jafar Mashhadi , Taha R. Siddiqui , Hadi Hemmati , Howard Loewen

Program slicing is a critical technique in software engineering, enabling developers to isolate relevant portions of code for tasks such as bug detection, code comprehension, and debugging. In this study, we investigate the application of…

Software Engineering · Computer Science 2024-09-20 Kimya Khakzad Shahandashti , Mohammad Mahdi Mohajer , Alvine Boaye Belle , Song Wang , Hadi Hemmati

We introduce MCMAS-SLK, a BDD-based model checker for the verification of systems against specifications expressed in a novel, epistemic variant of strategy logic. We give syntax and semantics of the specification language and introduce a…

Logic in Computer Science · Computer Science 2014-05-19 Petr Čermák , Alessio Lomuscio , Fabio Mogavero , Aniello Murano

In this position paper, we present a prototype of a visualizer for functional programs. Such programs, whose evaluation model is the reduction of an expression to a value through repeated application of rewriting rules, and which tend to…

Programming Languages · Computer Science 2024-11-04 John Whitington , Tom Ridge

Design of large software systems requires rigorous application of software engineering methods covering all phases of the software process. Debugging during the early design phases is extremely important, because late bug-fixes are…

Software Engineering · Computer Science 2007-05-23 Johann Schumann

A key aspect in creating models of production systems with the use of model-based systems engineering (MBSE) lies in the description of system functions. These functions shouldbe described in a clear and standardized manner.The VDI/VDE 3682…

Software Engineering · Computer Science 2024-03-12 Lasse Beers , Hamied Nabizada , Maximilian Weigand , Felix Gehlhoff , Alexander Fay

Summary: More sophisticated models are needed to address problems in bioscience, synthetic biology, and precision medicine. To help facilitate the collaboration needed for such models, the community developed the Simulation Experiment…

Programs with constraints are hard to debug. In this paper, we describe a general architecture to help develop new debugging tools for constraint programming. The possible tools are fed by a single general-purpose tracer. A tracer-driver is…

Software Engineering · Computer Science 2007-05-23 Ludovic Langevine , Mireille Ducasse

Static program slicing, which extracts the executable portions of a program that affect the values at a specific location, supports many software analysis tasks such as debugging and security auditing. However, traditional slicing tools…

Software Engineering · Computer Science 2025-07-28 Jianming Chang , Jieke Shi , Yunbo Lyu , Xin Zhou , Lulu Wang , Zhou Yang , Bixin Li , David Lo

Disassembly is a challenging task, particularly for obfuscated executables containing junk bytes, which is designed to induce disassembly errors. Existing solutions rely on heuristics or leverage machine learning techniques, but only…

Cryptography and Security · Computer Science 2024-07-15 Huanyao Rong , Yue Duan , Hang Zhang , XiaoFeng Wang , Hongbo Chen , Shengchen Duan , Shen Wang

TextFormats is a software system for efficient and user-friendly creation of text format specifications, accessible from multiple programming languages (C/C++, Python, Nim) and the Unix command line. To work with a format, a specification…

Programming Languages · Computer Science 2023-02-01 Giorgio Gonnella

Dynamic program slicing can significantly reduce the code developers need to inspect by narrowing it down to only a subset of relevant program statements. However, despite an extensive body of research showing its usefulness, dynamic…

Software Engineering · Computer Science 2022-01-04 Bogdan Alexandru Stoica , Swarup K. Sahoo , James R. Larus , Vikram S. Adve

Virtually all verification and synthesis techniques assume that the formal specifications are readily available, functionally correct, and fully match the engineer's understanding of the given system. However, this assumption is often…

Formal Languages and Automata Theory · Computer Science 2022-06-15 Simon Lutz , Daniel Neider , Rajarshi Roy