This commit modifies files in the FraSCAti system and contains refactoring. Specifically, it modifies two Java files, copies one Java file by changing its package, and removes two package paths. The commit log indicates it contains "More refactoring".
Managing Complexity and Change with Scalable Software Designlbergmans
This is a presentation I gave to a group of IT managers. It explains what 'scalable design' is about, discusses its motivations by a number of facts and figures about software development, and illustrates the approach through a real-world case.
Specification and Detection of SOA AntipatternsFrancis Palma
SODA is a novel approach for specifying and detecting SOA antipatterns. It involves specifying antipatterns using a domain-specific language, generating detection algorithms from the specifications, and applying the algorithms to detect antipatterns in service-based systems. An evaluation on two versions of a home automation system found that SODA could accurately detect 10 different antipatterns, with a recall of 100% and precision over 75%. The approach demonstrates potential for automated analysis and improvement of service-oriented architectures.
This was my presentation at the World Congress for Project Managers and Business Analysts in Orlando (2013). While the title/teaser was simply playing with our fascination with the book "From good to great", the subject was very serious and pragmatic: using process simulations to learn, understand, explore, and ultimately decide.
Detection of Process Antipatterns: An BPEL PerspectiveFrancis Palma
The document presents an approach for detecting process antipatterns in BPEL (Business Process Execution Language) processes. It defines seven antipatterns using rules of inference and describes a method to transform BPEL processes into a simplified generic model. An experiment applies the approach to detect two antipatterns in three sample BPEL processes with limited detection success due to the small process sizes. Future work is needed to automate the approach and detect more antipatterns in larger, real-world processes.
This document discusses requirements prioritization, including why it is important, common techniques for doing it, and best practices. It notes that 65% of implemented requirements are rarely or never used, showing the importance of prioritizing correctly. Common techniques include MoSCoW, voting, ranking, and using decision analysis or risk analysis. Best practices include prioritizing early but not too early, doing it often but not too often, following a clear process, and periodically reflecting on and improving the process. The overall goal is to focus on the most important requirements to improve the chances of project success.
Unifying Service Oriented Technologies for the Specification and Detection of...Francis Palma
This PhD thesis by Francis PALMA proposes a unified approach to specify and detect service antipatterns in service-based systems. The thesis addresses current challenges including a lack of unified abstractions and specifications for different service technologies (SOAP, REST, SCA), as well as a lack of empirical evidence and dedicated approaches for detecting service antipatterns. The thesis contributions include developing a unified framework for specifying service antipatterns across technologies and assessing service-based systems to detect antipatterns by analyzing design quality and service quality.
Using Interactive GA for Requirements PrioritizationFrancis Palma
The document discusses using an interactive genetic algorithm (IGA) approach for requirements prioritization. The IGA aims to minimize disagreement between a total order of prioritized requirements and various constraints, such as those encoded with the requirements or expressed by users. It considers user knowledge, minimizes user requests, and ensures robustness to errors. The IGA process involves acquiring requirements and domain knowledge, running an interactive genetic algorithm to compute solutions, and outputting the ranked requirements. It is demonstrated on a real-world case study where IGA produced improved prioritizations with reduced user effort compared to other approaches.
This document presents an approach for detecting service-oriented architecture (SOA) antipatterns. It discusses problems in existing literature, such as a lack of specifications for SOA antipatterns and no approaches for detecting them. The proposed solution involves specifying SOA antipatterns using rule cards, generating detection algorithms, detecting suspicious services, and validating the results. A domain-specific language and framework called Service Oriented Detection for Antipatterns (SODA) are developed to implement this approach. The goal is to provide a solution for detecting SOA antipatterns in service-based systems and validating the impacts.
Managing Complexity and Change with Scalable Software Designlbergmans
This is a presentation I gave to a group of IT managers. It explains what 'scalable design' is about, discusses its motivations by a number of facts and figures about software development, and illustrates the approach through a real-world case.
Specification and Detection of SOA AntipatternsFrancis Palma
SODA is a novel approach for specifying and detecting SOA antipatterns. It involves specifying antipatterns using a domain-specific language, generating detection algorithms from the specifications, and applying the algorithms to detect antipatterns in service-based systems. An evaluation on two versions of a home automation system found that SODA could accurately detect 10 different antipatterns, with a recall of 100% and precision over 75%. The approach demonstrates potential for automated analysis and improvement of service-oriented architectures.
This was my presentation at the World Congress for Project Managers and Business Analysts in Orlando (2013). While the title/teaser was simply playing with our fascination with the book "From good to great", the subject was very serious and pragmatic: using process simulations to learn, understand, explore, and ultimately decide.
Detection of Process Antipatterns: An BPEL PerspectiveFrancis Palma
The document presents an approach for detecting process antipatterns in BPEL (Business Process Execution Language) processes. It defines seven antipatterns using rules of inference and describes a method to transform BPEL processes into a simplified generic model. An experiment applies the approach to detect two antipatterns in three sample BPEL processes with limited detection success due to the small process sizes. Future work is needed to automate the approach and detect more antipatterns in larger, real-world processes.
This document discusses requirements prioritization, including why it is important, common techniques for doing it, and best practices. It notes that 65% of implemented requirements are rarely or never used, showing the importance of prioritizing correctly. Common techniques include MoSCoW, voting, ranking, and using decision analysis or risk analysis. Best practices include prioritizing early but not too early, doing it often but not too often, following a clear process, and periodically reflecting on and improving the process. The overall goal is to focus on the most important requirements to improve the chances of project success.
Unifying Service Oriented Technologies for the Specification and Detection of...Francis Palma
This PhD thesis by Francis PALMA proposes a unified approach to specify and detect service antipatterns in service-based systems. The thesis addresses current challenges including a lack of unified abstractions and specifications for different service technologies (SOAP, REST, SCA), as well as a lack of empirical evidence and dedicated approaches for detecting service antipatterns. The thesis contributions include developing a unified framework for specifying service antipatterns across technologies and assessing service-based systems to detect antipatterns by analyzing design quality and service quality.
Using Interactive GA for Requirements PrioritizationFrancis Palma
The document discusses using an interactive genetic algorithm (IGA) approach for requirements prioritization. The IGA aims to minimize disagreement between a total order of prioritized requirements and various constraints, such as those encoded with the requirements or expressed by users. It considers user knowledge, minimizes user requests, and ensures robustness to errors. The IGA process involves acquiring requirements and domain knowledge, running an interactive genetic algorithm to compute solutions, and outputting the ranked requirements. It is demonstrated on a real-world case study where IGA produced improved prioritizations with reduced user effort compared to other approaches.
This document presents an approach for detecting service-oriented architecture (SOA) antipatterns. It discusses problems in existing literature, such as a lack of specifications for SOA antipatterns and no approaches for detecting them. The proposed solution involves specifying SOA antipatterns using rule cards, generating detection algorithms, detecting suspicious services, and validating the results. A domain-specific language and framework called Service Oriented Detection for Antipatterns (SODA) are developed to implement this approach. The goal is to provide a solution for detecting SOA antipatterns in service-based systems and validating the impacts.
This document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in web services. SODA-W analyzes web service interfaces syntactically and semantically through static and dynamic analysis to detect common antipatterns. The authors specify 10 antipatterns using a domain specific language and rule cards. They apply SODA-W's detection algorithms to 122 weather and finance web services to validate the approach, achieving over 75% precision and 100% recall. The results demonstrate SODA-W's ability to precisely detect a variety of antipatterns and the extensibility of the framework.
Specification and Detection of SOA Antipatterns in Web ServicesFrancis Palma
The document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in SOA systems composed of web services. SODA-W is inspired by an existing approach called SODA for detecting antipatterns in SCA systems. SODA-W includes a domain specific language for specifying SOA antipatterns, a framework called SOFA for analyzing web service interfaces and detecting antipatterns, and algorithms for static and dynamic analysis. The paper describes experiments applying SODA-W to detect 10 common antipatterns in 122 real-world web services, achieving a precision of 88.69% and recall of 100%. The results support that the
The document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in SOA systems composed of web services. SODA-W is inspired by an existing approach called SODA for detecting antipatterns in SCA systems. SODA-W includes a domain specific language for specifying SOA antipatterns, a framework called SOFA for analyzing web service interfaces and detecting antipatterns, and algorithms for static and dynamic analysis. The paper describes experiments applying SODA-W to detect 10 common antipatterns in 122 real-world web services, achieving a precision of 88.69% and recall of 100%. The results support that the
This document describes SODA, a tool that supports the detection of SOA (service-oriented architecture) antipatterns. The tool uses a three step approach: 1) specifying antipatterns, 2) generating detection algorithms, and 3) detecting antipatterns. It is built on the SOFA framework which allows for static and dynamic metric computation and rule specification. The SODA tool provides a graphical user interface for importing services, detecting antipatterns, and visualizing detection results. It aims to help identify common poor solutions known as antipatterns that can hinder maintenance and evolution of service-based systems.
SODA is a tool that uses the SOFA framework to automatically detect SOA antipatterns in service-based systems. It allows users to import systems, select antipatterns for detection, and view detection results including suspicious services, metric values, and association rules. The tool was able to detect examples like Bottleneck Service and Multiservice antipatterns in a case study. Future work involves adding more antipatterns, an Eclipse plugin, adapting other technologies, and integrating refactoring capabilities.
A3: application-aware acceleration for wireless data networksZhenyun Zhuang
This document discusses application-aware acceleration (A3) for improving application performance over wireless networks. It presents results showing that while enhanced transport protocols improve performance for FTP, they provide little benefit for other popular applications like CIFS, SMTP, and HTTP. This is because the behavior of these applications, designed for reliable LANs, negatively impacts their performance over lossy wireless links. The document proposes A3 as a middleware solution that offsets these behavioral problems through application-specific design principles, while remaining transparent to applications.
WEB SERVICE COMPOSITION IN DYNAMIC ENVIRONMENT: A COMPARATIVE STUDYcscpconf
This document provides a comparative study of 16 recent research papers on web service composition in dynamic environments. It evaluates the papers based on their approach to adapting to environmental changes, the composition phase they consider for detecting changes, whether they account for quality of service attributes, their main contributions, and whether they include experiments. The study finds that most approaches handle dynamism during the execution phase, treating earlier phases as static, and that more work is needed to detect and handle changes across all composition phases to build more reliable plans. Accounting for quality of service attributes and including experiments are also areas for improvement.
A fundamental problem before carriers today is to optimize network cost
and performance by better resource allocation to traffic demands. This is especially
important with the packet infrastructure becoming a critical business resource.
The key to achieving this is traffic engineering (TE), the process of
systematically putting traffic where there is capacity, and backbone
capacity management, the process of ensuring that there is enough network
capacity to meet demand, even at peak times and under failure conditions,
without significant queue buildups.
In this talk, we first focus on the TE techniques and approaches used
in the networks of two large carriers: Global Crossing and
Sprint, which represent the two ends of the traffic engineering spectrum.
We do so by presenting a snapshot of their TE philosophy, deployment strategy,
and network design principles and operation.
We then present the results of an empirical study of backbone traffic
characteristics that suggests that Internet traffic is not self-similar at
timescales relevant to QoS. Our non-parametric approach requires minimal
assumptions (unlike much of the previous work), and allows
us to formulate a practical process for ensuring QoS using backbone
capacity management.
(This latter work is joint with Thomas Telkamp, Global Crossing Ltd. and Arman
Maghbouleh, Cariden Technologies, Inc.)
Talhunt is a leader in assisting and executing IEEE Engineering projects to Engineering students - run by young and dynamic IT entrepreneurs. Our primary motto is to help Engineering graduates in IT and Computer science department to implement their final year project with first-class technical and academic assistance.
Project assistance is provided by 15+ years experienced IT Professionals. Over 100+ IEEE 2015 and 200+ yester year IEEE project titles are available with us. Projects are based on Software Development Life-Cycle (SDLC) model.
This document provides summaries of 15 networking projects from TTA including the project code, title, description, and reference. The projects cover topics like delay analysis of opportunistic spectrum access MAC protocols, load balancing for network traffic measurement, key exchange protocols for parallel network file systems, anomaly detection in intrusion detection systems, and energy efficient group key agreement for wireless networks. The document provides contact information at the end for obtaining full project papers.
Final Year IEEE Project 2013-2014 - Web Services Project Title and Abstractelysiumtechnologies
This document provides contact and location information for Elysium Technologies Private Limited, an IT company with 13 years of experience and over 250 developers located across multiple branches in India. It lists their services such as automated services, 24/7 help desk support, and ticketing & appointment systems. The company has experience in multiple languages and technologies.
This document summarizes a thesis on developing a distributed architecture for web browsing troubleshooting. The architecture integrates network measurement and analysis techniques through real-time data sharing across peers. It applies a dynamic distributed K-means clustering algorithm to partition browsing data from different locations into clusters representing performance issues. Experiments using the architecture identified local and non-local network problems affecting different peers. Future work could include testing with more peers, optimizing resource usage, and developing a user-friendly interface.
The document discusses thread management in mashup execution platforms. It introduces different types of service components - call-response, polling, and callback. It then presents a case study on polling services, comparing a trivial one-thread-per-service solution to a proposed solution of one monitoring thread plus a thread pool for each service. The proposed solution uses system resources more efficiently by reducing memory consumption and response times compared to the trivial solution. Future work areas discussed include analyzing interactions with the JVM memory management and effects of garbage collection on performance.
Part 2 question 1 provide a technical description of 4b5b dDIPESH30
This document contains questions and responses related to digital encoding schemes, transmission media, satellite deployment, and USB standards. For question 1, the response provides descriptions of 4B/5B encoding and Manchester encoding, and explains how 4B/5B may provide better data rates. Question 2 involves ranking transmission media by speed and includes typical uses. Question 3 requires a diagram comparing low earth orbit and geosynchronous satellite deployment for whole earth coverage. Question 4 covers an overview of USB technology, past, present and future analysis. The responses include examples, references, and APA formatting guidelines.
Asanka Abeysinghe, Architect, WSO2 at the SOA Workshop in Colombo, Sri Lanka (September 17, 2009) demonstrates mapping several enterprise SOA patterns to a few real world business requirements. He also discusses SOA implementation details using products from the WSO2 SOA platform.
This document provides an overview of microservices from Steve Upton. It discusses the two main histories of microservices - the standard creation story involving moving from a monolithic application to many independent microservices, and an "other story" noting how microservices evolved alongside changes in development practices, hardware, and platforms. Some key advantages of microservices are listed, such as resilience, loose coupling, and independent scalability. The CAP theorem is also introduced, noting the tradeoff between consistency, availability, and partition tolerance that must be considered with distributed systems.
The document discusses modeling user, application, and network behaviors to analyze and estimate requirements for computer networks. It describes developing models to characterize behaviors like session durations, data sizes, and traffic patterns. Simulation modeling allows testing designs virtually before physical implementation. Models of varying complexity can predict performance metrics like utilization, delay, and capacity to help optimize network design.
This document presents an approach called SODA (Service Oriented Detection for Antipatterns) for specifying and automatically detecting antipatterns in service-based systems. SODA uses a domain-specific language to specify rule cards for antipatterns. It then generates detection algorithms and uses the SOFA framework to compute metrics and detect suspicious services. Experiments applying SODA to two versions of a Home Automation system found 10 antipatterns with 92.5% precision and 100% recall, validating the approach. Future work includes adding more antipatterns, applying SODA to other systems, and integrating refactoring capabilities.
The document summarizes research on evaluating the performance of routing protocols (RPs) for mobile ad hoc networks (MANETs). The research involved simulating 3 RPs - AODV, DSR and OLSR - under different networking scenarios to analyze their performance. Key findings include: OLSR had the highest throughput but also the largest control overhead, making AODV better suited for environments with energy/bandwidth constraints. Varying node density, mobility and traffic loads impacted protocol performance. The research aims to validate RP features and provide guidance on protocol selection for different MANET conditions.
Using Interactive Genetic Algorithm for Requirements PrioritizationFrancis Palma
This document describes using a genetic algorithm to prioritize requirements. It begins with an outline and introduction to the problem of prioritizing software requirements. It then discusses related prioritization techniques from literature and how they have limitations like poor scalability. The document proposes using a genetic algorithm to prioritize requirements, leveraging domain knowledge graphs representing priority and dependencies. It describes representing potential solutions as individuals in a population, calculating fitness by counting disagreements with domain knowledge, and using genetic operators like crossover to evolve better solutions over generations. The goal is to find a prioritized requirements list that best satisfies constraints and delivers value to users.
Interactive Requirements Prioritization Using Search Based Optimization Techn...Francis Palma
The document describes two approaches - Approach A and Approach B - for interactive requirements prioritization using optimization techniques and a constraint solver. Approach A uses a genetic algorithm to find a requirements ordering that minimizes disagreements with encoded domain knowledge precedence graphs, without user input. Fitness is defined as the count of disagreements between a candidate solution and the graphs. Approach B will incorporate user knowledge through a constraint solver to resolve contradictions, but details are not yet provided. The goal is to develop techniques that can handle large and complex real-world prioritization problems with many constraints.
More Related Content
Similar to Investigating the Change-proneness of Service Patterns and Antipatterns
This document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in web services. SODA-W analyzes web service interfaces syntactically and semantically through static and dynamic analysis to detect common antipatterns. The authors specify 10 antipatterns using a domain specific language and rule cards. They apply SODA-W's detection algorithms to 122 weather and finance web services to validate the approach, achieving over 75% precision and 100% recall. The results demonstrate SODA-W's ability to precisely detect a variety of antipatterns and the extensibility of the framework.
Specification and Detection of SOA Antipatterns in Web ServicesFrancis Palma
The document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in SOA systems composed of web services. SODA-W is inspired by an existing approach called SODA for detecting antipatterns in SCA systems. SODA-W includes a domain specific language for specifying SOA antipatterns, a framework called SOFA for analyzing web service interfaces and detecting antipatterns, and algorithms for static and dynamic analysis. The paper describes experiments applying SODA-W to detect 10 common antipatterns in 122 real-world web services, achieving a precision of 88.69% and recall of 100%. The results support that the
The document summarizes an approach called SODA-W (Service Oriented Detection for Antipatterns in Web services) for specifying and detecting antipatterns in SOA systems composed of web services. SODA-W is inspired by an existing approach called SODA for detecting antipatterns in SCA systems. SODA-W includes a domain specific language for specifying SOA antipatterns, a framework called SOFA for analyzing web service interfaces and detecting antipatterns, and algorithms for static and dynamic analysis. The paper describes experiments applying SODA-W to detect 10 common antipatterns in 122 real-world web services, achieving a precision of 88.69% and recall of 100%. The results support that the
This document describes SODA, a tool that supports the detection of SOA (service-oriented architecture) antipatterns. The tool uses a three step approach: 1) specifying antipatterns, 2) generating detection algorithms, and 3) detecting antipatterns. It is built on the SOFA framework which allows for static and dynamic metric computation and rule specification. The SODA tool provides a graphical user interface for importing services, detecting antipatterns, and visualizing detection results. It aims to help identify common poor solutions known as antipatterns that can hinder maintenance and evolution of service-based systems.
SODA is a tool that uses the SOFA framework to automatically detect SOA antipatterns in service-based systems. It allows users to import systems, select antipatterns for detection, and view detection results including suspicious services, metric values, and association rules. The tool was able to detect examples like Bottleneck Service and Multiservice antipatterns in a case study. Future work involves adding more antipatterns, an Eclipse plugin, adapting other technologies, and integrating refactoring capabilities.
A3: application-aware acceleration for wireless data networksZhenyun Zhuang
This document discusses application-aware acceleration (A3) for improving application performance over wireless networks. It presents results showing that while enhanced transport protocols improve performance for FTP, they provide little benefit for other popular applications like CIFS, SMTP, and HTTP. This is because the behavior of these applications, designed for reliable LANs, negatively impacts their performance over lossy wireless links. The document proposes A3 as a middleware solution that offsets these behavioral problems through application-specific design principles, while remaining transparent to applications.
WEB SERVICE COMPOSITION IN DYNAMIC ENVIRONMENT: A COMPARATIVE STUDYcscpconf
This document provides a comparative study of 16 recent research papers on web service composition in dynamic environments. It evaluates the papers based on their approach to adapting to environmental changes, the composition phase they consider for detecting changes, whether they account for quality of service attributes, their main contributions, and whether they include experiments. The study finds that most approaches handle dynamism during the execution phase, treating earlier phases as static, and that more work is needed to detect and handle changes across all composition phases to build more reliable plans. Accounting for quality of service attributes and including experiments are also areas for improvement.
A fundamental problem before carriers today is to optimize network cost
and performance by better resource allocation to traffic demands. This is especially
important with the packet infrastructure becoming a critical business resource.
The key to achieving this is traffic engineering (TE), the process of
systematically putting traffic where there is capacity, and backbone
capacity management, the process of ensuring that there is enough network
capacity to meet demand, even at peak times and under failure conditions,
without significant queue buildups.
In this talk, we first focus on the TE techniques and approaches used
in the networks of two large carriers: Global Crossing and
Sprint, which represent the two ends of the traffic engineering spectrum.
We do so by presenting a snapshot of their TE philosophy, deployment strategy,
and network design principles and operation.
We then present the results of an empirical study of backbone traffic
characteristics that suggests that Internet traffic is not self-similar at
timescales relevant to QoS. Our non-parametric approach requires minimal
assumptions (unlike much of the previous work), and allows
us to formulate a practical process for ensuring QoS using backbone
capacity management.
(This latter work is joint with Thomas Telkamp, Global Crossing Ltd. and Arman
Maghbouleh, Cariden Technologies, Inc.)
Talhunt is a leader in assisting and executing IEEE Engineering projects to Engineering students - run by young and dynamic IT entrepreneurs. Our primary motto is to help Engineering graduates in IT and Computer science department to implement their final year project with first-class technical and academic assistance.
Project assistance is provided by 15+ years experienced IT Professionals. Over 100+ IEEE 2015 and 200+ yester year IEEE project titles are available with us. Projects are based on Software Development Life-Cycle (SDLC) model.
This document provides summaries of 15 networking projects from TTA including the project code, title, description, and reference. The projects cover topics like delay analysis of opportunistic spectrum access MAC protocols, load balancing for network traffic measurement, key exchange protocols for parallel network file systems, anomaly detection in intrusion detection systems, and energy efficient group key agreement for wireless networks. The document provides contact information at the end for obtaining full project papers.
Final Year IEEE Project 2013-2014 - Web Services Project Title and Abstractelysiumtechnologies
This document provides contact and location information for Elysium Technologies Private Limited, an IT company with 13 years of experience and over 250 developers located across multiple branches in India. It lists their services such as automated services, 24/7 help desk support, and ticketing & appointment systems. The company has experience in multiple languages and technologies.
This document summarizes a thesis on developing a distributed architecture for web browsing troubleshooting. The architecture integrates network measurement and analysis techniques through real-time data sharing across peers. It applies a dynamic distributed K-means clustering algorithm to partition browsing data from different locations into clusters representing performance issues. Experiments using the architecture identified local and non-local network problems affecting different peers. Future work could include testing with more peers, optimizing resource usage, and developing a user-friendly interface.
The document discusses thread management in mashup execution platforms. It introduces different types of service components - call-response, polling, and callback. It then presents a case study on polling services, comparing a trivial one-thread-per-service solution to a proposed solution of one monitoring thread plus a thread pool for each service. The proposed solution uses system resources more efficiently by reducing memory consumption and response times compared to the trivial solution. Future work areas discussed include analyzing interactions with the JVM memory management and effects of garbage collection on performance.
Part 2 question 1 provide a technical description of 4b5b dDIPESH30
This document contains questions and responses related to digital encoding schemes, transmission media, satellite deployment, and USB standards. For question 1, the response provides descriptions of 4B/5B encoding and Manchester encoding, and explains how 4B/5B may provide better data rates. Question 2 involves ranking transmission media by speed and includes typical uses. Question 3 requires a diagram comparing low earth orbit and geosynchronous satellite deployment for whole earth coverage. Question 4 covers an overview of USB technology, past, present and future analysis. The responses include examples, references, and APA formatting guidelines.
Asanka Abeysinghe, Architect, WSO2 at the SOA Workshop in Colombo, Sri Lanka (September 17, 2009) demonstrates mapping several enterprise SOA patterns to a few real world business requirements. He also discusses SOA implementation details using products from the WSO2 SOA platform.
This document provides an overview of microservices from Steve Upton. It discusses the two main histories of microservices - the standard creation story involving moving from a monolithic application to many independent microservices, and an "other story" noting how microservices evolved alongside changes in development practices, hardware, and platforms. Some key advantages of microservices are listed, such as resilience, loose coupling, and independent scalability. The CAP theorem is also introduced, noting the tradeoff between consistency, availability, and partition tolerance that must be considered with distributed systems.
The document discusses modeling user, application, and network behaviors to analyze and estimate requirements for computer networks. It describes developing models to characterize behaviors like session durations, data sizes, and traffic patterns. Simulation modeling allows testing designs virtually before physical implementation. Models of varying complexity can predict performance metrics like utilization, delay, and capacity to help optimize network design.
This document presents an approach called SODA (Service Oriented Detection for Antipatterns) for specifying and automatically detecting antipatterns in service-based systems. SODA uses a domain-specific language to specify rule cards for antipatterns. It then generates detection algorithms and uses the SOFA framework to compute metrics and detect suspicious services. Experiments applying SODA to two versions of a Home Automation system found 10 antipatterns with 92.5% precision and 100% recall, validating the approach. Future work includes adding more antipatterns, applying SODA to other systems, and integrating refactoring capabilities.
The document summarizes research on evaluating the performance of routing protocols (RPs) for mobile ad hoc networks (MANETs). The research involved simulating 3 RPs - AODV, DSR and OLSR - under different networking scenarios to analyze their performance. Key findings include: OLSR had the highest throughput but also the largest control overhead, making AODV better suited for environments with energy/bandwidth constraints. Varying node density, mobility and traffic loads impacted protocol performance. The research aims to validate RP features and provide guidance on protocol selection for different MANET conditions.
Similar to Investigating the Change-proneness of Service Patterns and Antipatterns (20)
Using Interactive Genetic Algorithm for Requirements PrioritizationFrancis Palma
This document describes using a genetic algorithm to prioritize requirements. It begins with an outline and introduction to the problem of prioritizing software requirements. It then discusses related prioritization techniques from literature and how they have limitations like poor scalability. The document proposes using a genetic algorithm to prioritize requirements, leveraging domain knowledge graphs representing priority and dependencies. It describes representing potential solutions as individuals in a population, calculating fitness by counting disagreements with domain knowledge, and using genetic operators like crossover to evolve better solutions over generations. The goal is to find a prioritized requirements list that best satisfies constraints and delivers value to users.
Interactive Requirements Prioritization Using Search Based Optimization Techn...Francis Palma
The document describes two approaches - Approach A and Approach B - for interactive requirements prioritization using optimization techniques and a constraint solver. Approach A uses a genetic algorithm to find a requirements ordering that minimizes disagreements with encoded domain knowledge precedence graphs, without user input. Fitness is defined as the count of disagreements between a candidate solution and the graphs. Approach B will incorporate user knowledge through a constraint solver to resolve contradictions, but details are not yet provided. The goal is to develop techniques that can handle large and complex real-world prioritization problems with many constraints.
Specification and Detection of SOA AntipatternsFrancis Palma
This document summarizes Francis Palma's education and research experience. It provides background information on service-oriented architectures (SOA) and discusses the motivation and objectives of specifying and detecting SOA antipatterns to ease the maintenance and evolution of service-based systems. Examples of SOA antipatterns like Tiny Service and Multi Service are also presented.
Recommendation System for Design Patterns in Software DevelopmentFrancis Palma
This document presents a recommendation system for design patterns in software development. It aims to help designers choose appropriate design patterns for their problems. The system uses a knowledge base of design patterns and a Goal, Question, Metric model to ask users a series of weighted questions. User responses are scored and patterns are ranked to make recommendations. An experiment was conducted with 8 users, and preliminary results found the system was effective at recommending patterns with less questions than other approaches. Future work will include expanding the knowledge base and more evaluation.
A Study on the Taxonomy of Service AntipatternsFrancis Palma
This document presents a taxonomy of service antipatterns in service-based systems. It classifies service antipatterns into two categories: existential and analytical. Existential antipatterns are further divided into intra-service, inter-service, and compound antipatterns. Analytical antipatterns are classified as static, dynamic, or structural/behavioral. The document also proposes a classification of service smells and metrics for detecting antipatterns. It outlines steps for specifying metrics-based rules for automatically detecting antipatterns in service-based systems. The taxonomy aims to help understand relationships between antipatterns and ease maintenance of service-based applications.
Specification and Detection of Business Process AntipatternsFrancis Palma
The document describes an approach called SODA-BP for specifying and detecting business process antipatterns. SODA-BP involves defining antipatterns using rule cards, generating detection algorithms from the rule cards, and applying the algorithms to detect antipattern occurrences in business processes. The approach was validated on eight antipatterns across 35 BPEL processes.
Are RESTful APIs Well-designed? Detection of their Linguistic (Anti)PatternsFrancis Palma
The document describes a study that detects linguistic (anti)patterns in RESTful APIs using an approach called DOLAR (Detection Of Linguistic Antipatterns in REST). DOLAR analyzes URIs and identifies syntactic and semantic aspects like contextual vs. contextless resource names. It defines heuristics and detection algorithms for patterns and antipatterns. Experiments on 15 REST APIs found DOLAR has high accuracy (79.7% on average) and the detection algorithms have low overhead (0.709 seconds on average). The SOFA framework supporting DOLAR was also found to be extensible.
Detection of REST Patterns and Antipatterns: A Heuristics-based ApproachFrancis Palma
The document describes two responses from the Dropbox API. The first response includes metadata about a folder and its contents. The second response includes information about a specific user account. Both responses lack hyperlinks that could be followed to other resources.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Investigating the Change-proneness of Service Patterns and Antipatterns
1. Investigating the Change-proneness of
Service Patterns and Antipatterns
Francis Palma, Le An, Foutse Khomh, Naouel Moha, and Yann-Gaël Guéhéneuc
École Polytechnique de Montréal, Canada
SOCA 2014, Matsue, Japan
2. Problem Context (1/3)
Service-based Systems
2 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
SOAP
Web Services
SCA Systems
3. Problem Context (1/3)
SOAP
Web Services
SCA Systems
Service-based Systems
Design Patterns
2 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
4. Problem Context (1/3)
SOAP
Web Services
SCA Systems
Service-based Systems
Maintenance
Evolution
SOAP Web Services
SCA Systems
Design Patterns
2 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
5. Problem Context (1/3)
SOAP
Web Services
SCA Systems
Service-based Systems
Maintenance
Evolution
SOAP Web Services
SCA Systems
- may degrade the design
- may degrade the QoS = Antipatterns
Design Patterns
2 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
6. Problem Context (1/3)
2 of 21
1. Highly change-prone?
2. Require more maintenance
efforts or cause expensive
maintenance?
SOAP Web Services
SCA Systems
Existing
Antipatterns
?
Investigating the Change-proneness of Service Patterns and Antipatterns
7. Problem Context (2/3):
Service Antipatterns and Patterns
3 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
Multi Service Antipattern
8. Problem Context (2/3):
Service Antipatterns and Patterns
Multi Service Antipattern
Proxy Service Pattern
Proxy
Service
Actual
Service
Calls Calls
Client
3 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
9. Problem Context (3/3): Detection vs. Impact
4 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
• Detection of service patterns? (SODOP, Demange et al. 2013)
• Detection of service antipatterns? (SODA, Moha et al. 2012)
• Improve/degrade the design and the QoS?
• Facilitate/hinder the maintenance and evolution of an SBS?
- impact on the change-proneness, i.e., maintenance cost?
10. Problem Context (3/3): Detection vs. Impact
Change-proneness of a service*
- number of changes
the frequency of changes on a service source files
- code churns
the size of changes on a service source files
4 of 21
• Detection of service patterns? (SODOP, Demange et al. 2013)
• Detection of service antipatterns? (SODA, Moha et al. 2012)
• Improve/degrade the design and the QoS?
• Facilitate/hinder the maintenance and evolution of an SBS?
- impact on the change-proneness, i.e., maintenance cost?
*Code Churn: A Measure for Estimating the Impact of Code Change: Sebastian G. Elbaum and John C.
Munson (1998)
11. Research Questions
• RQ1: What is the relation between service patterns and
change-proneness?
• RQ2: What is the relation between service antipatterns and
change-proneness?
• RQ3: What is the relation between particular kinds of service
antipatterns and change-proneness?
• Confounding impact of OO code-level smells
5 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
12. Outline
- Analysed System: FraSCAti OW2
- Study Design
- Case Study Results
- Conclusion and Future Work
13. Outline
- Analysed System: FraSCAti OW2
- Study Design
- Case Study Results
- Conclusion and Future Work
14. FraSCAti OW2
frascati.ow2.org
Investigating the Change-proneness of Service Patterns and Antipatterns
Total Services 130 (62 analysed)
Total Size 170 KLOC
Total Changed Files 15,863*
Total Java Source Files 9,020*
Total Changes 71,151*
Total Code Churns 62,676,363*
6 of 21
*Entire commit history
15. Outline
- Analysed System: FraSCAti OW2
- Study Design
- Case Study Results
- Conclusion and Future Work
16. Study Design
7 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
17. Study Design
7 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
20. Study Design
7 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
21. Study Design
7 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
22. Study Design
Detection of Service Patterns:
SODOP – Service Oriented Detection Of Patterns (Demange et al. 2013)
Detection of Service Antipatterns:
SODA – Service Oriented Detection for Antipatterns (Moha et al. 2012)
8 of 21
Names Detected
Instances
Involved Java
Source Files
Patterns
Adapter 1 14
Basic Service 5 54
Facade 3 62
Proxy 3 61
Antipatterns
Bloated Service 3 25
Bottleneck Service 2 24
God Component 2 4
Multi Service 1 5
Nobody Home 4 12
Service Chain 3 10
The Knot 1 24
Tiny Service 1 24
OO Code Smells - 26,381 3,717
23. Study Design
9 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
24. Study Design: Variables
Independent Variables
Eight service antipatterns and four service patterns
i. f1
i a file i was involved in the implementation of at least one pattern (RQ1)
ii. f2
i a file i was involved in the implementation of at least one antipattern (RQ2)
iii. f3
i,j a file i was involved in the implementation of antipattern j (RQ3)
Dependent Variables
Change-proneness of services' source files
i. total number of changes as ci
ii. total number of code churns as di
10 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
25. Study Design: Interpretation of Values
Interpreting the effect sizes
Interpreting the p-values
11 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
26. Outline
- Analysed System: FraSCAti OW2
- Study Design
- Case Study Results
- Conclusion and Future Work
27. RQ1: What is the relation between service patterns
and change-proneness?
12 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
28. RQ1: What is the relation between service patterns
and change-proneness?
12 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
H1
01 : there is no difference between the total number of changes experienced
by files involved in the implementation of a service pattern and other files
H2
01 : there is no difference between the total number of code churns
experienced by files involved in the implementation of a service pattern and
other files
29. H1
01 : there is no difference between the total number of changes experienced
by files involved in the implementation of a service pattern and other files
H2
01 : there is no difference between the total number of code churns
experienced by files involved in the implementation of a service pattern and
other files
12 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
RQ1: What is the relation between service patterns
and change-proneness?
SODOP
Measure
change-proneness
Test H1
01 &H2
01
(Wilcoxon rank sum test)
30. Findings RQ1: Patterns are less change-prone but
not at (statistically) significant level
13 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
31. 13 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
Findings RQ1: Patterns are less change-prone but
not at (statistically) significant level
32. 13 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
Findings RQ1: Patterns are less change-prone but
not at (statistically) significant level
33. RQ2: What is the relation between service
antipatterns and change-proneness?
14 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
34. RQ2: What is the relation between service
antipatterns and change-proneness?
14 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
H1
02: there is no difference between the total number of changes experienced
by files involved in the implementation of a service antipattern and other files
H2
02 : there is no difference between the total number of code churns
experienced by files involved in the implementation of a service antipattern and
other files
35. 14 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
RQ2: What is the relation between service
antipatterns and change-proneness?
H1
02: there is no difference between the total number of changes experienced
by files involved in the implementation of a service antipattern and other files
H2
02 : there is no difference between the total number of code churns
experienced by files involved in the implementation of a service antipattern and
other files
SODA
Measure
change-proneness
Test H1
02 & H2
02
(Wilcoxon rank sum test)
37. 15 of 21
Findings RQ2: Antipatterns are more change-prone
at the statistically significant level
38. RQ3: What is the relation between particular kinds
of service antipatterns and change-proneness?
16 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
39. RQ3: What is the relation between particular kinds
of service antipatterns and change-proneness?
16 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
H1
03: there is no difference between the total number of changes experienced
by files from groups (GAi)iє{1,….8} and GNoAP
H1
03: there is no difference between the total number of code churns
experienced by files from groups (GAi)iє{1,….8} and GNoAP
40. H1
03: there is no difference between the total number of changes experienced
by files from groups (GAi)iє{1,….8} and GNoAP
H1
03: there is no difference between the total number of code churns
experienced by files from groups (GAi)iє{1,….8} and GNoAP
16 of 21
RQ3: What is the relation between particular kinds
of service antipatterns and change-proneness?
SODA
Measure
change-proneness
Test H1
03 & H2
03
(Kruskal-Wallis test)
Classify source files
(antipatterns vs non-antipatterns)
42. 17 of 21
Findings RQ3: Antipatterns (investigated in this
study) are not equally change-prone
43. Confounding Impact:
Are service antipatterns more vulnerable to OO
code-level smells (and vice-versa for service pattern)?
18 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
44. Confounding Impact:
Are service antipatterns more vulnerable to OO
code-level smells (and vice-versa for service pattern)?
18 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
SODA
SODOP
Compare the groups
(Wilcoxon rank sum test)
Classify source files
(patterns vs. non-patterns)
(antipatterns vs. non-antipatterns)
45. Findings on Confounding Impact
19 of 21
Service antipatterns contain more (but not statistically significant) code smells
Service patterns contain less code smells at the statistically significant level
46. Findings on Confounding Impact
19 of 21
Service antipatterns contain more (but not statistically significant) code smells
Service patterns contain less code smells at the statistically significant level
47. Take Home Message…
• Developers should avoid implementing Service
Antipatterns to
- reduce maintenance efforts and costs, and
- improve maintainability and ease evolution
• Implemented service patterns have less code-level
OO smells
20 of 21Investigating the Change-proneness of Service Patterns and Antipatterns
48. Outline
- Analysed System: FraSCAti OW2
- Study Design
- Case Study Results
- Conclusion and Future Work
53. Future Work
• Future works include
- replicate the study on other SBSs and service antipatterns
- investigate the changes types and their impact on antipatterns
- investigate the relation between service antipatterns
and fault-proneness
21 of 21Investigating the Change-proneness of Service Patterns and Antipatterns