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
Sobre

Sobre

Ana Paiva (publica como Ana C. R. Paiva) é Professora Auxiliar no Departamento de Engenharia Informática da Faculdade de Engenharia da Universidade do Porto, onde trabalha desde 1999. Ela é investigadora no INESC TEC na área de Engenharia de Software e membro do Grupo de Engenharia de Software que reúne investigadores e pós-graduados com interesses comuns em Engenharia de Software. É responsável por unidades curriculares como Teste de Software, Métodos Formais e Engenharia de Software, entre outras. Tem um doutoramento em Engenharia Electrotécnica e Computadores da FEUP, com uma tese intitulada Automated Specification Based Testing of Graphical User Interfaces. A sua especialidade é a implementação e automação do processo de teste baseado em modelos. Desenvolveu trabalho de investigação em colaboração com o grupo FSE (Foundation of Software Engineering) da Microsoft Research, onde teve a oportunidade de estender a ferramenta de testes da Microsoft baseada em modelo, Spec Explorer, para o teste de GUIs. É a investigadora responsável de um projeto financiado pela FCT com o tema Pattern-Based Testing GUI (PBGT). Pertence à Assemblia Geral da PSTQB (Associação Portuguesa de Testes de Software), é membro dos grupos internacionais de trabalho do ISTQB: TBok, Glossary, MBT Examination, membro do Conselho do Departamento de Engenharia Informática, e membro da Comissão Executiva do Departamento de Engenharia Informática.

Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    Ana Cristina Paiva
  • Cargo

    Investigador Sénior
  • Desde

    01 fevereiro 2014
002
Publicações

2025

Testing infrastructures to support mobile application testing: A systematic mapping study

Autores
Kuroishi, PH; Paiva, ACR; Maldonado, JC; Vincenzi, AMR;

Publicação
INFORMATION AND SOFTWARE TECHNOLOGY

Abstract
Context: Testing activities are essential for the quality assurance of mobile applications under development. Despite its importance, some studies show that testing is not widely applied in mobile applications. Some characteristics of mobile devices and a varied market of mobile devices with different operating system versions lead to a highly fragmented mobile ecosystem. Thus, researchers put some effort into proposing different solutions to optimize mobile application testing. Objective: The main goal of this paper is to provide a categorization and classification of existing testing infrastructures to support mobile application testing. Methods: To this aim, the study provides a Systematic Mapping Study of 27 existing primary studies. Results: We present a new classification and categorization of existing types of testing infrastructure, the types of supported devices and operating systems, whether the testing infrastructure is available for usage or experimentation, and supported testing types and applications. Conclusion: Our findings show a need for mobile testing infrastructures that support multiple phases of the testing process. Moreover, we showed a need for testing infrastructure for context-aware applications and support for both emulators and real devices. Finally, we pinpoint the need to make the research available to the community whenever possible.

2024

Exploring students' opinion on software testing courses

Autores
Cammaerts, F; Tramontana, P; Paiva, ACR; Flores, N; Ricós, FP; Snoeck, M;

Publicação
PROCEEDINGS OF 2024 28TH INTERNATION CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2024

Abstract
Software testing is an important part of the software development lifecycle. As it is a highly sought-after skill in the industry, it is not surprising that there has been a great deal of research into the teaching of software testing in higher education. Most of this research proposes or evaluates pedagogical approaches or software testing tools to assist teachers in educating the next generation of software engineers. These evaluations are often limited to measuring teachers' opinions about the use of a novel pedagogical approach or an educational tool and students' acceptance and performance in terms of desired software testing skills. While tools and pedagogical approaches address specific aspects of a course, to date, little attention has been paid to the opinions of the students about all the individual aspects of a software testing course. This paper aims to address this missing student perspective by taking a holistic view of software testing course designs. To address this gap, an exploratory study was performed by distributing a questionnaire to 103 students from ten different courses to gauge their opinions on a software testing course they are enrolled in. The results show that students generally have a positive perception of the different aspects of their software testing course. However, several areas for improvement were suggested based on the gathered data.

