Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
About

About

Ana Paiva (publishes as Ana C. R. Paiva). Ana Paiva is Assistant Professor at the Informatics Engineering Department of the Faculty of Engineering of University of Porto (FEUP) where she works since 1999. She is a researcher at INESC TEC in the Software Engineering area and member of the Software Engineering research group which gathers researchers and post graduate students with common interests in software engineering. She teaches subjects like Software Testing, Formal Methods and Software Engineering, among others. She has a PhD in Electrical and Computer Engineering from FEUP with a thesis titled"Automated Specification Based Testing of Graphical User Interfaces". Her expertise is on the implementation and automation of the model based testing process. She has been developing research work in collaboration with Foundation of Software Engineering research group within Microsoft Research where she had the opportunity to extend Microsoft's model-based testing tool, Spec Explorer, for GUI testing. She is PI of a National Science Foundation funded project on Pattern-Based GUI Testing (PBGT). She is a member of the PSTQB (Portuguese Software Testing Qualification Board) board general assembly, member of TBok, Glossary, and the MBT Examination Working Groups of the ISTQB (International Software Testing Qualification Board), member of the Council of the Department of Informatics Engineering, and member of the Executive Committee of the Department of Informatics Engineering.

Interest
Topics
Details

Details

  • Name

    Ana Cristina Paiva
  • Role

    Senior Researcher
  • Since

    01st February 2014
002
Publications

2025

Alloy Repair Hint Generation Based on Historical Data

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

Publication
FORMAL METHODS, PT II, FM 2024

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.

2025

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

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

Publication
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

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

Publication
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

FRAFOL: FRAmework FOr Learning mutation testing

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

Publication
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.

2024

Message from the General Co-Chairs: International Conference on Software Engineering (ICSE) 2024

Authors
Paiva, CR; Abreu, R;

Publication
Proceedings - International Conference on Software Engineering

Abstract
[No abstract available]

Supervised
thesis

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Author
David Roberto Cravo da Mata

Institution
UP-FEUP

2023

Data-Driven Hint Generation for Alloy using Historial Student Submissions

Author
Ana Inês Oliveira de Barros

Institution
UP-FEUP

2023

Mutation Operators for Android Apps

Author
Ana Rita Cheio da Veiga

Institution
UP-FEUP

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Author
David Roberto Cravo da Mata

Institution
UP-FEUP

2022

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

Author
Luís Carlos de Sousa Pinto

Institution
UP-FEUP