Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where José Santos is active.

Publication


Featured researches published by José Santos.


information security conference | 2014

An Information Flow Monitor-Inlining Compiler for Securing a Core of JavaScript

José Santos; Tamara Rezk

Web application designers and users alike are interested in isolation properties for trusted JavaScript code in order to prevent confidential resources from being leaked to untrusted parties. Noninterference provides the mathematical foundation for reasoning precisely about the information flows that take place during the execution of a program. Due to the dynamicity of the language, research on mechanisms for enforcing noninterference in JavaScript has mostly focused on dynamic approaches. We present the first information flow monitor inlining compiler for a realistic core of JavaScript. We prove that the proposed compiler enforces termination-insensitive noninterference and we provide an implementation that illustrates its applicability.


symposium on principles of programming languages | 2017

JaVerT: JavaScript verification toolchain

José Santos; Petar Maksimović; Daiva Naudžiūnienė; Thomas Wood; Philippa Gardner

The dynamic nature of JavaScript and its complex semantics make it a difficult target for logic-based verification. We introduce JaVerT, a semi-automatic JavaScript Verification Toolchain, based on separation logic and aimed at the specialist developer wanting rich, mechanically verified specifications of critical JavaScript code. To specify JavaScript programs, we design abstractions that capture its key heap structures (for example, prototype chains and function closures), allowing the developer to write clear and succinct specifications with minimal knowledge of the JavaScript internals. To verify JavaScript programs, we develop JaVerT, a verification pipeline consisting of: JS-2-JSIL, a well-tested compiler from JavaScript to JSIL, an intermediate goto language capturing the fundamental dynamic features of JavaScript; JSIL Verify, a semi-automatic verification tool based on a sound JSIL separation logic; and verified axiomatic specifications of the JavaScript internal functions. Using JaVerT, we verify functional correctness properties of: data-structure libraries (key-value map, priority queue) written in an object-oriented style; operations on data structures such as binary search trees (BSTs) and lists; examples illustrating function closures; and test cases from the official ECMAScript test suite. The verification times suggest that reasoning about larger, more complex code using JaVerT is feasible.


trustworthy global computing | 2014

An Information Flow Monitor for a Core of DOM

Ana Almeida-Matos; José Santos; Tamara Rezk

We propose and prove sound a novel, purely dynamic, flow-sensitive monitor for securing information flow in an imperative language extended with DOM-like tree operations, that we call Core DOM. In Core DOM, as in the DOM API, tree nodes are treated as first-class values. We take advantage of this feature in order to implement an information flow control mechanism that is finer-grained than previous approaches in the literature. Furthermore, we extend Core DOM with additional constructs to model the behavior of live collections in the DOM Core Level 1 API. We show that this kind of construct effectively augments the observational power of an attacker and we modify the proposed monitor so as to tackle newly introduced forms of information leaks.


intelligent robots and systems | 2010

Sensor-based self-calibration of the iCub's head

José Santos; Alexandre Bernardino; José Santos-Victor

In this paper we propose techniques for the calibration of the iCubs stereo head using vision and inertial measurements. Given that wear and tear can change the geometrical relationship between the different elements in the kinematic chain, new calibrations must be performed periodically. We propose methods that allow automatic calibration without the need for using external sensors or specially designed calibration objects. The methods can be applied at any time during the operation of the system, thus being an alternative for systems whose calibrations are imprecise or that require frequent recalibration. Results are shown both in simulations and on the iCubs stereo head.


trustworthy global computing | 2015

Hybrid Typing of Secure Information Flow in a JavaScript-like Language

José Santos; Thomas P. Jensen; Tamara Rezk; Alan Schmitt

As JavaScript is highly dynamic by nature, static information flow analyses are often too coarse to deal with the dynamic constructs of the language. To cope with this challenge, we present and prove the soundness of a new hybrid typing analysis for securing information flow in a JavaScript-like language. Our analysis combines static and dynamic typing in order to avoid rejecting programs due to imprecise typing information. Program regions that cannot be precisely typed at static time are wrapped inside an internal boundary statement used by the semantics to interleave the execution of statically verified code with the execution of code that must be dynamically checked.


inductive logic programming | 2010

Learning action descriptions of opponent behaviour in the robocup 2D simulation environment

Alberto Illobre; Jorge Gonzalez; Ramón P. Otero; José Santos

The Robocup 2D simulation competition [13] proposes a dynamic environment where two opponent teams are confronted in a simplified soccer game. All major teams use a fixed algorithm to control its players. An unexpected opponent strategy, not previously considered by the developers, might result in winning all matches. To improve this we use ILP to learn action descriptions of opponent players; for learning on dynamic domains, we have to deal with the frame problem. The induced descriptions can be used to plan for desired field states. To show this we start with a simplified scenario where we learn the behaviour of a goalkeeper based on the actions of a shooter player. This description is used to plan for states where a goal can be scored. This result can directly be extended to a multiplayer environment.


inductive logic programming | 2007

Learning Probabilistic Logic Models from Probabilistic Examples (Extended Abstract)

Jianzhong Chen; Stephen Muggleton; José Santos

This paper describes research in Probabilistic Inductive Logic Programing (PILP). The question investigated is whether PILP should always be used to learn from categorical examples. The data sets used by most PILP systems and applications have non-probabilistic class values, like those used in ILP systems. The main reason for this is the lack of an obvious source of probabilistic class values. In this context, we investigate the use of Abductive Stochastic Logic Programs (SLPs) for metabolic network learning.


conference on automated deduction | 2017

Towards Logic-Based Verification of JavaScript Programs

José Santos; Philippa Gardner; Petar Maksimović; Daiva Naudžiūnienė

In this position paper, we argue for what we believe is a correct pathway to achieving scalable symbolic verification of JavaScript based on separation logic. We highlight the difficulties imposed by the language, the current state-of-the-art in the literature, and the sequence of steps that needs to be taken. We briefly describe Open image in new window , our semi-automatic toolchain for JavaScript verification.


principles and practice of declarative programming | 2018

Symbolic Execution for JavaScript

José Santos; Petar Maksimović; Théotime Grohens; Julian Dolby; Philippa Gardner

We present a framework for trustworthy symbolic execution of JavaScripts programs, whose aim is to assist developers in the testing of their code: the developer writes symbolic tests for which the framework provides concrete counter-models. We create the framework following a new, general methodology for designing compositional program analyses for dynamic languages. We prove that the underlying symbolic execution is sound and does not generate false positives. We establish additional trust by using the theory to precisely guide the implementation and by thorough testing. We apply our framework to whole-program symbolic testing of real-world JavaScript libraries and compositional debugging of separation logic specifications of JavaScript programs.


asian symposium on programming languages and systems | 2016

DOM: Specification and Client Reasoning

Azalea Raad; José Santos; Philippa Gardner

We present an axiomatic specification of a key fragment of DOM using structural separation logic. This specification allows us to develop modular reasoning about client programs that call the DOM.

Collaboration


Dive into the José Santos's collaboration.

Top Co-Authors

Avatar

Pedro M. Ramos

Instituto Superior Técnico

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Eva Onaindia

Polytechnic University of Valencia

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alberto Bugarín

University of Santiago de Compostela

View shared research outputs
Researchain Logo
Decentralizing Knowledge