Performance in software describes the efficiency with which a system or a component fulfills its intended tasks, considering factors such as execution speed, resource consumption, and accuracy. It is a quality that can determine whether a software system is a success or a failure and can bring both financial profits and losses to companies. Developers, however, do not fully utilize existing best practices to maximize performance or try to increase it by reducing other quality attributes. The performance issues they face are often more complex and require more effort to be solved than functional bugs. To provide more insight into the subject of such issues, a study is conducted on 54 real-life performance issues found in 7 C# projects, which are analyzed for root causes, affected quality (response time or memory allocation), and applied solutions. Issues are classified based on their root cause, and the taxonomy consisting of 12 categories used in the process is derived from different performance issue classifications proposed by related research through a literature review. Additionally, through another literature review, 11 patterns that can improve software performance are identified and described. Out of those 11 patterns, 4 are found to be commonly applied when solving performance issues in C#. The aim of this study is to provide insights into what kind of performance issues appear and how they are solved in the C# language.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:lnu-130387 |
Date | January 2024 |
Creators | Pawlukiewicz, Anna, Nedkov, Nedko |
Publisher | Linnéuniversitetet, Institutionen för datavetenskap och medieteknik (DM) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0016 seconds