2024

Alloy Repair Hint Generation Based on Historical Data

Autores
Barros, A; Neto, H; Cunha, A; Macedo, N; Paiva, ACR;

Publicação
Formal Methods - 26th International Symposium, FM 2024, Milan, Italy, September 9-13, 2024, Proceedings, Part II

Abstract
Platforms to support novices learning to program are often accompanied by automated next-step hints that guide them towards correct solutions. Many of those approaches are data-driven, building on historical data to generate higher quality hints. Formal specifications are increasingly relevant in software engineering activities, but very little support exists to help novices while learning. Alloy is a formal specification language often used in courses on formal software development methods, and a platform—Alloy4Fun—has been proposed to support autonomous learning. While non-data-driven specification repair techniques have been proposed for Alloy that could be leveraged to generate next-step hints, no data-driven hint generation approach has been proposed so far. This paper presents the first data-driven hint generation technique for Alloy and its implementation as an extension to Alloy4Fun, being based on the data collected by that platform. This historical data is processed into graphs that capture past students’ progress while solving specification challenges. Hint generation can be customized with policies that take into consideration diverse factors, such as the popularity of paths in those graphs successfully traversed by previous students. Our evaluation shows that the performance of this new technique is competitive with non-data-driven repair techniques. To assess the quality of the hints, and help select the most appropriate hint generation policy, we conducted a survey with experienced Alloy instructors. © The Author(s) 2025.

2024

FRAFOL: FRAmework FOr Learning mutation testing

Autores
Tavares, P; Paiva, ACR; Amalfitano, D; Just, R;

Publicação
Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2024, Vienna, Austria, September 16-20, 2024

Abstract
Mutation testing has evolved beyond academic research, is deployed in industrial and open-source settings, and is increasingly part of universities' software engineering curricula. While many mutation testing tools exist, each with different strengths and weaknesses, integrating them into educational activities and exercises remains challenging due to the tools' complexity and the need to integrate them into a development environment. Additionally, it may be desirable to use different tools so that students can explore differences, e.g., in the types or numbers of generated mutants. Asking students to install and learn multiple tools would only compound technical complexity and likely result in unwanted differences in how and what students learn. This paper presents FRAFOL, a framework for learning mutation testing. FRAFOL provides a common environment for using different mutation testing tools in an educational setting. © 2024 Owner/Author.

2023

Collecting cognitive strategies applied by students during test case design

Autores
Cammaerts, F; Snoeck, M; Paiva, ACR;

Publicação
27TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2023

Abstract
It is important to properly test developed software because this may contribute to fewer bugs going unreported in deployed software. Often, little attention is spent on the topic of software testing in curricula, yielding graduate students without adequate preparation to deal with the quality standards required by the industry. This problem could be tackled by introducing bite-sized software testing education capsules that allow teachers to introduce software testing to their students in a less time-consuming manner and with a hands-on component that will facilitate learning. In order to design appropriate software testing educational tools, it is necessary to consider both the software testing needs of the industry and the cognitive models of students. This work-in-progress paper proposes an experimental design to gain an understanding of the cognitive strategies used by students during test case design based on real-life cases. Ultimately, the results of the experiment will be used to develop educational support for teaching software testing.

Teses
supervisionadas

2023

Data-Driven Hint Generation for Alloy using Historial Student Submissions

Autor
Ana Inês Oliveira de Barros

Instituição
UP-FEUP

2023

Mutation Operators for Android Apps

Autor
Ana Rita Cheio da Veiga

Instituição
UP-FEUP

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Autor
David Roberto Cravo da Mata

Instituição
UP-FEUP

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Autor
David Roberto Cravo da Mata

Instituição
UP-FEUP

2022

Mutation Testing Effectiveness - An Empirical Analysis on Java Mutation Testing Tools

Autor
Luís Carlos de Sousa Pinto

Instituição
UP-FEUP