Network


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

Hotspot


Dive into the research topics where Maria João Varanda Pereira is active.

Publication


Featured researches published by Maria João Varanda Pereira.


Computer Science and Information Systems | 2010

Comparing general-purpose and domain-specific languages: An empirical study

Tomaz Kosar; Nuno Oliveira; Marjan Mernik; Maria João Varanda Pereira; Matej Črepinšek; Daniela Carneiro da Cruz; Pedro Rangel Henriques

Many domain-specific languages, that try to bring feasible alternatives for existing solutions while simplifying programming work, have come up in recent years. Although, these little languages seem to be easy to use, there is an open issue whether they bring advantages in comparison to the application libraries, which are the most commonly used implementation approach. In this work, we present an experiment, which was carried out to compare such a domain-specific language with a comparable application library. The experiment was conducted with 36 programmers, who have answered a questionnaire on both implementation approaches. The questionnaire is more than 100 pages long. For a domain-specific language and the application library, the same problem domain has been used - construction of graphical user interfaces. In terms of a domain-specific language, XAML has been used and C# Forms for the application library. A cognitive dimension framework has been used for a comparison between XAML and C# Forms.


IEE Proceedings - Software | 2005

Automatic generation of language-based tools using the LISA system

Pedro Rangel Henriques; Maria João Varanda Pereira; Marjan Mernik; Mitja Lenic; Jeff Gray; Hui Wu

Many tools have been constructed using different formal methods to process various parts of a language specification (e.g. scanner generators, parser generators and compiler generators). The automatic generation of a complete compiler was the primary goal of such systems, but researchers recognised the possibility that many other language-based tools could be generated from formal language specifications. Such tools can be generated automatically whenever they can be described by a generic fixed part that traverses the appropriate data structures generated by a specific variable part, which can be systematically derivable from the language specifications. The paper identifies generic and specific parts for various language-based tools. Several language-based tools are presented in the paper, which are automatically generated using an attribute grammar-based compiler generator called LISA. The generated tools that are described in the paper include editors, inspectors, debuggers and visualisers/animators. Because of their complexity of construction, special emphasis is given to visualisers/animators, and the unique contribution of our approach toward generating such tools.


Computer Science and Information Systems | 2008

Program comprehension for domain-specific languages

Maria João Varanda Pereira; Marjan Mernik; Daniela Carneiro da Cruz; Pedro Rangel Henriques

In the past, we have been looking for program comprehension tools that are able to interconnect operational and behavioral views, aiming at aiding the software analyst to relate problem and program domains in order to reach a full understanding of software systems. In this paper we are concerned with Program Comprehension issues applied to Domain Specific Languages (DSLs). We are now willing to understand how techniques and tools for the comprehension of traditional programming languages fit in the understanding of DSLs. Being the language tailored for the description of problems in a specific domain, we believe that specific visualizations (at a higher abstraction level, closer to the problem level) could and should be defined to enhance the comprehension of the descriptions in that particular domain.


european joint conference on theory and practice of software | 2002

Automatic Generation of Language-based Tools

Pedro Rangel Henriques; Maria João Varanda Pereira; Marjan Mernik; Mitja Lenic; Enis Avdicausevic; Viljem Žumer

Many tools can be automatically derived from formal language definitions, such as compilers/interpreters, editors, analyzers, visualizers/animators, etc. Some examples of language-based tools generated automatically by the LISA system are described in the paper. In addition the specification of an algorithm animator and program visualizer, Alma, generated from an extended LISA input-grammar is discussed; LISA principles and code are reused in Alma implementation.


Electronic Notes in Theoretical Computer Science | 2006

AspectLISA: an aspect-oriented compiler construction system based on attribute grammars

Damijan Rebernak; Marjan Mernik; Pedro Rangel Henriques; Maria João Varanda Pereira

The use of object-oriented techniques and concepts, like encapsulation and inheritance, greatly improves language specifications towards better modularity, reusability and extensibility. Additional improvements can be achieved with aspect-oriented techniques since semantic aspects also crosscut many language constructs. Indeed, aspect-oriented constructs have been already added to some language specifications. The LISA compiler construction system follows an object-oriented approach and has already implemented mechanisms for inheritance, modularity and extensibility. Adding aspects to LISA will lead to more reusable language specifications. In the paper, aspect-oriented attribute grammars are introduced, and the underlying ideas are incorporated into AspectLISA, an aspect-oriented compiler generator based on attribute grammars.


symposium on languages applications and technologies | 2012

Probabilistic synSet based concept location

Nuno Ramos Carvalho; José João Almeida; Maria João Varanda Pereira; Pedro Rangel Henriques

