-
Quantum software experiments: A reporting and laboratory package structure guidelines
Authors:
Enrique Moguel,
José Antonio Parejo,
Antonio Ruiz-Cortés,
Jose Garcia-Alonso,
Juan Manuel Murillo
Abstract:
Background. In the realm of software engineering, there are widely accepted guidelines for reporting and creating laboratory packages. Unfortunately, the landscape differs considerably in the emerging field of quantum computing. To the best of our knowledge, no standardized guidelines exist for describing experiments or outlining the necessary structures for quantum software laboratory packages. A…
▽ More
Background. In the realm of software engineering, there are widely accepted guidelines for reporting and creating laboratory packages. Unfortunately, the landscape differs considerably in the emerging field of quantum computing. To the best of our knowledge, no standardized guidelines exist for describing experiments or outlining the necessary structures for quantum software laboratory packages. Aims. This paper endeavors to enhance the replicability and verifiability of quantum software experiments. Method. This objective is pursued through the proposition of guidelines for reporting and the delineation of a structure for laboratory packages tailored to quantum computing experiments. Specifically, we advocate for an extension and adaption of established guidelines in experimental software engineering, integrating novel elements to address the specific requirements of quantum software engineering. Results. In validating the utility and effectiveness of the proposed guidelines, we conducted a review encompassing 11 works (5 focusing on reporting guidelines and 6 on laboratory packages). In particular, this review highlighted the absence of standardized guidelines and structure of laboratory packages for quantum software experiments. Conclusions. Our assessment revealed gaps in information and opportunities for enhancement within the evaluated papers and laboratory packages. Our proposal contributes to the advancement of quantum software engineering research, taking a fundamental step toward fostering rigorous and reliable scientific research in this emerging paradigm.
△ Less
Submitted 7 May, 2024;
originally announced May 2024.
-
Challenges of Quantum Software Engineering for the Next Decade: The Road Ahead
Authors:
Juan M. Murillo,
Jose Garcia-Alonso,
Enrique Moguel,
Johanna Barzen,
Frank Leymann,
Shaukat Ali,
Tao Yue,
Paolo Arcaini,
Ricardo Pérez Castillo,
Ignacio García Rodríguez de Guzmán,
Mario Piattini,
Antonio Ruiz-Cortés,
Antonio Brogi,
Jianjun Zhao,
Andriy Miranskyy,
Manuel Wimmer
Abstract:
As quantum computers evolve, so does the complexity of the software that they can run. To make this software efficient, maintainable, reusable, and cost-effective, quality attributes that any industry-grade software should strive for, mature software engineering approaches should be applied during its design, development, and operation. Due to the significant differences between classical and quan…
▽ More
As quantum computers evolve, so does the complexity of the software that they can run. To make this software efficient, maintainable, reusable, and cost-effective, quality attributes that any industry-grade software should strive for, mature software engineering approaches should be applied during its design, development, and operation. Due to the significant differences between classical and quantum software, applying classical software engineering solutions to quantum software is difficult. This resulted in the birth of Quantum Software Engineering as a discipline in the contemporary software engineering landscape. In this work, a set of active researchers is currently addressing the challenges of Quantum Software Engineering and analyzing the most recent research advances in this domain. This analysis is used to identify needed breakthroughs and future research directions for Quantum Software Engineering.
△ Less
Submitted 10 April, 2024;
originally announced April 2024.
-
Pricing4SaaS: Towards a pricing model to drive the operation of SaaS
Authors:
Alejandro García-Fernández,
José Antonio Parejo,
Antonio Ruiz-Cortés
Abstract:
The Software as a Service (SaaS) model is a distribution and licensing model that leverages pricing structures and subscriptions to profit. The utilization of such structures allows Information Systems (IS) to meet a diverse range of client needs, while offering improved flexibility and scalability. However, they increase the complexity of variability management, as pricings are influenced by busi…
▽ More
The Software as a Service (SaaS) model is a distribution and licensing model that leverages pricing structures and subscriptions to profit. The utilization of such structures allows Information Systems (IS) to meet a diverse range of client needs, while offering improved flexibility and scalability. However, they increase the complexity of variability management, as pricings are influenced by business factors, like strategic decisions, market trends or technological advancements. In pursuit of realizing the vision of pricing-driven IS engineering, this paper introduces Pricing4SaaS as a first step, a generalized specification model for the pricing structures of systems that apply the Software as a Service (SaaS) licensing model. With its proven expressiveness, demonstrated through the representation of 16 distinct popular SaaS systems, Pricing4SaaS aims to become the cornerstone of pricing-driven IS engineering.
△ Less
Submitted 30 March, 2024;
originally announced April 2024.
-
Pricing-driven Development and Operation of SaaS : Challenges and Opportunities
Authors:
Alejandro García-Fernández,
José Antonio Parejo,
Antonio Ruiz-Cortés
Abstract:
As the Software as a Service (SaaS) paradigm continues to reshape the software industry, a nuanced understanding of its operational dynamics becomes increasingly crucial. This paper delves into the intricate relationship between pricing strategies and software development within the SaaS model. Using PetClinic as a case study, we explore the implications of a Pricing-driven Development and Operati…
▽ More
As the Software as a Service (SaaS) paradigm continues to reshape the software industry, a nuanced understanding of its operational dynamics becomes increasingly crucial. This paper delves into the intricate relationship between pricing strategies and software development within the SaaS model. Using PetClinic as a case study, we explore the implications of a Pricing-driven Development and Operation approach of SaaS systems, highlighting the delicate balance between business-driven decision-making and technical implementation challenges, shedding light on how pricing plans can shape software features and deployment. Our discussion aims to provide strategic insights for the community to navigate the complexities of this integrated approach, fostering a better alignment between business models and technological capabilities for effective cloud-based services.
△ Less
Submitted 20 March, 2024;
originally announced March 2024.
-
Pricing4SaaS: a suite of software libraries for pricing-driven feature toggling
Authors:
Alejandro García-Fernández,
José Antonio Parejo,
Pablo Trinidad,
Antonio Ruiz-Cortés
Abstract:
As the digital marketplace evolves, the ability to dynamically adjust or disable features and services in response to market demands and pricing strategies becomes increasingly crucial for maintaining competitive advantage and enhancing user engagement. This paper introduces a novel suite of software libraries named Pricing4SaaS, designed to facilitate the implementation of pricing-driven feature…
▽ More
As the digital marketplace evolves, the ability to dynamically adjust or disable features and services in response to market demands and pricing strategies becomes increasingly crucial for maintaining competitive advantage and enhancing user engagement. This paper introduces a novel suite of software libraries named Pricing4SaaS, designed to facilitate the implementation of pricing-driven feature toggles in both the front-end and back-end of SaaS systems, and discuss its architectural design principles. Including Pricing4React for front-end and Pricing4Java for back-end, the suite enables developers a streamlined and efficient approach to integrating feature toggles that can be controlled based on pricing plans, emphasizing centralized toggle management, and secure synchronization of the toggling state between the client and server. We also present a case study based on the popular Spring PetClinic project to illustrate how the suite can be leveraged to optimize developer productivity, avoiding technical debt, and improving operational efficiency.
△ Less
Submitted 20 March, 2024;
originally announced March 2024.
-
Pricing4APIs: A Rigorous Model for RESTful API Pricings
Authors:
Rafael Fresno-Aranda,
Pablo Fernandez,
Antonio Gamez-Diaz,
Amador Duran,
Antonio Ruiz-Cortes
Abstract:
APIs are increasingly becoming new business assets for organizations and consequently, API functionality and its pricing should be precisely defined for customers. Pricing is typically composed by different plans that specify a range of limitations, e.g., a Free plan allows 100 monthly requests while a Gold plan has 10000 requests per month. In this context, the OpenAPI Specification (OAS) has eme…
▽ More
APIs are increasingly becoming new business assets for organizations and consequently, API functionality and its pricing should be precisely defined for customers. Pricing is typically composed by different plans that specify a range of limitations, e.g., a Free plan allows 100 monthly requests while a Gold plan has 10000 requests per month. In this context, the OpenAPI Specification (OAS) has emerged to model the functional part of an API, becoming a de facto industry standard and boosting a rich ecosystem of vendor-neutral tools to assist API providers and consumers. In contrast, there is no proposal for modeling API pricings (i.e. their plans and limitations) and this lack hinders the creation of tools that can leverage this information. To deal with this gap, this paper presents a pricing modeling framework that includes: (a) Pricing4APIs model, a comprehensive and rigorous model of API pricings, along SLA4OAI, a serialization that extends OAS; (b) an operation to validate the description of API pricings, with a toolset (sla4oai-analyzer) that has been developed to automate this operation. Additionally, we analyzed 268 real-world APIs to assess the expressiveness of our proposal and created a representative dataset of 54 pricing models to validate our framework.
△ Less
Submitted 21 November, 2023;
originally announced November 2023.
-
Operating with Quantum Integers: an Efficient 'Multiples of' Oracle
Authors:
Javier Sanchez-Rivero,
Daniel Talaván,
Jose Garcia-Alonso,
Antonio Ruiz-Cortés,
Juan Manuel Murillo
Abstract:
Quantum algorithms are a very promising field. However, creating and manipulating these kind of algorithms is a very complex task, specially for software engineers used to work at higher abstraction levels. The work presented here is part of a broader research focused on providing operations of a higher abstraction level to manipulate integers codified as a superposition. These operations are desi…
▽ More
Quantum algorithms are a very promising field. However, creating and manipulating these kind of algorithms is a very complex task, specially for software engineers used to work at higher abstraction levels. The work presented here is part of a broader research focused on providing operations of a higher abstraction level to manipulate integers codified as a superposition. These operations are designed to be composable and efficient, so quantum software developers can reuse them to create more complex solutions. Specifically, in this paper we present a 'multiples of' operation. To validate this operation we show several examples of quantum circuits and their simulations, including its composition possibilities. A theoretical analysis proves that both the complexity of the required classical calculations and the depth of the circuit scale linearly with the number of qubits. Hence, the 'multiples of' oracle is efficient in terms of complexity and depth. Finally, an empirical study of the circuit depth is conducted to further reinforce the theoretical analysis.
△ Less
Submitted 10 April, 2023;
originally announced April 2023.
-
Some Initial Guidelines for Building Reusable Quantum Oracles
Authors:
Javier Sanchez-Rivero,
Daniel Talaván,
Jose Garcia-Alonso,
Antonio Ruiz-Cortés,
Juan Manuel Murillo
Abstract:
The evolution of quantum hardware is highlighting the need for advances in quantum software engineering that help developers create quantum software with good quality attributes. Specifically, reusability has been traditionally considered an important quality attribute in terms of efficiency of cost and effort. Increasing the reusability of quantum software will help developers create more complex…
▽ More
The evolution of quantum hardware is highlighting the need for advances in quantum software engineering that help developers create quantum software with good quality attributes. Specifically, reusability has been traditionally considered an important quality attribute in terms of efficiency of cost and effort. Increasing the reusability of quantum software will help developers create more complex solutions, by reusing simpler components, with better quality attributes, as long as the reused components have also these attributes. This work focuses on the reusability of oracles, a well-known pattern of quantum algorithms that can be used to perform functions used as input by other algorithms. In particular, in this work, we present several guidelines for making reusable quantum oracles. These guidelines include three different levels for oracle reuse: the ideas inspiring the oracle, the function which creates the oracle, and the oracle itself. To demonstrate these guidelines, two different implementations of a range of integers oracle have been built by reusing simpler oracles. The quality of these implementations is evaluated in terms of functionality and quantum circuit depth. Then, we provide an example of documentation following the proposed guidelines for both implementations to foster reuse of the provided oracles. This work aims to be a first point of discussion towards quantum software reusability. Additional work is needed to establish more specific criteria for quantum software reusability.
△ Less
Submitted 27 March, 2023;
originally announced March 2023.
-
Automatic Generation of an Efficient Less-Than Oracle for Quantum Amplitude Amplification
Authors:
Javier Sanchez-Rivero,
Daniel Talaván,
Jose Garcia-Alonso,
Antonio Ruiz-Cortés,
Juan Manuel Murillo
Abstract:
Grover's algorithm is a well-known contribution to quantum computing. It searches one value within an unordered sequence faster than any classical algorithm. A fundamental part of this algorithm is the so-called oracle, a quantum circuit that marks the quantum state corresponding to the desired value. A generalization of it is the oracle for Amplitude Amplification, that marks multiple desired sta…
▽ More
Grover's algorithm is a well-known contribution to quantum computing. It searches one value within an unordered sequence faster than any classical algorithm. A fundamental part of this algorithm is the so-called oracle, a quantum circuit that marks the quantum state corresponding to the desired value. A generalization of it is the oracle for Amplitude Amplification, that marks multiple desired states. In this work we present a classical algorithm that builds a phase-marking oracle for Amplitude Amplification. This oracle performs a less-than operation, marking states representing natural numbers smaller than a given one. Results of both simulations and experiments are shown to prove its functionality. This less-than oracle implementation works on any number of qubits and does not require any ancilla qubits. Regarding depth, the proposed implementation is compared with the one generated by Qiskit automatic method, UnitaryGate. We show that the depth of our less-than oracle implementation is always lower. This difference is significant enough for our method to outperform UnitaryGate on real quantum hardware.
△ Less
Submitted 13 March, 2023;
originally announced March 2023.
-
A Model-Based Approach for Specifying Changes in Replications of Empirical Studies in Computer Science
Authors:
Margarita Cruz,
Beatriz Bernárdez,
Amador Durán,
Cathy Guevara-Vega,
Antonio Ruiz-Cortés
Abstract:
Context: The need of replicating empirical studies in Computer Science (CS) is widely recognized among the research community to consolidate acquired knowledge generalizing results. It is essential to report the changes of each replication to understand the evolution of the experimental validity across a family of studies. Unfortunately, the lack of proposals undermines these objectives.
Objecti…
▽ More
Context: The need of replicating empirical studies in Computer Science (CS) is widely recognized among the research community to consolidate acquired knowledge generalizing results. It is essential to report the changes of each replication to understand the evolution of the experimental validity across a family of studies. Unfortunately, the lack of proposals undermines these objectives.
Objective. The main goal of our work is to provide researchers in CS, and in other areas of research, with a systematic, tool-supported approach for the reporting of changes in the replications of their empirical studies.
Method: Applying DSR, we have developed and validated a composite artifact consisting of (i) a metamodel of the relevant concepts of replications and their changes; (ii) templates and linguistic patterns for reporting those concepts; and (iii) a proof-of-concept model-based software tool that supports the proposed approach. For its validation, we have carried out a multiple case study including 9 families of empirical studies from CS and Agrobiology. The 9 families encompass 23 replication studies and 92 replication changes, for which we have analyzed the suitability of our proposal.
Results: The multiple case study revealed some initial limitations of our approach related to threats to experimental validity or context variables. After several improvement iterations, all the 92 replication changes could be properly specified, including also their qualitatively estimated effects on experimental validity across the family of experiments and its corresponding visualization.
Conclusions: Our proposal for the specification of replication changes seems to fit the needs not only of replications in CS, but also in other research areas. Nevertheless, further research is needed to improve it and to disseminate its use among the research community.
△ Less
Submitted 27 June, 2022;
originally announced June 2022.
-
Bluejay: A Cross-Tooling Audit Framework For Agile Software Teams
Authors:
Cesar Garcia,
Alejandro Guerrero,
Joshua Zeitsoff,
Srujay Korlakunta,
Pablo Fernandez,
Armando Fox,
Antonio Ruiz-Cortes
Abstract:
Agile software teams are expected to follow a number of specific Team Practices (TPs) during each iteration, such as estimating the effort ("points") required to complete user stories and coordinating the management of the codebase with the delivery of features. For software engineering instructors trying to teach such TPs to student teams, manually auditing teams if teams are following the TPs an…
▽ More
Agile software teams are expected to follow a number of specific Team Practices (TPs) during each iteration, such as estimating the effort ("points") required to complete user stories and coordinating the management of the codebase with the delivery of features. For software engineering instructors trying to teach such TPs to student teams, manually auditing teams if teams are following the TPs and improving over time is tedious, time-consuming and error-prone. It is even more difficult when those TPs involve two or more tools. For example, starting work on a feature in a project-management tool such as Pivotal Tracker should usually be followed relatively quickly by the creation of a feature branch on GitHub. Merging a feature branch on GitHub should usually be followed relatively quickly by deploying the new feature to a staging server for customer feedback. Few systems are designed specifically to audit such TPs, and existing ones, as far as we know, are limited to a single specific tool.
We present Bluejay, an open-source extensible platform that uses the APIs of multiple tools to collect raw data, synthesize it into TP measurements, and present dashboards to audit the TPs. A key insight in Bluejay's design is that TPs can be expressed in terminology similar to that used for modeling and auditing Service Level Agreement (SLA) compliance. Bluejay therefore builds on mature tools used in that ecosystem and adapts them for describing, auditing, and reporting on TPs. Bluejay currently consumes data from five different widely-used development tools, and can be customized by connecting it to any service with a REST API. Video showcase available at governify.io/showcase/bluejay
△ Less
Submitted 11 March, 2021;
originally announced March 2021.
-
Specification and Automated Analysis of Inter-Parameter Dependencies in Web APIs
Authors:
Alberto Martin-Lopez,
Sergio Segura,
Carlos Müller,
Antonio Ruiz-Cortés
Abstract:
Web services often impose inter-parameter dependencies that restrict the way in which two or more input parameters can be combined to form valid calls to the service. Unfortunately, current specification languages for web services like the OpenAPI Specification (OAS) provide no support for the formal description of such dependencies, which makes it hardly possible to automatically discover and int…
▽ More
Web services often impose inter-parameter dependencies that restrict the way in which two or more input parameters can be combined to form valid calls to the service. Unfortunately, current specification languages for web services like the OpenAPI Specification (OAS) provide no support for the formal description of such dependencies, which makes it hardly possible to automatically discover and interact with services without human intervention. In this article, we present an approach for the specification and automated analysis of inter-parameter dependencies in web APIs. We first present a domain-specific language, called Inter-parameter Dependency Language (IDL), for the specification of dependencies among input parameters in web services. Then, we propose a map** to translate an IDL document into a constraint satisfaction problem (CSP), enabling the automated analysis of IDL specifications using standard CSP-based reasoning operations. Specifically, we present a catalogue of nine analysis operations on IDL documents allowing to compute, for example, whether a given request satisfies all the dependencies of the service. Finally, we present a tool suite including an editor, a parser, an OAS extension, a constraint programming-aided library, and a test suite supporting IDL specifications and their analyses. Together, these contributions pave the way for a new range of specification-driven applications in areas such as code generation and testing.
△ Less
Submitted 7 May, 2020;
originally announced May 2020.
-
Towards the Automation of Metamorphic Testing in Model Transformations
Authors:
Javier Troya,
Sergio Segura,
Antonio Ruiz-Cortés
Abstract:
Model transformations are the cornerstone of Model-Driven Engineering, and provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and error-prone task, this is referred to as the oracle problem in the software testing literature. The correctness of the model transformation program is crucial for the pr…
▽ More
Model transformations are the cornerstone of Model-Driven Engineering, and provide the essential mechanisms for manipulating and transforming models. Checking whether the output of a model transformation is correct is a manual and error-prone task, this is referred to as the oracle problem in the software testing literature. The correctness of the model transformation program is crucial for the proper generation of its output, so it should be tested. Metamorphic testing is a testing technique to alleviate the oracle problem consisting on exploiting the relations between different inputs and outputs of the program under test, so-called metamorphic relations. In this paper we give an insight into our approach to generically define metamorphic relations for model transformations, which can be automatically instantiated given any specific model transformation.
△ Less
Submitted 30 April, 2018;
originally announced April 2018.