Measuring Maintainability and latency of Node.js frameworks
2021 (Engelska)Självständigt arbete på grundnivå (kandidatexamen), 10 poäng / 15 hp
Studentuppsats (Examensarbete)
Abstract [en]
Context: Node.js is an established web framework built using JavaScript. As a result, there are a wide variety of frameworks that have emerged that specialize in different quality attributes and functionalities. Some of which are heavily geared to performance and benchmarking while others might focus on security, availability, robustness, etc.
Objectives: The project aims to explore different Node.js server-side frameworks and determine their maintainability using metrics such as Halstead metrics, Maintainability index, source line of code as well as Logical source lines of code. This thesis also explores if there is a correlation between the quality attributes maintainability and performance.
Realization: In order to explore the different quality attributes, the thesis relied upon experiments and a literature review. The hierarchical method in this thesis was first to examine their performance, later examine their overall maintainability. Examined is also the impact of comments and how they can affect the results of the maintainability index
Results: The results indicate all the selected frameworks have a low-to borderline medium cyclomatic complexity, also a high degree of maintainability using two different 3 metric maintainability index formulas. The latency tests indicate the different frameworks produce similar performance results.
Conclusion: Concluded in this thesis is, there seems to be no relationship between both lines of code, logical lines of code, and cyclomatic complexity. There also seems to be no correlation between Halstead volume and the overall maintainability index for both the 3 metric formulas used. There is a slight indication of a relationship between Halstead Effort and Cyclomatic Complexity using one of the 3 metric formulas i.e., as the cyclomatic complexity decreases the overall maintainability (using Halsted’s effort instead of Halstead’s volume) increases.
Ort, förlag, år, upplaga, sidor
2021. , s. 64
Nyckelord [en]
Maintainability index, Latency, Node JS, Maintainability, Halstead, Cyclomatic Complexity
Nationell ämneskategori
Programvaruteknik
Identifikatorer
URN: urn:nbn:se:bth-22160OAI: oai:DiVA.org:bth-22160DiVA, id: diva2:1598017
Ämne / kurs
PA1445 Kandidatkurs i Programvaruteknik
Utbildningsprogram
PAGPT Software Engineering
Handledare
Examinatorer
2021-09-292021-09-282025-09-30Bibliografiskt granskad