Camilo Escobar-Velásquez

dblp:199/1932 · also Camilo Andrés Escobar-Velasquez · DBLP profile ↗
← Back
21ranked-venue papers
6as first author
14since 2021 · last 2025
0000-0001-8414-9301ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 21 · 6 first-author · 14 since 2021Databases, data management, data science and information retrieval · 2
YearPublicationVenuePosition
2025 A Developer's Guide to Building and Testing Accessible Mobile Apps
abstract
Mobile applications play a relevant role in users' daily lives by improving and easing daily processes such as commuting or making financial transactions. The aforementioned interactions enhance the usability of commonly used services. Nevertheless, the improvements should also consider special execution environments such as weak network connections or special requirements inherited from the user's condition. Due to this, the design of mobile applications should be driven by improving the user experience. This tutorial targets the usage of inclusive and accessibility design in the development process of mobile apps. Making sure that applications are accessible to all users, regardless of disabilities, is not just about following the law or fulfilling ethical obligations; it is crucial in creating inclusive and fair digital environments. This tutorial will educate participants on accessibility principles and the available tools. They will gain practical experience with specific Android and iOS platform features, as well as become acquainted with state-of - the-art automated and manual testing tools.
Juan Pablo Sandoval Alcocer, Leonel Merino, Alison Fernandez, William Ravelo-Méndez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
ICST5
2025 Autonomous Agents for Accessibility: Simulating Visual Impairments in Web Interfaces
abstract
Static code analysis cannot detect real-time interaction issues faced by users with disabilities. We propose a multi-modal Artificial Intelligence (AI) agent framework that simulates interactions of users with visual impairments without code access. The agent would closely simulate the experience of these users by interacting with web interfaces using the same modalities available to them, primarily keyboard navigation and screen readers. The agent perceives the interface through perceptual filters that mimic conditions including glaucoma and myopia, and handles both the altered visual input and audio output from screen readers. This approach aims to replicate the real-world constraints and strategies of users with disabilities, enabling more realistic evaluation, with the objective of identifying, locating and repairing web accessibility issues. We suggest a framework to evaluate how such filters affect user behavior, task success, and User Interface (UI) usability. Our approach aims to uncover visual accessibility flaws that become apparent under impaired perception.
Juan Diego Yepes-Parra, Camilo Escobar-Velásquez
ASE2
2025 EyeNav: Accessible Webpage Interaction and Testing using Eye-tracking and NLP
abstract
In the field of human-computer interaction (HCI), alternative interaction methods are becoming increasingly popular and commercially available. From this opportunity came EyeNav, a system that combines eye-tracking and natural language processing (NLP) to enhance accessibility and enable automated test generation. The integration of these technologies for intuitive web interaction, using pointer control via gaze and natural language processing for interpreting user intentions, also presents a record-and-replay module for generating automated test scripts. Envisioned for users with motor disabilities, developers, usability testers, and general users interested in exploring novel multimodal web interactions. The ultimate goal is to demonstrate that this tool can be used not only as a possible assistive technology but also as an innovative approach to software testing. The tool is available publicly at https://thesoftwaredesignlab.github.io/EyeNav/, accompanied with a demonstration video https://thesoftwaredesignlab.github.io/EyeNav/video.html
Juan Diego Yepes-Parra, Camilo Escobar-Velásquez
ASE2
2025 From Triumph to Uncertainty: The Journey of Software Engineering in the AI Era
abstract
Over the last 10 years, the realm of AI has experienced an explosion of revolutionary breakthroughs, transforming what seemed like a far-off dream into a reality that is now deeply embedded in our everyday lives. AI’s widespread impact is revolutionizing virtually all aspects of human life, and software engineering (SE) is no exception. As we explore this changing landscape, we are faced with questions about what the future holds for SE and how AI will reshape the roles, duties, and methodologies within the field. The introduction of these groundbreaking technologies highlights the inevitable shift toward a new paradigm, suggesting a future where AI’s capabilities may redefine the boundaries of SE, potentially even more than human input. In this article, we aim at outlining the key elements that, based on our expertise, are vital for the smooth integration of AI into SE, all while preserving the intrinsic human creativity that has been the driving force behind the field. First, we provide a brief description of SE and AI evolution. Afterward, we delve into the intricate interplay between AI-driven automation and human innovation, exploring how these two components can work together to advance SE practices to new methods and standards.
Antonio Mastropaolo, Camilo Escobar-Velásquez, Mario Linares-Vásquez
ACM Trans. Softw. Eng. Methodol.2
2023 CONAN: Statically Detecting Connectivity Issues in Android Applications
abstract
Mobile apps are increasingly used in daily activities. Most apps require Internet connectivity to be fully exploited. Despite the fact that global access to the Internet has improved over the years, there are still complex connectivity scenarios, including situations with zero/unreliable connectivity. In such scenarios, improper handling of Eventual Connectivity Issues may cause bugs and crashes that worsen the user experience. Even though these issues have been studied in the literature, no automatic detection techniques are available. To address the mentioned gap, we have created the open source CONAN tool. CONAN can statically detect 16 types of Eventual Connectivity Issues within Android apps; it works at the source code level and alerts developers of any connectivity issue, highlighting them directly in the IDE or generating a report explaining the detected errors. In this paper, we present the technical aspects and a video of our tool, which are publicly available at https://tinyurl.com/CONAN-lint.
Alejandro Mazuera-Rozo, Camilo Escobar-Velásquez, Juan Espitia-Acero, Mario Linares-Vásquez, Gabriele Bavota
ESEC/SIGSOFT FSE2
2023 Kraken 2.0: A platform-agnostic and cross-device interaction testing tool
William Ravelo-Méndez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
Sci. Comput. Program.2
2022 Detecting Connectivity Issues in Android Apps
abstract
Android is the most popular mobile operating system in the world, running on more than 70% of mobile devices. This implies a gigantic and very competitive market for Android apps. Being successful in such a market is far from trivial and requires, besides the tackling of a problem or need felt by a vast audience, the development of high-quality apps. As recently showed in the literature, connectivity issues (e.g., mishandling of zero/unreliable Internet connection) can result in bugs and/or crashes, negatively affecting the app's user experience. While these issues have been studied in the literature, there are no techniques able to automatically detect and report them to developers. We present CONAN, a tool able to detect statically 16 types of connectivity issues affecting Android apps. We assessed the ability of CONAN to precisely identify these issues in a set of 44 open source apps, observing an average precision of 80%. Then, we studied the relevance of these issues for developers by (i) conducting interviews with six practitioners working with commercial Android apps, and (ii) submitting 84 issue reports for 27 open source apps. Our results show that several of the identified connectivity issues are considered as relevant by practitioners in specific contexts, in which connectivity is considered a first-class feature.
Alejandro Mazuera-Rozo, Camilo Escobar-Velásquez, Juan Espitia-Acero, Mario Linares-Vásquez, Gabriele Bavota
SANER2
2022 Crème de la crème. Investigating Metadata and Survivability of Top Android Apps
abstract
Mobile apps are distributed via online markets allowing practitioners to reach users worldwide; on the other side, users select what apps are more suitable for their preferences from a large set of apps offering similar features and capabilities. To facilitate that selection process, the distribution markets have different mechanisms, such as comments, ratings, and top-listed apps, including a curated list. As it is well known, apps stores metadata can provide insights for new, popular features or fixing existing bugs, as reported in previous works. However, to the best of our knowledge, app store data have not been used to identify possible predominant characteristics of successful apps using as a reference the aforementioned top lists. Thus, in this paper, we present a study that analyzes the metadata of apps belonging to Google Play top lists during 30 weeks in 4 countries to distill features of successful apps. Unfortunately, our results suggest that apps store metadata from top list apps do not provide enough information to identify those features.
Anamaria Mojica-Hanke, Laura Bello-Jiménez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
SANER3
2022 A Preliminary Study on Accessibility of Augmented Reality Features in Mobile Apps
abstract
The capabilities of Android applications have been increasing along with the advancements of the underlying mobile devices. This has allowed developers to include features that require more resources and provide more complex functionality inside mobile apps. An example of this is the usage of Augmented Reality (AR) in mobile applications. AR allows developers to experiment with new immersive experiences for their users in a wide variety of application areas. AR content is often visual and it represents a challenge for users with visual impairments, especially if these features are core to the underlying application. In this paper, we present a preliminary study aimed at investigating accessibility of AR functionalities of mobile applications that are not specifically designed for users with visual impairments (i.e., applications of which these users could be part of the intended audience, but they are not the specific audience). To accomplish this, we conducted a case study with 49 individuals without visual impairment and 5 individuals that are visually impaired, who used 5 applications with AR features. Our results demonstrate that the analyzed apps lack accessibility mechanisms within their AR functionalities.
Sergio Naranjo-Puentes, Camilo Escobar-Velásquez, Christopher Vendome, Mario Linares-Vásquez
SANER2
2022 Kraken 2.0: A platform-agnostic and cross-device interaction testing tool
abstract
Mobile devices and apps have a primordial role in daily life, and both have supported daily activities that involve humans interaction. Nevertheless, this interaction can occur between users in different platforms (e.g., web and mobile) and devices. Because of this, developers are required to test combinations of heterogeneous interactions to ensure a correct behavior of multi-device and multi-platform apps. Unfortunately, to the best of our knowledge, there is no existing open source tool that enables testing for those cases. In this paper, we present an improved version of our tool KrakenMobile, an open source tool that enables the execution of interactive End-2-End tests between Android devices. This new version, Kraken 2.0, has new capabilities such as execution of platform-agnostic interactive End-2-End tests (e.g., web and mobile), and has been migrated from Ruby to NodeJS to improve its usability. Kraken2.0 is publicly available on GitHub (https://bit.ly/30KPFcv). Videos: https://bit.ly/3f1fRXa
William Ravelo-Méndez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
SANER2
2022 Studying eventual connectivity issues in Android apps
Camilo Escobar-Velásquez, Alejandro Mazuera-Rozo, Claudia Bedoya, Michael Osorio-Riaño, Mario Linares-Vásquez, Gabriele Bavota
Empir. Softw. Eng.1
2022 Taxonomy of security weaknesses in Java and Kotlin Android apps
abstract
Android is nowadays the most popular operating system in the world, not only in the realm of mobile devices, but also when considering desktop and laptop computers. Such a popularity makes it an attractive target for security attacks, also due to the sensitive information often manipulated by mobile apps. The latter are going through a transition in which the Android ecosystem is moving from the usage of Java as the official language for developing apps, to the adoption of Kotlin as the first choice supported by Google. While previous studies have partially studied security weaknesses affecting Java Android apps, there is no comprehensive empirical investigation studying software security weaknesses affecting Android apps considering (and comparing) the two main languages used for their development, namely Java and Kotlin. We present an empirical study in which we: (i) manually analyze 681 commits including security weaknesses fixed by developers in Java and Kotlin apps, with the goal of defining a taxonomy highlighting the types of software security weaknesses affecting Java and Kotlin Android apps; (ii) survey 43 Android developers to validate and complement our taxonomy. Based on our findings, we propose a list of future actions that could be performed by researchers and practitioners to improve the security of Android apps.
Alejandro Mazuera-Rozo, Camilo Escobar-Velásquez, Juan Espitia-Acero, David Vega-Guzmán, Catia Trubiani, Mario Linares-Vásquez, Gabriele Bavota
J. Syst. Softw.2
2022 Enabling Mutant Generation for Open- and Closed-Source Android Apps
abstract
Mutation testing has been widely used to assess the fault-detection effectiveness of a test suite, as well as to guide test case generation or prioritization. Empirical studies have shown that, while mutants are generally representative of real faults, an effective application of mutation testing requires “traditional” operators designed for programming languages to be augmented with operators specific to an application domain and/or technology. The case for Android apps is not an exception. Therefore, in this paper we describe the process we followed to create (i) a taxonomy of mutation operations and, (ii) two tools,MDroid+andMutAPKfor mutant generation of Android apps. To this end, we systematically devise a taxonomy of 262 types of Android faults grouped in 14 categories by manually analyzing 2,023 software artifacts from different sources (e.g.,bug reports, commits). Then, we identified a set of 38 mutation operators, and implemented them in two tools, the first enabling mutant generation at the source code level, and the second designed to perform mutations at APK level. The rationale for having a dual-approach is based on the fact that source code is not always available when conducting mutation testing. Thus, mutation testing for APKs enables new scenarios in which researchers/practitioners only have access to APK files. The taxonomy, proposed operators, and tools have been evaluated in terms of the number of non-compilable, trivial, equivalent, andduplicatemutants generated and their capacity to represent real faults in Android apps as compared to other well-known mutation tools.
Camilo Escobar-Velásquez, Mario Linares-Vásquez, Gabriele Bavota, Michele Tufano, Kevin Moran, Massimiliano Di Penta, Christopher Vendome, Carlos Bernal-Cárdenas, Denys Poshyvanyk
IEEE Trans. Software Eng.1
2021 Kraken: A framework for enabling multi-device interaction-based testing of Android apps
William Ravelo-Méndez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
Sci. Comput. Program.2
2020 An Empirical Study of i18n Collateral Changes and Bugs in GUIs of Android apps
abstract
Mobile markets allow developers to easily distribute mobile apps worldwide and collect complaints and feature requests in the form of user reviews and star ratings. Therefore, internationalization (i18n) of apps is a highly desired feature, which is currently supported in mobile platforms by using resources flies with strings that can be internationalized manually. This manual translation can be a time consuming and error-prone task when the app is targeted for different languages and the amount of strings to be internationalized is large. Moreover, the lack of consideration of the impact of internationalized, strings can drive to collateral (i.e., unexpected) changes and bugs in the GUI layout of apps. In this paper, we present an empirical study on how i18n can impact the GUIs of Android apps. In particular, we investigated the changes, bugs and bad practices related to GUIs when strings of a given default language (i.e., English in this case) are translated to 7 different languages. To this, we created a source- codeless approach, ITDroid, for automatically (i) translating strings, and (ii) detecting bad practices and collateral changes introduced in the GUIs of Android apps after translation. ITDroid was used on a set of 31 Android apps and their translated versions. Then, we manually validated the i18n changes that introduced bugs into the GUIs of the translated apps. Based on these results, we present a taxonomy of i18n changes and bugs found along in the apps as well as implications of our findings for practitioners and researchers. Online appendix: https://thesoftwaredesignlab.github.io/ITDroid/.
Camilo Escobar-Velásquez, Michael Osorio-Riaño, Juan Dominguez-Osorio, Maria Arevalo, Mario Linares-Vásquez
ICSME1
2020 Source-Codeless Testing for Android Apps
Camilo Escobar-Velásquez
ICST1
2020 Hall-of-Apps: The Top Android Apps Metadata Archive
abstract
The amount of Android apps available for download is constantly increasing, exerting a continuous pressure on developers to publish outstanding apps. Google Play (GP) is the default distribution channel for Android apps, which provides mobile app users with metrics to identify and report apps quality such as rating, amount of downloads, previous users comments, etc. In addition to those metrics, GP presents a set of top charts that highlight the outstanding apps in different categories. Both metrics and top app charts help developers to identify whether their development decisions are well valued by the community. Therefore, app presence in these top charts is a valuable information when understanding the features of top-apps. In this paper we present Hall-of-Apps, a dataset containing top charts' apps metadata extracted (weekly) from GP, for 4 different countries, during 30 weeks. The data is presented as (i) raw HTML files, (ii) a MongoDB database with all the information contained in app's HTML files (e.g., app description, category, general rating, etc.), and (iii) data visualizations built with the D3.js framework. A first characterization of the data along with the urls to retrieve it can be found in our online appendix: https://bit.ly/2uIkXs8. Dataset: https://bit.ly/2Wu9qsn
Laura Bello-Jiménez, Camilo Escobar-Velásquez, Anamaria Mojica-Hanke, Santiago Cortés-Fernández, Mario Linares-Vásquez
MSR2
2020 MutAPK 2.0: a tool for reducing mutation testing effort of Android apps
abstract
Mutation testing is a time consuming process because large sets of fault-injected-versions of an original app are generated and executed with the purpose of evaluating the quality of a given test suite. In the case of Android apps, recent studies even suggest that mutant generation and mutation testing effort could be greater when the mutants are generated at the APK level. To reduce that effort, useless (e.g., equivalent) mutants should be avoided and mutant selection techniques could be used to reduce the set of mutants used with mutation testing. However, despite the existence of mutation testing tools, none of those tools provides features for removing useless mutants and sampling mutant sets. In this paper, we present MutAPK 2.0, an improved version of our open source mutant generation tool (MutAPK) for Android apps at APK level. To the best of our knowledge, MutAPK 2.0 is the first tool that enables the removal of dead-code mutants, provides a set of mutant selection strategies, and removes automatically equivalent and duplicate mutants. MutAPK 2.0 is publicly available at GitHub: https://thesoftwaredesignlab.github.io/MutAPK/ VIDEO: https://thesoftwaredesignlab.github.io/MutAPK/video.html
Camilo Escobar-Velásquez, Diego Riveros, Mario Linares-Vásquez
ESEC/SIGSOFT FSE1
2019 Kraken-Mobile: Cross-Device Interaction-Based Testing of Android Apps
abstract
Mobile applications that involve the interaction of two or more users are becoming more common nowadays, and the demand of good performance and availability by their users is increasing. This makes testing and automation of processes essential for delivering high-quality cross-device apps. In this paper, we present Kraken, a cross-device testing tool that enables a tester to write, run, and validate test scenarios that involve the interaction of more than two devices as well as its underlying implementation. The proposed tool uses APKs as input along with tests scripts wrote using the Gherkin syntax. Kraken is publicly available on GitHub https://thesoftwaredesignlab.github.io/KrakenMobile/ Videos: https://www.youtube.com/playlist?list=PLF5U8kfVgRcJ3RCHt7cWmwlqN93brbVW-
William Ravelo-Méndez, Camilo Escobar-Velásquez, Mario Linares-Vásquez
ICSME2
2019 MutAPK: Source-Codeless Mutant Generation for Android Apps
abstract
The amount of Android application is having a tremendous increasing trend, exerting pressure over practitioners and researchers around application quality, frequent releases, and quick fixing of bugs. This pressure leads practitioners to make usage of automated approaches based on using source-code as input. Nevertheless, third-party services are not able to use these approaches due to privacy factors. In this paper we present MutAPK, an open source mutation testing tool that enables the usage of APK as input for this task. MutAPK generates mutants without the need of having access to source code, because the mutations are done in an intermediate representation of the code (i.e., SMALI) that does not require compilation. MutAPK is publicly available at GitHub: https://bit.ly/2KYvgP9 VIDEO: https://bit.ly/2WOjiyy.
Camilo Escobar-Velásquez, Michael Osorio-Riaño, Mario Linares-Vásquez
ASE1
2017 An empirical study on Android-related vulnerabilities
abstract
Mobile devices are used more and more in everyday life. They are our cameras, wallets, and keys. Basically, they embed most of our private information in our pocket. For this and other reasons, mobile devices, and in particular the software that runs on them, are considered first-class citizens in the software-vulnerabilities landscape. Several studies investigated the software-vulnerabilities phenomenon in the context of mobile apps and, more in general, mobile devices. Most of these studies focused on vulnerabilities that could affect mobile apps, while just few investigated vulnerabilities affecting the underlying platform on which mobile apps run: the Operating System (OS). Also, these studies have been run on a very limited set of vulnerabilities. In this paper we present the largest study at date investigating Android-related vulnerabilities, with a specific focus on the ones affecting the Android OS. In particular, we (i) define a detailed taxonomy of the types of Android-related vulnerability, (ii) investigate the layers and subsystems from the Android OS affected by vulnerabilities, and (iii) study the survivability of vulnerabilities (i.e., the number of days between the vulnerability introduction and its fixing). Our findings could help OS and apps developers in focusing their verification & validation activities, and researchers in building vulnerability detection tools tailored for the mobile world.
Mario Linares-Vásquez, Gabriele Bavota, Camilo Escobar-Velásquez
MSR3