• Home
  • Alejandra Garrido
Alejandra Garrido

Alejandra Garrido
CONICET: National Scientific and Technical Research Council · Computer Science

PhD in Computer Science

About

77
Publications
22,238
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,126
Citations
Citations since 2017
33 Research Items
345 Citations
20172018201920202021202220230204060
20172018201920202021202220230204060
20172018201920202021202220230204060
20172018201920202021202220230204060
Introduction
My research interests concentrate around software engineering and HCI, and the processes and techniques that may help improve user interaction during the construction of software products with agile methods.
Additional affiliations
October 2005 - May 2006
University of Illinois, Urbana-Champaign
Position
  • PostDoc Position
March 1993 - present
Universidad Nacional de La Plata
Position
  • Professor (Assistant)

Publications

Publications (77)
Chapter
It is generally difficult in agile teams, specially those geographically distributed, to keep up with the user experience (UX) issues that emerge on each product increment. UX designers need the help of developers to set up user testing environments and to code improvements to the user interface, while developers are too busy with functionality iss...
Chapter
Different research fields related to the web require detecting similarity between DOM elements. In the field of information extraction, many approaches emerged to extract structured data from web documents, most of which require comparing sample documents to extract their underlying structure. Other fields of applicability like web augmentation or...
Preprint
Full-text available
The metaphor of Technical Debt (TD) has generated a conceptual framework on factors that weaken the quality of software and accumulate a repair cost. However, user-related aspects like user experience (UX) receive little consideration among TD types, for reasons like the substantial focus on code TD, some dynamics inherent to agile processes, and a...
Article
Full-text available
The product of good design should render a tool invisible for a user who is executing a task. Unfortunately, web applications are often far from invisible to users, who struggle with poor design of websites and processes in them. We are particularly interested in web processes that involve form filling, so we have been studying how people interact...
Conference Paper
Muchas actividades de nuestra vida cotidiana se encuentran integradas a aplicaciones web, las cuales deben ser accesibles a todos los usuarios. Por esto resulta fundamental incorporar la accesibilidad al proceso de desarrollo. Para facilitar esta integración y la detección de problemas de accesibilidad, en este trabajo se desarrolló una herramienta...
Article
Full-text available
Resumen: Las personas con Afasia o con Déficits Cognitivos necesitan apoyos para su vida cotidiana y muchas veces para llevar adelante sus terapias. La tecnología tiene el potencial de favorecer la calidad de vida de las personas con discapacidad sólo si se tiene en cuenta un buen diseño. Se presenta el trabajo que se está llevando adelante para de...
Article
One of the key benefits of blockchain technology is its ability to keep a permanent, unalterable record of transactions. In business environments, where companies interact with each other without a centralized authority to ensure trust between them, this has led to blockchain platforms and smart contracts being proposed as a means of implementing t...
Conference Paper
Full-text available
Most documents in the WWW are generated from templates that represent user interface (UI) elements, and later filled with contents. In the field of information extraction, many approaches emerged to analyze the documents' structure, obtain similar features amongst them, and generate wrappers that are used to extract the raw contents from such docum...
Article
Running user tests for groupware requires tracking the progress of multiple users performing co-dependent tasks, while facilitating and observing their coordinated actions. This requirement negatively impacts the main objective of user testing, which is detecting usability flaws. User testing of groupware becomes more challenging when run remotely....
Article
Full-text available
This study surveys the state of the art in usability and user experience strategies applied to applications that deal with large amounts of data in the field of cultural heritage, highlighting the most prominent aspects and underlining the under-explored. In these applications, large amounts of data need to be wisely presented to help final users a...
Chapter
The Gestalt Prototyping Framework linked the Nielsen Usability Heuristics to the principles of human perception and presents some parameters that can be used in developing high and low-fidelity prototypes for mobile application interfaces. The link between the fundamentals of usability and Gestalt principles focuses on the graphical components of t...
Chapter
While usability heuristics are universal concepts, visual references for using them in an application are limited, contradictory, and sometimes confusing, especially for novice developers. The present work has linked Nielsen’s heuristics with Gestalt principles, which are the foundation of human perception, developed from psychology, and which have...
Chapter
This paper presents the results of the user experience test comparing a real functional application and a high fidelity prototype that used a Framework to design graphic user interfaces on mobile devices. This Framework links Nielsen’s heuristics with the principles of perception of Gestalt, offering to developers and usability experts, references...
Article
Usability and user interaction improvement is a central task in web development to guarantee the success of a web application. However, designers are barely able to keep up with the current development cycle because their practices are too costly, while interaction issues accumulate in applications that end-users keep suffering. In this work, we pr...
Chapter
Full-text available
In this chapter, we discuss methods and tools for adapting user interfaces to make them more accessible. We introduce the problem of user interface adaptation and characterize different techniques to be adapted to the user interface. We show that there is a broad range of methods and tools to transform existing interfaces to make them accessible. W...
Conference Paper
Full-text available
Automating usability diagnosis and repair can be a powerful assistance to usability experts and even less knowledgeable developers. To accomplish this goal, evaluating user interaction automatically is crucial, and it has been broadly explored. However, most works focus in long interaction sessions, which makes it difficult to tell how individual i...
Article
Full-text available
Usability evaluation is an essential task in web application development. There have been several attempts to integrate user-centered design with agile methods, but it is hard to synchronize their practices. User testing is very valuable to learn from feedback of actual use, but it remains expensive to find and solve usability problems. Furthermore...
Conference Paper
Decision Support Systems (DSS) help users make decisions by organizing the decision-making process in stages, dealing with several input sources. In the agricultural context, these tools are becoming more important given the variety of data that producers face, market regulations and interaction of several actors with different backgrounds. Differe...
Conference Paper
Client-Side Web Refactorings (CSWRs) allow improving interaction aspects of web applications by applying changes to the user interface without altering the code base, even in production settings. However, developers are not always willing, or even allowed to apply external adaptations to their applications’ user interface. Besides, CSWRs do not gua...
Conference Paper
Full-text available
There are several research proposals nowadays to address the problem of accessibility in websites, particularly focused on people with visual disabilities. However, it is very difficult for companies and developers of web pages to adhere to these proposals on their sites, attending to the problems of a minority of users who did not manage to access...
Conference Paper
Full-text available
While Web applications have become pervasive in today's business, social interaction and information exchange, their usability is often deficient, even being a key factor for a website success. Usability problems repeat across websites, and many of them have been catalogued, but usability evaluation and repair still remains expensive. There are eff...
Conference Paper
Full-text available
Usability has long been recognized as an important software quality attribute and it has become essential in web application development and maintenance. However, it is still hard to integrate usability evaluation and improvement practices in the software development process. Moreover, these practices are usually unaffordable for small to medium-si...
Book
Full-text available
This book is open access under a CC BY license. This book constitutes the refereed proceedings of the 13th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2017, held in Buenos Aires, Argentina, in May 2017. The 16 revised full papers and 3 short papers presented were carefully reviewed and selected from 32 submissions. The paper...
Article
Full-text available
Usability assessment of web applications continues to be an expensive and often neglected practice. While large companies are able to spare resources for studying and improving usability in their products, smaller businesses often divert theirs in other aspects. To help these cases, researches have devised automatic approaches for user interaction...
Article
Springer SharedIt Link to full text: http://rdcu.be/m1Ex Refactoring has been reported as a helpful technique to systematically improve non-functional attributes of software. This paper evaluates the relevance of refactoring for improving usability on web applications. We conducted an experiment with two replications at different locations, with su...
Article
Full-text available
Springer SharedIt Link to full text: http://rdcu.be/m1EE Refactoring is a technique that applies step-by-step transformations intended to improve the quality of software while preserving its behavior. It represents an essential activity in today’s software lifecycle and a powerful tool against software decay. Software decay, however, is not only ab...
Article
Full-text available
Springer SharedIt Link to Full-text: http://rdcu.be/m1EA Universal access should be a target for all public Web sites. However, it is very hard to achieve, and even Web applications that comply with accessibility standards may still lack usability for disabled users. This paper proposes refactoring as an essencial technique to incrementally improve...
Conference Paper
The refactoring technique helps developers to improve not only source code quality, but also other aspects like usability. The problems refactoring helps to solve in the specific field of web usability are considered to be issues that make common tasks complicated for end users. Finding such problems, known in the jargon as bad smells, is often cha...
Article
C preprocessor directives are heavily used in C programs because they provide useful and even necessary additions to the C language. However, they are usually executed and discarded before any analysis is applied on C programs. In refactoring, preprocessor directives must be preserved through the whole process of parsing, analysis and transformatio...
Conference Paper
Habitualmente se considera que la preservación del comportamiento del software después del refactoring puede ser verificada con pruebas unitarias automatizadas. Sin embargo, hay situaciones en las cuales estas pruebas dejan de funcionar precisamente por los cambios realizados en el código. Para agregar seguridad al refactoring es necesario entonces...
Article
Full-text available
With the advent of improved strategies over Test Driven Development (TDD), like Acceptance TDD (ATDD), several benefits were recognized over the simple use of TDD with unit testing. In this article we propose an additional benefit of ATDD: the use of acceptance tests as ultimate invariants of the behavior that refactorings must preserve. Even when...
Article
Full-text available
According to W3C accessibility standards, most Web applications are neither accessible nor usable for people with disabilities. Developers often solve this problem by building separate accessible applications, but these applications are seldom usable and typically offer less functionality than the original. Another common solution is to maintain a...
Article
Full-text available
Refactoring has become a popular technique for the development and maintenance of object-oriented systems. We have been working on the refactoring of C programs, including the C preprocessor (Cpp), and we have built CRefactory, a refactoring tool for C programs. The independence of Cpp from the underlying programming language complicates the analys...
Article
Full-text available
Refactoring was originally conceived as a technique for enhancing the design of an existing code base by applying small behavior-preserving transformations to the code. Later research extended scope of refactoring to other software artifacts, such as design models, and widened its intent to improve additional software quality factors, such as perfo...
Conference Paper
Full-text available
Resumen Este artículo exhibe los obstáculos hallados por los progra-madores en las tareas de mantenimiento de software heredado escrito en Fortran. Por un lado se señalan las dificultades que se presentan en los procesos de comprensión, adaptación y mejora de este tipo de software. Por otro lado se encuadra una solución a este problema proponiendo...
Article
Full-text available
This paper presents a catalog of code refactorings that are intended to improve the different quality attributes of Fortran programs. We classify the refactorings according to their purpose, that is, the internal or external quality attribute(s) that each refactoring targets to improve. We sketch the implementation of one refactoring in Photran, a...
Article
Full-text available
Web applications are usually characterized by a rapid development process and continuous evolution. This evolution implies growth of the graph of pages and navigation paths, as well as new functionality and new data made available to the user. Measurement of the system usability, periodic or after a time of growth, is crucial to the system's evolut...
Article
Full-text available
Web applications must be usable and accessible; at the same time, their continuous evolution makes it difficult to keep a high degree of external quality. Refactoring is a practice of agile methods well-suited for the maintenance and evolution of Web applications. However, this practice is mainly intended and used to improve maintainability and ext...
Conference Paper
Full-text available
Rich Internet applications (RIAs) combine the simplicity of the hypertext paradigm with the flexibility of desktop interfaces. The quick emergence of these applications is driving a new (r)evolution in the Webfield. Building RIAs from scratch is often unfeasible because companies do not want to loose their investments in legacy Web software; additi...
Conference Paper
Full-text available
Web applications must be usable and accessible; besides, they evolve at a fast pace and it is difficult to sustain a high degree of external quality. Agile methods and continuous refactoring are well-suited for the rapid development of Web applications since they particularly support continuous evolution. However, the purpose of traditional refacto...
Conference Paper
Full-text available
Refactoring has been growing in importance with recent software engineering approaches, particularly agile methodologies, which promote continuous improvement of an application's code and design. Web applications are especially suitable for refactoring because of their rapid development and continuous evolution. Refactoring is about applying transf...
Article
Full-text available
There is an extensive literature about refactorings of object-oriented programs, and many refactoring tools for the Java programming language. However, except for a few studies, in practice it is difficult to find precise formal specifications of the preconditions and mechanisms of automated refactorings. Moreover, there is usually no formal proof...
Conference Paper
Full-text available
Preprocessor conditionals are heavily used in C programs since they allow the source code to be configured for different platforms or capabilities. However, preprocessor conditionals, as well as other preprocessor directives, are not part of the C language. They need to be evaluated and removed, and so a single configuration selected, before parsin...
Article
Full-text available
The C preprocessor is heavily used in C programs because it provides useful and even necessary additions to the C language. Since preprocessor directives are not part of C, they are removed before parsing and program analysis take place, during the phase called preprocessing. In the context of refactoring, it is inappropriate to remove preprocessor...
Conference Paper
Full-text available
Refactoring, an important technique for increasing flexibility of the source code, can be applied with much ease and efficiency by using automated tools. There is currently a lack of refactoring tools for C with full support for preprocessor directives because directives complicate refactorings in many ways. This paper describes refactoring of C pr...
Article
Full-text available
Refactoring has become a well-known technique for transforming code in a way that preserves behavior. Refactorings may be applied manually, although manual code manipulation is error prone and cumbersome, so maintainers need tools to make automatic refactorings. There is currently extensive literature on refactoring object-oriented programs and som...
Article
The main goal of this paper is to present a general architecture for building computational hypermedia applications, i.e. those applications that combine the hypermedia navigational style with other kinds of computations in an object-oriented system. We first motivate our work discussing why these kind of applications need special attention. Then,...
Article
This position paper analyses the problem of extending computational applications with hypermedia, from a design point of view. It focusses on the design of evolvable and easy-to-maintain applications combining hypermedia features with more conventional application behavior. The object-oriented hypermedia design method (OOHDM) is the conceptual basi...
Article
Full-text available
In this paper we analyze design patterns generating the architecture of an object-oriented framework for hypermedia. We briefly discuss our problem: building a software substrate for seamlessly extending object-oriented applications with a hypermedia interface and navigational styles; we next present the outstanding components of an object-oriented...
Article
Full-text available
This paper presents two design patterns for the hypermedia domain: `Navigational Contexts' and `Information on Demand'. They are applied in two different aspects of hypermedia applications design: the design of healthy navigational structures and the design of understandable and usable hypermedia interfaces, respectively. These two patterns are par...
Article
Full-text available
The hypermedia domain is currently receiving much attention, mostly due to the new generation of open systems, i.e., those that allow the connection among applications in the same or different machines (intranets) or those that publish the interface of an application in a WWW's browser. However, current applications in this domain are not taking pr...
Article
Full-text available
In this paper we discuss the use of design patterns for the process of building hypermedia applications. The idea of design patterns has been recently developed, and rapidly spread outside the object-oriented community to a general audience of software developers. By using patterns it is not only possible to document design experience with a very s...
Conference Paper
Full-text available
IntroductionThis paper surveys the use of hand-made and computed links in hypermedia systems andcontrasts precomputation and dynamic computation of those links which are computed.This paper seeks to raise all the issues in one place, so that designers of hypermediasystems can consider the issues together, whether they can afford to ignore some form...
Article
Full-text available
An abstract is not available.
Article
Full-text available
This paper addresses the first one, for which we have found a secondary characterization, composed of automatic link generation and hand-made link creation. The research question for this paper can be expressed as: Should links be generated automatically or created manually in information system applications? Firstly, the key aspects of information...
Article
Full-text available
A core set of navigational aspects may be found by extracting the key features of hypermedia applications. Incorporated to an information system (IS), they may increase its utility and usability (1). This type of extension of an IS is called `The Hypertext Functionality Approach' (2), and it may be done in different ways. In this paper we present a...
Article
Full-text available
We present in this paper a novel approach for using visualisation and animation facilities in the context of an object-oriented CASE environment. We first analyze the general problem: why CASE tools will succeed or fail; then we present the outstanding features of our environment stressing animation and visualisation tools and an objectoriented fra...
Article
Full-text available
In this position paper we present an object-oriented framework aimed at enhancing objectoriented applications with hypermedia functionality. The major goal of this approach is the seamless integration of the application's behavior with the navigational style of hypermedia applications. We briefly survey our previous experience on using hypermedia i...
Article
Full-text available
The state-of-the-art solution for building complex and reusable architectures in the object-oriented field, is the construction of frameworks modeling an specific domain. However, the design of an object-oriented framework is difficult because it must represent a concrete domain in an abstract way, i.e., allowing different "instantiations" of the e...
Article
An course on object-oriented (OO) design in the first academic year includes basic designprinciples that students learn at the same time than OO programming. Following, when they arefaced with their first design problems, they do not have enough programming experience toforget low-level problems and reach a higher level of abstraction.Students lear...
Article
This position paper analyses the problem of extending computational applications with hypermedia, from a design point of view. It focusses on the design of evolvable and easy-to-maintain applications combining hypermedia features with more conventional application behavior. The object-oriented hypermedia design method (OOHDM) is the conceptual basi...

Network