English
Related papers

Related papers: Typestates to Automata and back: a tool

200 papers

Session types allow communication protocols to be specified type-theoretically so that protocol implementations can be verified by static type checking. We extend previous work on session types for distributed object-oriented languages in…

Programming Languages · Computer Science 2017-01-11 Simon J. Gay , Nils Gesbert , António Ravara , Vasco T. Vasconcelos

Relating formal re nement techniques with commercial object oriented software development methods is important to achieve enhancement of the power and exibility of these software development methods and tools. We will present an automata…

Software Engineering · Computer Science 2014-11-11 Bernhard Rumpe , Cornel Klein

In a recent paper by Harrison et al., the concept of program completion is extended to a large class of programs in the input language of the ASP grounder gringo. We would like to automate the process of generating and simplifying…

Logic in Computer Science · Computer Science 2018-10-02 Vladimir Lifschitz , Patrick Lühne , Torsten Schaub

Multiparty session types (MPST) provide a rigorous foundation for verifying the safety and liveness of concurrent systems. However, existing approaches often force a difficult trade-off: classical, projection-based techniques are…

Programming Languages · Computer Science 2025-12-01 David Castro-Perez , Francisco Ferreira , Sung-Shik Jongmans

Policies are designed to distinguish between correct and incorrect actions; they are types. But badly typed actions may cause not compile errors, but financial and reputational harm We demonstrate how even the most complex ABAC policies can…

Cryptography and Security · Computer Science 2025-06-03 Matthew D. Fuchs

Various mature automated test generation tools exist for statically typed programming languages such as Java. Automatically generating unit tests for dynamically typed programming languages such as Python, however, is substantially more…

Software Engineering · Computer Science 2022-07-19 Stephan Lukasczyk , Florian Kroiß , Gordon Fraser

Error detection facilities for dynamic languages are often based on unit testing. Thus, the advantage of rapid prototyping and flexibility must be weighed against cumbersome and time consuming test suite development. Lindahl and Sagonas'…

Programming Languages · Computer Science 2013-06-24 Robert Jakob , Peter Thiemann

This paper describes an abstract machine for linguistic formalisms that are based on typed feature structures, such as HPSG. The core design of the abstract machine is given in detail, including the compilation process from a high-level…

cmp-lg · Computer Science 2008-02-03 Shuly Wintner , Nissim Francez

When writing programs involving matrices or tensors in general, it is desirable to rule out the inconsistency of tensor shapes (i.e., the generalization of matrix sizes) before actual computation. For this purpose, some languages provide…

Programming Languages · Computer Science 2026-04-28 Takashi Suwa , Atsushi Igarashi

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

Session types are a discipline for the static verification of message-passing programs. A session type specifies a channel's protocol as sequences of exchanges. It is most relevant to investigate session-based concurrency by identifying the…

Programming Languages · Computer Science 2024-01-24 Alen Arslanagic , Jorge A. Pérez , Anda-Amelia Palamariuc

This article presents a visualization tool for designing and debugging deterministic finite-state machines in FSM -- a domain specific language for the automata theory classroom. Like other automata visualization tools, users can edit…

Human-Computer Interaction · Computer Science 2020-08-24 Marco T. Morazán , Joshua M. Schappel , Sachin Mahashabde

In the past few years, mobile devices have been increasingly replacing traditional computers as their capabilities such as CPU computation, memory, RAM size, and many more, are being enhanced almost to the level of conventional computers.…

Software Engineering · Computer Science 2019-02-04 Ibrahim-Anka Salihu , Rosziati Ibrahim , Bestoun S. Ahmed , Kamal Z. Zamli , Asmau Usman

Traditional implementations of strongly-typed functional programming languages often miss the root cause of type errors. As a consequence, type error messages are often misleading and confusing - particularly for students learning such a…

Programming Languages · Computer Science 2024-08-20 Max Kopinsky , Brigitte Pientka , Xujie Si

Cross-task generalization is a significant outcome that defines mastery in natural language understanding. Humans show a remarkable aptitude for this, and can solve many different types of tasks, given definitions in the form of textual…

Human-Computer Interaction · Computer Science 2023-04-14 Anjana Arunkumar , Shubham Sharma , Rakhi Agrawal , Sriram Chandrasekaran , Chris Bryan

Recent advancements in parallel simulation and successful robotic applications are spurring a resurgence in sampling-based model predictive control. To build on this progress, however, the robotics community needs common tooling for…

Robotics · Computer Science 2025-06-23 Albert H. Li , Brandon Hung , Aaron D. Ames , Jiuguang Wang , Simon Le Cleac'h , Preston Culbertson

Event-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub *callback typestates*.…

Tools like Prot\'eg\'e support the creation and edition of one or more ontologies in a single workspace. They nevertheless require a user to be familiar with this kind of abstractions and their supporting techniques such as a reasoner and…

Software Engineering · Computer Science 2022-06-07 Soreangsey Kiv , Yves Wautelet , Samedi Heng , Manuel Kolp

Designing a web-application from a specification involves a series of well-planned and well executed steps leading to the final product. This often involves critical changes in design while testing the application, which itself is slow and…

Software Engineering · Computer Science 2007-05-23 Joy Dutta , Paul Fodor

Accurate programming is a practical approach to producing high quality programs. It combines ideas from test-automation, test-driven development, agile programming, and other state of the art software development methods. In addition to…

Programming Languages · Computer Science 2011-09-06 Walid Taha , Veronica Gaspes , Rex Page