Concept location is a common task in program comprehension techniques, essential in many approaches used for software care and software evolution. An important goal of this process is to discover a mapping between source code and human oriented concepts. Although programs are written in a strict and formal language, natural language terms and sentences like identifiers (variables or functions names), constant strings or comments, can still be found embedded in programs. Using terminology concepts and natural language processing techniques these terms can be exploited to discover clues about which real world concepts source code is addressing. This work extends symbol tables build by compilers with ontology driven constructs, extends synonym sets defined by linguistics, with automatically created Probabilistic SynSets from software domain parallel corpora. And using a relational algebra, creates semantic bridges between program elements and human oriented concepts, to enhance concept location tasks. 1998 ACM Subject Classification D.2.5 Testing and Debugging: code inspections and walkthroughs


ieee symposia on human centric computing languages and environments | 2001

Visualization/animation of programs based on abstract representations and formal mappings

Maria João Varanda Pereira; Pedro Rangel Henriques

In the context of Alma (a system for program visualization and algorithm animation), we use an internal representation - based on the concept of an attributed abstract syntax tree decorated with attribute values, a DAST - to associate (static) figures to grammar rules (productions) and to step over program dynamics executing state changes in order to perform its animation. We do not rely upon any source program annotations (visual/animation statements, or parameters), neither on any special visual data types. On account of such principle, the approach becomes source language independent. It means that we can apply the same visualizer and animator, that is the Almas back-end, to different programming languages; all that we need is different front-ends to parse each program into the DAST we use. In this paper we discuss Alma design goals and architecture, and we present the two mappings that associate to productions figures and rewriting rules to systematically draw a visual representation (exhibiting data and control flow) of a given source program and to animate its execution.


international conference on computational science and its applications | 2014

Conclave: Ontology-Driven Measurement of Semantic Relatedness between Source Code Elements and Problem Domain Concepts

Nuno Carvalho; José João Almeida; Pedro Rangel Henriques; Maria João Varanda Pereira

Software maintainers are often challenged with source code changes to improve software systems, or eliminate defects, in unfamiliar programs. To undertake these tasks a sufficient understanding of the system (or at least a small part of it) is required. One of the most time consuming tasks of this process is locating which parts of the code are responsible for some key functionality or feature. Feature (or concept) location techniques address this problem. This paper introduces Conclave, an environment for software analysis, and in particular the Conclave-Mapper tool that provides a feature location facility. This tool explores natural language terms used in programs (e.g. function and variable names), and using textual analysis and a collection of Natural Language Processing techniques, computes synonymous sets of terms. These sets are used to score relatedness between program elements, and search queries or problem domain concepts, producing sorted ranks of program elements that address the search criteria, or concepts. An empirical study is also discussed to evaluate the underlying feature location technique.


international multiconference on computer science and information technology | 2009

VisualLISA: Visual programming environment for attribute grammars specification

Nuno Oliveira; Pedro Rangel Henriques; Daniela Carneiro da Cruz; Maria João Varanda Pereira

The benefits of using visual languages and graphical editors are well known. In some specific domain it is really crucial to program with graphical representations, icons, geometric objects, colors and so on. Nowadays it is possible to easily implement a visual language, constructing, automatically, visual editors for it. In this paper we want to emphasize how it is possible to easily specify a huge amount of complex information, associated with an attribute grammar, using graphical objects and a very intuitive modular approach. For that purpose we present a new visual language to specify attribute grammars (called VisualLISA) and we present also a modular approach that uses VisualLISA in an integrated editor to draw attribute grammars.


international multiconference on computer science and information technology | 2009

Applying program comprehension techniques to karel robot programs

Nuno Oliveira; Pedro Rangel Henriques; Daniela Carneiro da Cruz; Maria João Varanda Pereira; Marjan Mernik; Tomaz Kosar; Matej Črepinšek

In the context of program understanding, a challenge research topic1 is to learn how techniques and tools for the comprehension of General-Purpose Languages (GPLs) can be used or adjusted to the understanding of Domain-Specific Languages (DSLs). Being DSLs tailored for the description of problems within a specific domain, it becomes easier to improve these tools with specific visualizations (at a higher abstraction level, closer to the problem level) in order to understand the DSLs programs. In this paper, comprehension techniques will be applied to Karel language. This will allow us to explore the creation of problem domain visualizations for this language and to combine both problem and program domains in order to reach a full understanding of Karel programs.

Collaboration


Dive into the Maria João Varanda Pereira's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mario Berón

National University of San Luis

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Roberto Uzal

National University of San Luis

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge