Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por João Alexandre Saraiva

1999

Data structure free compilation

Autores
Saraiva, J; Swierstra, D;

Publicação
COMPILER CONSTRUCTION

Abstract
This paper presents a technique to construct compilers expressed in a strict, purely functional setting. The compilers do not rely on any explicit data structures, like trees, stacks or queues, to efficiently perform the compilation task. They are constructed as a set of functions which are directly called by the parser. An abstract syntax tree is neither constructed nor traversed. Such deforestated compilers are automatically derived from an attribute grammar specification. Furthermore this technique can be used to efficiently implement any multiple traversal algorithm.

2000

Functional incremental attribute evaluation

Autores
Saraiva, J; Swierstra, D; Kuiper, M;

Publicação
COMPILER CONSTRUCTION, PROCEEDINGS

Abstract
This paper presents a new strict, purely functional implementation of attribute grammars. Incremental evaluation is obtained via standard function memoization. Our new implementation of attribute grammars increases the incremental behaviour of the evaluators by both reducing the memoization overhead and increasing their potential incrementallity. We present also an attribute grammar transformation, which increases the incremental performance of the attribute evaluators after a change that propagates its effects to all parts of the syntax tree. These techniques have been implemented in a purely functional attribute grammar system and the first experimental results are presented.

2008

The Objects and Arrows of Computational Design

Autores
Batory, D; Azanza, M; Saraiva, J;

Publicação
MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS

Abstract
Computational Design (CD) is a paradigm where both program design and program synthesis are computations. CD merges Model Driven Engineering (MDE) which synthesizes programs by transforming models, with Software Product Lines (SPL) where programs are synthesized by composing trans format ions called features. In this paper, basic relationships between MDE and SPL are explored using the language of modern mathematics.

2010

The GUISurfer Tool: Towards a Language Independent Approach to Reverse Engineering GUI Code

Autores
Silva, JC; Silva, C; Goncalo, R; Saraiva, J; Campos, JC;

Publicação
EICS 2010: PROCEEDINGS OF THE 2010 ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS

Abstract
Graphical user interfaces (GUIs) are critical components of today's software. Developers are dedicating a larger portion of code to implementing them. Given their increased importance, correctness of GUIs code is becoming essential. This paper describes the latest results in the development of GUISurfer, a tool to reverse engineer the GUI layer of interactive computing systems. The ultimate goal of the tool is to enable analysis of interactive system from source code.

2007

Combining formal methods and functional strategies regarding the reverse engineering of interactive applications

Autores
Silva, JC; Campos, JC; Saraiva, J;

Publicação
Interactive Systems: Design, Specification, and Verification

Abstract
Graphical user interfaces (GUls) make software easy to use by providing the user with visual controls. Therefore, correctness of GUI's code is essential to the correct execution of the overall software. Models can help in the evaluation of interactive applications by allowing designers to concentrate on its more important aspects. This paper describes our approach to reverse engineer an abstract model of a user interface directly from the GUI's legacy code. We also present results from a case study. These results are encouraging and give evidence that the goal of reverse engineering user interfaces can be met with more work on this technique.

2011

Preface

Autores
Fernandes, JM; Lämmel, R; Saraiva, J; Visser, J;

Publicação
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

Abstract

  • 20
  • 28