Marios Fokaefs

dblp:01/696 · also Marios-Eleftherios Fokaefs · DBLP profile ↗
← Back
20ranked-venue papers
14as first author
4since 2021 · last 2025
0000-0003-3623-5015ORCID · verified

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

Software engineering, systems software and programming languages · 15 · 11 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 2 first-author · 1 since 2021Systems, architecture and hardware · 2 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2025 IntelliChain: An Intelligent and Adaptive Framework for Decentralized Applications on Public Blockchain Technologies: An NFT Marketplace Case Study
abstract
Non-fungible tokens (NFTs), attracting interest from a variety of audiences including collectors and traders, saw transactions exceeding $50 billion in 2022. The inherent features of blockchain technology–distributed, immutable, and transparent–make it an ideal platform for verifying ownership of digital assets. Despite these advantages, the high computational and transaction costs of networks, which utilizes proof of work pose significant challenges. To overcome these, alternative public blockchains have been developed, each offering unique benefits for NFT marketplaces. Choosing the right blockchain platform is crucial but complex. In our study, we introduce a prototype NFT marketplace optimized for scalability and efficiency, capable of rapidly handling a large volume of NFT transactions. We also conducted a comparative analysis of various public blockchains to identify the most cost-effective and reliable options for NFT exchanges. Further, we developed two predictive models to enhance decision-making around transaction fees and error management, thus improving cost-efficiency and reliability. We also propose a self-adaptive mechanism that allows for dynamic switching between blockchain platforms, enhancing the flexibility, and overall performance of the marketplace. Our contributions are integrated into IntelliChain, a self-adaptive framework designed to predict optimal transaction fees, reduce errors, and adapt to changing conditions like network stability and fee structures, bolstering efficiency, and reliability.
Mohammadreza Rasolroveicy, Marios Fokaefs
IEEE Trans. Reliab.2
2024 EpiMDE: A-Model Driven Engineering Platform for Epidemiological Modeling
abstract
Modeling is a critical step in studying epidemics. It allows us to better understand and predict the progression of a disease, design interventions such as vaccination, and assess their impact. Current epidemics are modeled using compartmental and mathematical models. While these are enough to achieve the primary goal of modeling, they suffer from shortcomings with respect to communicating and sharing the models, comparison and validation, and reproducibility. In this work, we propose the use of model-driven software engineering principles, to better represent disease models and facilitate the model management operations. We present an extensible metamodel for epidemics and an integrated development environment to allow epidemiologists to create and manage their models and simulations. We present the use of our platform on a COVID-19 model, where we show that the resulting model is more concise yet structurally and functionally equivalent to the original.
Bruno Curzi-Laliberté, Marios Fokaefs, Michalis Famelis, Mohammad Hamdaqa
MODELS2
2024 BlockCompass: A Benchmarking Platform for Blockchain Performance
abstract
Blockchain technology has gained momentum due to its immutability and transparency. Several blockchain platforms, each with different consensus protocols, have been proposed. However, choosing and configuring such a platform is a non-trivial task. Numerous benchmarking tools have been introduced to test the performance of blockchain solutions. Yet, these tools are often limited to specific blockchain platforms or require complex configurations. Moreover, they tend to focus on one-off batch evaluation models, which may not be ideal for longer-running instances under continuous workloads. In this work, we presentBlockCompass, an all-inclusive blockchain benchmarking tool that can be easily configured and extended. We demonstrate howBlockCompasscan evaluate the performance of various blockchain platforms and configurations, including Ethereum Proof-of-Authority, Ethereum Proof-of-Work, Hyperledger Fabric Raft, Hyperledger Sawtooth with Proof-of-Elapsed-Time, Practical Byzantine Fault Tolerance, and Raft consensus algorithms, against workloads that continuously fluctuate over time. We show how continuous transactional workloads may be more appropriate than batch workloads in capturing certain stressful events for the system. Finally, we present the results of a usability study about the convenience and effectiveness offered byBlockCompassin blockchain benchmarking.
Mohammadreza Rasolroveicy, Wejdene Haouari, Marios Fokaefs
IEEE Trans. Computers3
2021 MSR4ML: Reconstructing Artifact Traceability in Machine Learning Repositories
abstract
The increasing popularity of Machine Learning (ML) is generating challenges also for developers. The multitude of programming languages, libraries and available resources allow them to easily build their own models or algorithms. However, ML models are tightly connected to their data implying a different development process from other types of software. Software projects often rely on version control platforms, such as GitHub, but these platforms have not yet been extended to support ML projects. There is poor support for data versioning and no link between ML and software artifacts. Thus, traceability and model evolution can become challenging for developers. While some specific ML platforms exist, they still require considerable manual specification of ML artifacts and links between them. In this work, we propose a framework for automatic identification and traceability of links between data, code and ML model through Mining Software Repositories (MSR) techniques. Our tool combines static code analysis and mining commit data to identify ML, code and data artifacts, reconstruct links between them and retrieve commits that affect each end of the link. The objective is to increase productivity and the developers' awareness of their project through the recovered traceability.
Aquilas Tchanjou Njomou, Alexandra Johanne Bifona Africa, Bram Adams, Marios Fokaefs
SANER4
2020 Can Refactorings Indicate Design Tradeoffs?
abstract
Refactoring does not always improve monotonically the quality of software. In this exploratory study, we analyze the revision history of JFreechart to see if fluctuations in internal quality metrics in commits containing refactoring can be used as indicators for the presence of design tradeoffs. We present qualitative and quantitative results suggesting that, in the context of refactoring, tradeoffs in internal quality metrics can be used to find design tradeoffs.
Thomas Schweizer, Vassilis Zafeiris, Marios Fokaefs, Michalis Famelis
SCAM3
2018 Runtime Performance Management for Cloud Applications with Adaptive Controllers
abstract
Adaptability is an expected property of modern software systems in order to cope with changes in the environment by self-adjusting their structure and behaviour. Robustness is a crucial component of adaptability and it refers to the ability of the systems to deal with uncertainty, i.e. perturbations or unmodelled system dynamics that can affect the quality of the adaptation. Cost is another important property to ensure that resources are used prudently and frugally, whenever possible. Engineering robust and cost-effective adaptive systems can be accomplished using a control theory approach. In this paper, we show how to implement a model identification adaptive controller (MIAC) using a combination of performance and control models and how such a system satisfies the goals for robustness and cost-effectiveness. The controller we employ is multi-input, meaning that it can issue a variety of commands to adapt the system and multi-output, meaning it can regulate multiple performance indicators simultaneously. We show that such a solution can account for uncertainty and modelling errors and efficiently adapt a web application with multiple tiers of functionality spanning multiple layers of deployment, software and virtual machines, on Amazon EC2, an actual cloud environment.
Cornel Barna, Marin Litoiu, Marios Fokaefs, Mark Shtern, Joe Wigglesworth
ICPE3
2018 From DevOps to BizOps: Economic Sustainability for Scalable Cloud Applications
abstract
Virtualization of resources in cloud computing has enabled developers to commission and recommission resources at will and on demand. This virtualization is a coin with two sides. On one hand, the flexibility in managing virtual resources has enabled developers to efficiently manage their costs; they can easily remove unnecessary resources or add resources temporarily when the demand increases. On the other hand, the volatility of such environment and the velocity with which changes can occur may have a greater impact on the economic position of a stakeholder and the business balance of the overall ecosystem. In this work, we recognise the business ecosystem of cloud computing as an economy of scale and explore the effect of this fact on decisions concerning scaling the infrastructure of web applications to account for fluctuations in demand. The goal is to reveal and formalize opportunities for economically optimal scaling that takes into account not only the cost of infrastructure but also the revenue from service delivery and eventually the profit of the service provider. The end product is a scaling mechanism that makes decisions based on both performance and economic criteria and takes adaptive actions to optimize both performance and profitability for the system.
Marios Fokaefs, Cornel Barna, Marin Litoiu
ACM Trans. Auton. Adapt. Syst.1
2017 Evaluating Adaptation Methods for Cloud Applications: An Empirical Study
abstract
Web software systems generally reside in highly volatile environments, their incoming traffic may be subject to sharp fluctuations from reasons that cannot always be captured or predicted. Cloud computing provides a solution to this problem by offering flexible resources, like containers, which can be quickly and easily scaled according to the current workload needs. Automating this process is a key aspect for the management of modern web software systems, and there is a plethora of methods to implement autonomic management systems. In this work, we review three of these methods, a threshold-based approach, a control-based approach and a model-based approach. We design and run a number of experiments for all three systems with different workloads to evaluate their ability to manage the software system and how well they do so. Our experiments were conducted on the Amazon EC2 cloud with Docker containers.
Marios Fokaefs, Yar Rouf, Cornel Barna, Marin Litoiu
CLOUD1
2016 An Economic Model for Scaling Cloud Applications
abstract
Web technologies along with the virtualization of computation and storage resources have allowed extensive flexibility in the development, deployment and delivery of software solutions. On one hand, this flexibility has allowed engineers to commission and re purpose resources on demand and at will. On the other hand, the flexibility has given rise to new business models and interesting implications in the economics of software ecosystems. In this work, we propose a model to capture the technical and economic transactions within a web software ecosystem deployed on a dynamic cloud environment. Next, we demonstrate the use of such model to define rules for a more economically efficient adaptation strategy for web applications as their incoming traffic fluctuates.
Marios Fokaefs, Cornel Barna, Marin Litoiu
CLOUD1
2015 WSDarwin: A web application for the support of REST service evolution
abstract
REST has become a very popular architectural style for service-oriented systems, primarily due to its ease of use and flexibility. However, the lightweight nature of its syntax does not necessitate the use of systematic methods and tools. In this work, we argue that such tools can greatly facilitate complex engineering tasks, including service discovery and evolution. We present the WSDarwin set of tools to generate WADL interfaces for REST services, to compare service interfaces to identify differences between versions, and to compare service offerings of different vendors to facilitate service discovery and interoperability.
Marios Fokaefs, Mihai Oprescu, Eleni Stroulia
ICSME1
2015 Using WADL Specifications to Develop and Maintain REST Client Applications
abstract
Service orientation is one of the most popular paradigms for developing modular distributed software systems. In spite of the substantial research effort dedicated to the development of methods and tools to support SOAP-based service-oriented application development, in practice, RESTful services have surpassed SOAP-based services in popularity and adoption, primarily due to the simplicity of their invocation. However, poor adoption of REST specification standards and lack of systematic development tools have given rise to many, more or less compliant, variants of the Restful style constraints, which undermine the evolvability and interoperability of these systems. In this paper, we describe a tool that supports the systematization of RESTful application development, through the use of semi-automatically constructed WADL interface specifications, without compromising the ease of the overall practice. We illustrate the use and advantages of our tool on real-world REST APIs. Additionally, we comment on how REST APIs are documented, especially in comparison to the auto-generated WADLs.
Marios Fokaefs, Eleni Stroulia
ICWS1
2014 WSDarwin: A Framework for the Support of Web Service Evolution
abstract
Service-oriented architectures have emerged as a popular development paradigm for modular, extendible distributed systems, relying on interoperable components. However, their evolution is a challenging problem, due to the fact that their constituent parts typically reside outside a single entity's domain of ownership and control. In my thesis, I have developed WSDarwin, a framework to support the evolution of service systems. WSDarwin posits a novel conceptual model of the technical and economic relationships between service providers and clients, based on which, a game-theoretic method determines the best evolution decision for them as distinct economic players and for the ecosystem as a whole. Furthermore, WSDarwin provides a complete toolkit for client adaptation (including service-interface differencing, client-proxy adaptation and client unit testing), to simplify the client's software evolution task in response to service changes.
Marios Fokaefs
ICSME1
2014 The WSDarwin Toolkit for Service-Client Evolution
abstract
As primarily modular and distributed architectures, service-oriented architectures may impose new challenges in software evolution. Since web services evolve independently, this may cause disruptions to the proper function of consuming software. In this paper, we present \wsd, an Eclipse plug-in to support the evolution of service clients, including (a) identifying the differences between two service versions, (b) automatically adapting the client application to the new version, and (c) testing the client to confirm it functions properly.
Marios Fokaefs, Eleni Stroulia
ICWS1
2013 WSDARWIN: A Decision-Support Tool for Web-Service Evolution
abstract
Service-oriented systems are fundamentally distributed in nature, relying on external services accessible through their public interfaces. Distributed ownership and lack of implementation transparency imply special challenges in the evolution of such systems. In order to alleviate the challenge faced by the consumers of their services, providers should, in principle, take into account the impact that service changes may have on the client applications, in addition to considering the potential benefits to be gained from the evolution of these services. In this paper, we present a decision tree to support the provider's service-evolution decision-making process. Using game theory, we construct the tree that makes explicit the value-cost trade-offs involved in considering the potential evolution of services.
Marios Fokaefs, Eleni Stroulia
ICSM1
2012 Identification and application of Extract Class refactorings in object-oriented systems
Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, Alexander Chatzigeorgiou
J. Syst. Softw.1
2011 JDeodorant: identification and application of extract class refactorings
abstract
Evolutionary changes in object-oriented systems can result in large, complex classes, known as "God Classes". In this paper, we present a tool, developed as part of the JDeodorant Eclipse plugin, that can recognize opportunities for extracting cohesive classes from "God Classes" and automatically apply the refactoring chosen by the developer.
Marios Fokaefs, Nikolaos Tsantalis, Eleni Stroulia, Alexander Chatzigeorgiou
ICSE1
2011 An Empirical Study on Web Service Evolution
abstract
The service-oriented architecture paradigm prescribes the development of systems through the composition of services, i.e., network-accessible components, specified by (and invoked through) their WSDL interface descriptions. Systems thus developed need to be aware of changes in, and evolve with, their constituent services. Therefore, accurate recognition of changes in the WSDL specification of a service is an essential functionality in the context of the software lifecycle of service-oriented systems. In this work, we present the results of an empirical study on WSDL evolution analysis. In the first part, we empirically study whether VTracker, our algorithm for XML differencing, can precisely recognize changes in WSDL documents by applying it to the task of comparing 18 versions of the Amazon EC2 web service. Second, we analyze the changes that occurred between the subsequent versions of various web-services and discuss their potential effects on the maintainability of service systems relying on them.
Marios Fokaefs, Rimon Mikhaiel, Nikolaos Tsantalis, Eleni Stroulia, Alex Lau
ICWS1
2010 2D and 3D visualizations in WikiDev2.0
abstract
Several types of 3D software visualizations have been developed to communicate information about the products of a software project and, sometimes, the development process itself. These visualizations have been limited in the degree of interactivity they enabled (primarily panning and zooming) and in their accessibility (since in most cases they assumed a particular client platform). In this paper we discuss our 3D visualization of the data collected and extracted in our collaborative software-development platform WikiDev2.0, developed in the Open Wonderland virtual world. The visualization adopts a city metaphor, similar to earlier work, but advances the state of the art by providing a web-accessible distributed 3D environment where multiple users can explore the same project. In this paper we discuss this visualization, which we call WikiDev3D, and we report on our preliminary findings about its effectiveness against the more traditional visualization of the original WikiDev2.0 tool.
Marios Fokaefs, Diego Serrano, Brendan Tansey, Eleni Stroulia
ICSM1
2009 Decomposing object-oriented class modules using an agglomerative clustering technique
abstract
Software can be considered a live entity, as it undergoes many alterations throughout its lifecycle. Furthermore, developers do not usually retain a good design in favor of adding new features, comply with requirements or meet deadlines. For these reasons, code can become rather complex and difficult to understand. More particularly in object-oriented systems, classes may become very large and less cohesive. In order to identify such problematic cases, existing approaches have proposed the use of cohesion metrics. However, while metrics can identify classes with low cohesion, they cannot identify new or independent concepts. Moreover, these methods require a lot of human interpretation to identify the respective design flaws. In this paper, we propose a class decomposition method using an agglomerative clustering algorithm based on the Jaccard distance between class members. Our methodology is able to identify new concepts and rank the solutions according to their impact on the design quality of the system. Finally, our method has been evaluated by two independent designers who were asked to comment on the suggestions produced by our technique on their projects. The designers provided feedback on the ability of the method to identify new concepts and improve the design quality of the system in terms of cohesion.
Marios Fokaefs, Nikolaos Tsantalis, Alexander Chatzigeorgiou, Jörg Sander 0001
ICSM1
2007 JDeodorant: Identification and Removal of Feature Envy Bad Smells
abstract
In this demonstration we present an Eclipse plug-in that identifies feature envy bad smells in Java projects and resolves them by applying the appropriate move method refactorings. The main contribution is the ability to pre-evaluate the impact of all possible move refactorings on design quality and apply the most effective one.
Marios Fokaefs, Nikolaos Tsantalis, Alexander Chatzigeorgiou
ICSM1