M.Phil / MS

Permanent URI for this collectionhttps://repository.cuilahore.edu.pk/handle/123456789/36

This collection archives the complete set of theses produced by students of the COMSATS University Islamabad, Lahore Campus.

Browse

Search Results

Now showing 1 - 4 of 4
  • Item
    Recommendations on Maintainability Issues in Web Services
    (Library Information Services, COMSATS University Islamabad, Lahore Campus, 2023) Zoha Ejaz; SP20-RCS-031; LHR TP 8671; Dr. Ghulam Rasool
    Web services are components that are capable of performing a certain task, like two devices communicating with each other and exchanging information. With the increase in use of web service software, following the good practices for maintainability plays an important role as it helps to reduce maintenance cost and improve software quality. Many problems are faced by the developers nowadays and they need a platform to discuss these problems and get information on how to resolve them by an expert opinion. They ask questions on the discussion forums or the Community Question Answering (CQA) sites such as Stack Overflow and Quora. These problems include: outdated online code snippets, maintainability issues in reuse of existing libraries, RESTful webservices composition. The Representational State Transfer (REST) is an established architectural paradigm utilised in the development and design of web services. The system employs the Hypertext Transfer Protocol (HTTP) to facilitate the transmission and reception of data. It is one of the most used domains and asked about on CQA sites. The state-of-the-art tools and techniques are limited as they mostly cover theoretical knowledge to state RESTful web services patterns. We need to consider the industrial opinion as their opinions can be used to overcome many problems and identify new ones for resolution. A new approach is proposed in which the existing practices defined in the literature are used as a benchmark and expertise opinions are extracted from Stack Overflow accepted answers. Recommendations are formed on the basis of the experts’ opinion and used in a tool which detects the area of discussion and suggests expert’s pattern definitions.
  • Item
    Good or Bad: Design Principles for Resolving Maintainability Issues for Microservices
    (Library Information Services, COMSATS University Islamabad, Lahore Campus, 2022) Maham Saleem; SP20-RCS-029; LHR TP 8049; Dr. Ghulam Rasool
    Microservices Architecture (MSA) style has gained popularity in the software industry as it provides a powerful method for developing applications that consist of several small, maintainable, independently deployable, and manageable services. The loosely coupled architecture style and dynamic nature of MSA cause many issues such as maintainability, security, latency, and performance. Anti-patterns are "poor" solutions to persistent issues. These solutions frequently make software systems more difficult to maintain. Microservice-based systems experience difficulties with maintainability and evolution, much like any other architectural style, because of these anti-patterns. As a result, adding and modifying functionalities becomes more and more difficult. The maintenance process also includes identifying anti-patterns within microservice-based systems, which improves the software's quality assessment. In this research, we analyze and understand the maintainability issues, anti-patterns, and suggested solutions related to microservices being discussed in the literature, and the Industry Forum. With the help of these blogs and academic literature, we propose a methodology to address the maintainability, design, and architecture issues for the improvement of microservices. We want to provide an extensive list of microservices anti-patterns and tool support to provide suggestions and categorize the best practices proposed by the professionals to support the research community and industry. In conclusion, we seek to improve the maintenance and quality of microservice-based systems with our semi-automatic tool-based approach. Our strategy is based on software re-engineering methods to extract useful data and has been created as an automated approach integrated with an add-in for Sparx System Enterprise Architecture (EA) for anti-patterns recognition from MS-based software applications. We have evaluated our approach on 20 open source microservices-based systems using precision and recall metric
  • Item
    Client APIs are Effected by Web APIs Evolution
    (Library Information Services, COMSATS University Islamabad, Lahore Campus, 2021) Farrukh Liaquat; FA17-RCS-002; LHR TP 7281; Dr. Ghulam Rasool
    Web APIs (Application Programming Interfaces) evolution means updating the APIs to improve their performance. Web services are used for communication between applications such as Facebook, Youtube, etc. The commonly used protocols in web services are SOAP (Simple Object Access Protocol), REST (Representational State Transfer), JSON (JavaScript Object Notation), WPS (Web Processing Service), WSCL (Web Services Conversation Language), WSFL (Web Services Flow Language) and XML-RPC (XML Remote Procedure Call). The SOAP is with strict rules and allows only XML data format while REST is a Representational State Transfer and it allows a combination of different messaging data formats such as HTML, JSON, XML, and plain text. The APIs versioning consists of some changes such as adding new methods and parameters, updating methods and parameters names, and deleting methods and parameters. These changes provide an opportunity to analyze design patterns and antipatterns. The APIs may have incomplete functionalities, which shows immature APIs updates. The APIs updates bring new and improved functionalities as well as incompatibilities and integration problems for client developers. The client developers have to modify their client programs according to these changes to use new APIs. However, much prior work is found related to web services (web APIs), but our research work is mainly related to client APIs as well as web APIs. The main objective of this research is to analyze web APIs evolution pains as well as pain-causing factors to client APIs. For this purpose, we use the versioning history approach, and record the changelog of web APIs such as Youtube, and performed empirical analysis. We invoke web APIs for the detection of antipatterns. We develop a reverse engineering Add-in in Sparx System for reverse engineering of the web APIs. The Add-in automatically generates source code metrics from source code dll. The Add-in extracts 9 artifacts from source code such as the number of interfaces, number of classes, number of fields, number of code files, number of namespaces, disk size, manifest, and availability. We extract source code metrics from 10 web APIs such as Alchemy, BestBuy, Bitly, Dropbox, External-IP, Facebook, Instagram, TeamViewer, WhatsApp, and YouTube. We also extract source code metrics from 10 open-source client projects APIs such as NewtonSoft, RestSharp, NLog, SharpZipLib, Protobuf-net, Zxing, Telegram, Lucene, SharpDX, and AForge. We perform empirical analysis on source code metrics and analyzed that the APIs evolve due to Changing the number of interfaces, Changing the number of classes, Changing the number x of methods, Changing the number of fields, Changing the number of code files, Changing the number of namespaces, and Changing the size of the file. When web APIs evolve, client APIs also evolve respectively to accommodate these changes. Therefore, client APIs are effected by web APIs evolution
  • Item
    Recovery of Anti-Patterns from Microservices
    (Library Information Services, COMSATS University Islamabad, Lahore Campus, 2020) Sabahat Atta; FA17-RCS-028; LHR TP 5980; Dr. Ghulam Rasool
    Microservices have brought an evolution in the Service Oriented Architecture by introducing high independence at various levels. These services provide independent development, service to service communication, individual database per service, independent deployment, and maintenance, etc. The service-oriented systems support the quick implementation of customized changes to software applications. These frequent changes might result in introducing some feeble solutions. These solutions commonly known as “Anti-Patterns”, can negatively impact the quality of the microservices. Another reason for anti-patterns occurrence may be due to the migration of software applications developed on monolithic architecture to microservices architecture. This process demands a high knowledge of microservices-based design patterns and best practices to avoid flaws that might instigate while migration from centralized to a distributed environment. In this research, we have selected 18 microservices related anti-patterns and proposed an approach for their detection. We found only a single approach that presented an algorithm to detect microservices specific Anti-Patterns [1]; the study focused on detecting five anti-patterns. However, our proposed approach differs from the state-of-the-art approach, as, firstly, we focused on the detection of a large number of anti-patterns. Secondly, we have implemented reverse engineering on microservices-based systems and then detected anti-patterns from these systems. Our research focuses on the detection of microservices specific anti-patterns from microservices-based software applications. Our approach is developed as an automated approach supplemented with an add-in for Sparx System EA for the automatic detection of anti-patterns from microservices-based systems. We have evaluated our approach using precision and recall metrics
2025 @ COMSATS University Islamabad, Lahore Campus. All rights reserved.