1,721,036 research outputs found
A Type System for Static and Dynamic Checking of C++ Pointers
Object-oriented programming is the most used programming paradigm when dealing with large-scale, modular software. In this field, the two leading languages are Java and C++. The former has superior qualities in terms of safety and ease of programming, whereas the latter is often considered an “old” language, too complex and potentially unsafe.
In this paper, we describe a new type system designed to analyze the security problems derived from pointer manipulation in C++. This type system tries to trap the most common errors through static analysis, i.e., at compile-time, and only when static analysis fails it generates and embeds code fragments that apply runtime checks on specific instructions. The aim of this new type system is to give C++ the same safety of Java in the most important memory-related operations, without adding much runtime overhead. An experimental implementation of the type system is also presented, embedded in a C++ analysis tool called GPCC
A General Theory of Spatial Relations to Support a Graphical Tool for Visual Information Extraction
In this paper we present a general spatial composition framework which allows one to model the graphical objects and the spatial relations of a large class of visual languages. The new formalism has been implemented within the SRQ tool, a software system for the Visual Information Extraction, enabling it to work on a. wider range of domains. In particular, in the paper we describe the application. of SRQ to geospatial data
Addressing Machines as models of lambda-calculus
Turing machines and register machines have been used for decades in theoretical computer science as abstract models of computation. Also the lambda-calculus has played a central role in this domain as it allows to focus on the notion of functional computation, based on the substitution mechanism, while abstracting away from implementation details. The present article starts from the observation that the equivalence between these formalisms is based on the Church-Turing Thesis rather than an actual encoding of lambda-terms into Turing (or register) machines. The reason is that these machines are not well-suited for modelling lambda-calculus programs.
We study a class of abstract machines that we call addressing machine since they are only able to manipulate memory addresses of other machines. The operations performed by these machines are very elementary: load an address in a register, apply a machine to another one via their addresses, and call the address of another machine. We endow addressing machines
with an operational semantics based on leftmost reduction and study their behaviour. The set of addresses of these machines can be easily turned into a combinatory algebra. In order to obtain a model of the full untyped lambda-calculus, we need to introduce a rule that bares similarities with the omega-rule and the rule zeta_eta from combinatory logic
A formal framework to represent spatial knowledge
Visual representations are an essential element in human–computer interaction and can be conceived as a collection of graphical objects arranged in a two-dimensional space. It is quite natural to model visual representations through the qualitative relationships holding between their objects, and therefore, qualitative spatial relations are a fundamental way of representing spatial knowledge. To this aim, in this paper we present a framework of qualitative spatial relations providing a general, domain-independent approach to specify visual representations.</p
Generating graphical applications from state-transition visual specifications
In graphical applications, visual representations are mostly used in an ad hoc fashion with little or no underlying formal support. Due to this, no common methodology for handling visual and diagrammatic representations has emerged and formal techniques for their support are underdeveloped. Usually, a programmer develops a graphical application by applying a general-purpose visual programming environment and ad hoc implementing the application requirements. Then, big efforts are often required when the application has to be successively modified or extended. In this paper, we present a finite-automaton-based formalism for the specification of rapid application development (RAD) visual applications, which provides a formal basis in the visual application generation. A prototype tool, based on this approach, has been developed and it is currently being experimented on a variety of case studies
A Graphical Tool to Support Visual Information Extraction
In this paper we present the Spatial Relation Query
tool, a graphical software system for Information Extraction
based on the visual appearance of the information. The SRQ
tool is provided with a query language similar to the wellknown
SQL, which allows users to write queries based on the
visual arrangement of the information in an intuitive way. Two
applications showing the use of the tool on web pages and
geospatial data are presented
Visual Extraction of Information from Web Pages
In this paper we present a graphical software system that provides an automatic support to the extraction of information from web pages. The underlying extraction technique exploits the visual appearance of the information in the document, and is driven by the spatial relations occurring among the elements in the page. However, the usual information extraction modalities based on the web page structure can be used in our framework, too. The technique has been integrated within the Spatial Relation Query (SRQ) tool. The tool is provided with a graphical front-end which allows one to define and manage a library of spatial relations, and to use a SQL-like language for composing queries driven by these relations and by further semantic and graphical attributes
- …
