Andrés Bastidas

Mr. Andrés Bastidas

Facultad de Ingeniería de Sistemas - FIS, Escuela Politécnica Nacional, Quito, Pichincha, Ecuador
orcid

Research Focus & Metrics

Academic Career Length

10Years (2017-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
13 March 2023 in Applied Sciences
Verified
Journal Article
Open access
PDF file
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MPMaria Pérez
Maria Pérez
JHJaime Alcides Meza Hormaza
Jaime Alcides Meza Hormaza
Transpilers refer to a special type of compilation that takes source code and translates it into target source code. This type of technique has been used for different types of implementations in scientific studies. A review of the research areas related to the use of transpilers allows the understanding of the direction in this branch of knowledge. The objective was to carry out an exhaustive and extended mapping of the usage and implementation of transpilers in research studies in the last 10 years. A systematic mapping review was carried out for answering the 5 research questions proposed. The PSALSAR method is used as a guide to the steps needed for the review. In total, from 1181 articles collected, 683 primary studies were selected, reviewed, and analyzed. Proposals from the industry were also analyzed. A new method for automatic data tabulation has been proposed for the mapping objective, using a relational database and SQL language. It was identified that the most common uses of transpilers are related to performance optimizations, parallel programming, embedded systems, compilers, testing, AI, graphics, and software development. In conclusion, it was possible to determine the extent and identification of research sub-areas and their impact on the usage of the transpilers. Future research could be considered about the usage of transpilers in transactional software, migration strategies for legacy systems, AI, math, multiplatform games and apps, automatic source code generation, and networking.

17 October 2023 in Applied Sciences
Verified
Journal Article
Open access
PDF file
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MPMaria Pérez
Maria Pérez
JHJaime Alcides Meza Hormaza
Jaime Alcides Meza Hormaza
The utilization of software architectures and designs is widespread in software development, offering conceptual frameworks to address recurring challenges. A transpiler is a tool that automatically converts source code from one high-level programming language to another, ensuring algorithmic equivalence. This study introduces an innovative software architecture design model that integrates transpilers into the back-end layer, enabling the automatic transformation of business logic and back-end components from a single source code (the coding artifact) into diverse equivalent versions using distinct programming languages (the automatically produced code). This work encompasses both abstract and detailed design aspects, covering the proposal, automated processes, layered design, development environment, nest implementations, and cross-cutting components. In addition, it defines the main target audiences, discusses pros and cons, examines their relationships with prevalent design paradigms, addresses considerations about compatibility and debugging, and emphasizes the pivotal role of the transpiler. An empirical experiment involving the practical application of this model was conducted by implementing a collaborative to-do list application. This paper comprehensively outlines the relevant methodological approach, strategic planning, precise execution, observed outcomes, and insightful reflections while underscoring the the model’s pragmatic viability and highlighting its relevance across various software development contexts. Our contribution aims to enrich the field of software architecture design by introducing a new way of designing multi-programming-language software.

1 October 2017
Verified
Conference Paper
Closed access
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MPMaria Perez
Maria Perez
A Transpiler is a set of tools that take the source code developed in a high-level programming language (source language), and after a transpilation process, it generates a translated source code written in another programming language (target language), that is syntactically equivalent. In this paper, it is presented a new approach for software architecture design, which uses a Transpiler (Haxe) as a programming language and as a generator of the business logic and service layer. The goal is that software developers write the business logic only once and transpile it to equivalent server layers for C#, Java, and PHP, making them reusable and runnable on several platforms. An experimental prototype was developed to test the idea (published on GitHub with the codename “Cornerstone”), that implements a benchmark to compare when running on different Operating Systems and Application Servers combinations. A single web interface is developed, using HTML, CSS, Javascript, and XML-HttpRequest, which connect to any of the transpiled services regardless of the deployment platform. Cloud instances were used to assure comparability. Preliminary results were obtained and analyzed to show the concept validity and which platform combination provided the highest performance.

1 October 2018
Verified
Conference Paper
Closed access
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MPMaria Perez
Maria Perez
Context: For software product builders, when planning public-available transaction-oriented applications, a multi-platform and multi-programming-language software architecture design increase the flexibility, compatibility, and adoption probability, and establish the project ecosystem. Software architects are challenged to design a framework for developers to write the software only once, but obtaining various implementations of the same application, each one developed with a different programming language. A unique roadmap and different extension-methods are relevant to add allies, to reduce the cost of maintenance and for ease the upgrading. A transpiler is a tool that allows the translation of a source code to other programming languages, so it could be used for this objective. Objectives: To make a comprehensive literature review of the studies on transpiler implementations and usages for transaction-oriented applications to clearly identify current works in this topic and guide future work. Method: A Systematic Literature Review (SLR) was conducted. In total, of 550 collected papers, 170 primary studies were selected, reviewed, and analyzed.ResultsWe identified that the most common usages for transpilers are for translating sequential to parallel programming, GPU parallel execution optimizations and for compilation improvements. Conclusion: The transpilers have not been used previously for designing multi-platform transaction-oriented applications, opening this field for future research.

6 November 2023 in IEEE Access
Verified
Journal Article
Open access
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MPMaria Pérez
Maria Pérez
JMJaime Meza
Jaime Meza
In the evolving landscape of software development, the nMorph framework introduces a potential advancement in multi-programming language development. This framework is designed to allow developers to code in a single language that can be transpiled into multiple target languages, aiming to maintain single design integrity while offering the potential for customization, technological adaptability, and platform independence. Architecturally, nMorph focus on the back-end, incorporating a layered design that includes components such as ORM & Database Connectors and a dedicated security layer. Central to this construct is the Haxe transpiler, which is designed to transform between languages such as Java, C#, and PHP. The framework also considered the support for connecting databases such as the Oracle, SQL Server, MySQL and PostgreSQL. Also the preparation for running in IIS, Apache, Tomcat, Glassfish and others. A controlled empirical experiment was conducted in which novice programmers used the nMorph framework in comparison with traditional programming languages in a simple banking-like transactional exercise. Results showed that participants took an average of 15.19% longer when using nMorph compared with commonly used programming languages. Despite that, with nMorph they obtained a multi-language and multi-platform software. Some other factors were analyzed about the influence of individual developer proficiency on outcomes, suggesting areas where the nMorph could be refined. This study underscores the relationship between perceived task difficulty, language proficiency, and software development phases. This study was primarily lab-based. There is potential value in further exploring real-world applications and broadening the scope of the framework to assess its broader relevance and efficacy.

Verified
Journal Article
Open access
PDF file
MPMaria Pérez
Maria Pérez
Andrés BastidasAndrés Bastidas
Andrés Bastidas
MIMonserrate Intriago-Pazmiño
Monserrate Intriago-Pazmiño
Lenin Gonzalo FalconiLenin Gonzalo Falconi
Lenin Gonzalo Falconi
JBJuan Sebastian Benavides
Juan Sebastian Benavides
Background: Preeclampsia remains a major cause of maternal and perinatal morbidity and mortality, and machine learning (ML) and artificial intelligence (AI) models have increasingly been proposed for risk prediction, diagnosis, monitoring, and prognosis. However, the extent to which key methodological details are visible from abstracts and bibliographic metadata remains unclear. Methods: We conducted an abstract-level systematic mapping review of ML/AI studies for preeclampsia (PE), hypertensive disorders of pregnancy (HDP), and directly related complications. Records were identified from ACM Digital Library, Elsevier/ScienceDirect, IEEE Xplore, PubMed, Scopus, SpringerLink, and snowballing. After DOI-based deduplication, abstract-availability checks, technical metadata filtering, and a two-stage eligibility audit, 29 primary ML/AI studies were retained for the final synthesis. Two authors independently re-audited the 145 technically retained records for eligibility. Initial agreement was 131/145 records (90.3%); for the binary include/exclude decision, Cohen’s kappa was approximately 0.764, indicating substantial agreement. Extraction was limited to title, abstract, year, DOI, and bibliographic metadata using a predefined RQ-aligned schema. Therefore, all frequencies represent information explicitly extractable at the abstract level and should be interpreted as lower-bound reporting estimates rather than full-text prevalence estimates. Results: Among the 29 eligible studies, tree-based models were the most frequently identifiable family (17/29), followed by linear/generalized linear models (15/29), support vector machines (9/29), and neural networks (8/29). The most frequently identifiable input modalities were EHR/clinical variables (21/29), demographics (10/29), laboratory variables (7/29), vital signs/blood pressure (7/29), and ultrasound/Doppler information (6/29). AUC was mentioned in 20/29 abstracts, but a numeric AUC value was extractable into the structured field in 14/29. These values were summarized descriptively and were not pooled because outcomes, prediction horizons, populations, predictors, and validation strategies were heterogeneous. External validation was explicitly identifiable in 8/29 abstracts, explainability-related methods in 5/29, and repository or dataset-source information in 1/29. Conclusions: The abstract-level evidence shows an active but heterogeneous ML/AI literature for PE/HDP prediction and related outcomes. However, abstracts often provide insufficient detail for robust comparative assessment of model validity, calibration, clinical readiness, reproducibility, and implementation. Future work should prioritize full-text evidence synthesis, standardized reporting, external and temporal validation, calibration, equity assessment, clinically meaningful explainability, and reusable data/model resources.