Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Marios Fokaefs is active.

Publication


Featured researches published by Marios Fokaefs.


international conference on web services | 2011

An Empirical Study on Web Service Evolution

Marios Fokaefs; Rimon Mikhaiel; Nikolaos Tsantalis; Eleni Stroulia; Alex Lau

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.


international conference on software maintenance | 2007

JDeodorant: Identification and Removal of Feature Envy Bad Smells

Marios Fokaefs; Nikolaos Tsantalis; Alexander Chatzigeorgiou

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.


international conference on software maintenance | 2009

Decomposing object-oriented class modules using an agglomerative clustering technique

Marios Fokaefs; Nikolaos Tsantalis; Alexander Chatzigeorgiou; Jörg Sander

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.


Advanced Web Services | 2014

WSDarwin: Studying the Evolution of Web Service Systems

Marios Fokaefs; Eleni Stroulia

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 interface descriptions. Systems thus developed need to be aware of changes in, and evolve with, their constituent services. Therefore, the accurate recognition of changes in the specification of a service is an essential functionality in supporting the software lifecycle of service-oriented systems. In this chapter, we extend our previous empirical study on the evolution of web-service interfaces and we classify the identified changes according to their impact on client applications. To better understand the evolution of web services, and, more importantly, to facilitate the systematic and automatic maintenance of web-service systems, we introduce WSDarwin, a specialized differencing method for web services. Finally, we discuss the application of such a comparison method on operation- (WSDL) and resource-centric (REST) web services.


conference of the centre for advanced studies on collaborative research | 2009

WikiDev 2.0: discovering clusters of related team artifacts

Ken Bauer; Marios Fokaefs; Brendan Tansey; Eleni Stroulia

Most software development today is a team activity. Project team members collaboratively work on the tasks necessary to accomplish the various project milestones. The work is usually asynchronous, not orchestrated by any explicit workflow, sometimes geographically distributed, and involves the use of a variety of tools, which do not always interoperate. Version-control repositories are essential in supporting this collaboration but cannot satisfactorily address the problem of traceability of interdependencies among the artifacts produced by the individual tools. In the WikiDev 2.0 collaboration tool, we propose to address these problems by adopting a wiki as the central platform in which to integrate information about the various artifacts of interest, to cluster this information in clusters of relevant artifacts, and to present views on this information that cut across the individual tool boundaries. In this paper, we discuss the central clustering algorithm in WikiDev 2.0 and we evaluate its effectiveness with a case study.


software engineering for adaptive and self managing systems | 2016

Economics-driven resource scalability on the cloud

Marios Fokaefs; Cornel Barna; Marin Litoiu

Virtualization of resources in cloud computing has enabled application 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 application developers to more efficiently manage their costs; they can easily remove unnecessary resources or add resources temporarily when the demand suddenly 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 decisions that take into account not only the cost of infrastructure, but also the revenue from service delivery and eventually the profit of the service provider.


international conference on software maintenance | 2010

2D and 3D visualizations in WikiDev2.0

Marios Fokaefs; Diego Serrano; Brendan Tansey; Eleni Stroulia

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.


conference on software maintenance and reengineering | 2010

WikiDev 2.0: Facilitating Software Development Teams

Marios Fokaefs; Brendan Tansey; Veselin Ganev; Ken Bauer; Eleni Stroulia

Software development is fundamentally a collaborative task. Developers, sometimes geographically distributed, collectively work on different parts of a project. The challenge of ensuring that their contributions consistently build on one another is a major concern for collaborative development and implies concerns with effective communication, task administration and exchange of documents and information concerning the project. In this demo, we present WikiDev 2.0, a lightweight wiki-based tool suite that enhances collaboration within software development teams. WikiDev 2.0 integrates information from multiple development tools and displays the results through its wikibased front-end. The tool also offers several analysis techniques and visualizations that improve the project-status awareness of the team.


ieee international conference on cloud engineering | 2016

Cloud Adaptation with Control Theory in Industrial Clouds

Cornel Barna; Marios Fokaefs; Marin Litoiu; Mark Shtern; Joe Wigglesworth

The volatility of web software systems, for example due to traffic fluctuations, can be addressed through cloud resource elasticity. Cloud providers offer specific services to automate the process of elasticity, so that application developers can efficiently and effectively manage their cloud resources. Current autoscaling methods mostly employ rule-based or threshold-based techniques. In this work, we discuss a more sophisticated and robust method based on control theory. We present the design for a simple controller and how it can be applied on real cloud environments. We demonstrate the applicability of our controller by deploying it on two cloud environments, one public and one private. Our experiments show that the same controller functions accordingly and maintain the set performance goal in both environments, indicating the potential portability of the controller across clouds.


international conference on web services | 2015

Using WADL Specifications to Develop and Maintain REST Client Applications

Marios Fokaefs; Eleni Stroulia

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.

Collaboration


Dive into the Marios Fokaefs's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ken Bauer

University of Alberta

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge