Examensarbeten för masterexamen
Länka till denna samling:
Visar 1 - 5 av 1565
- PostManually Mapping Model Elements onto the Modeled Code by Analyzing GitHub Data(2023) Zhang, Wenli; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Chalmers University of Technology / Department of Computer Science and Engineering; Berger, Christian; Hebig, ReginaContext: Class diagrams are one of the most popular UML models and are frequently used in the early stages of software development. The advantage of using class diagrams is that they can reflect design decisions and the system’s implementation structure. Maintainers can use class diagrams to understand the system’s implementation structure. Yet, as the code evolves, the absence of updating class diagrams will cause the code implementation to deviate from the class diagram design. One concern is that such a divergent class diagram does not help maintainers much in the same way during the maintenance stage. As a solution, reverse engineering methods/tools can reverse code into class diagrams. Yet, another concern comes up, in most cases, the reverse-engineered class diagrams are not abstract, and they contain extensive information that will burden the understanding of the system’s implementation structure. This is because the existing reverse engineering methods/tools are imperfect as they do not manage to imitate the human ability to abstract relevant information from the source code. Surprisingly, existing studies on the characteristics of manual abstraction are based on the opinions and experiences of participants but do not study actual cases of models and source code. Also, the methods/technologies used for checking the similarities and differences between the models and source code are purely structural but do not analyze or take the semantics of the model elements into account when mapping classes from models and code. The semantics is closely related to abstraction creation. Thereby, a systematic manual study on the characteristics of manual abstraction is required. Aim: To fill this gap, this thesis aimed at studying the characteristics of the differences between the class diagram design and the code implementation by manually creating the mappings between the class diagram elements/constituents and the code constructs. Our manual studies can precisely capture the differences between the class diagram design and source code implementation and investigate the causes of these differences. Method: We employed the methodology of five case studies. The five subjects studied are five Java open-source projects collected from GitHub. They are semirandomly selected from the Linholmen dataset . Results: For the differences between the class diagram design and code implementation, three causes are summarized: various levels of manual abstraction created in class diagrams, deviations of code implementation from class diagram design, and common changes between the class diagram elements/constituents and code constructs. We contribute to a sorted list of cases corresponding to these three causes.
- PostCloud connectivity and Network Management in Thread Mesh Network(2023) Li, Jinsong; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Chalmers University of Technology / Department of Computer Science and Engineering; Pathan, Risat; Duvignau, RomaricThere is a growing interest in short range radio mesh networks with native IP support. Thread is one promising IoT protocol built on a mesh configuration based on the IEEE 802.15 standard. But for the applications with cloud computing, it has a critical limitation that the status of the nodes is not propagated globally so it’s difficult for the administrator to monitor and manage the network. In this thesis, I developed an application based on OpenThread to overcome this limitation, and tested it on a Thread network prototype. Besides, some of the parameters in the implementation of Thread are optimized in order to shorten the interval of updating the node status. CoAP over DTLS, and MQTT-SN are chosen as application protocols for demo and test. As a result, the network administrator can be notified of the node state changes of the Thread network with a reasonable latency, while the newly added function does not influence the Thread network performance.
- PostNoise Handling for improving anomaly detection in application logs(2023) ZHANG, ZHIYAN; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Chalmers University of Technology / Department of Computer Science and Engineering; Gren, Lucas; Hebig, ReginaApplication logs can often play a vital role in maintaining information systems. However, many of the applications in production environments are generating more and more logs. This can make it particularly difficult for users to locate the needed information in a short time. As anomalies can appear in the application logs and the symptoms of the problems may lead to some serious consequences such as huge economic loss, it is crucial to detect them effectively. The cases that successfully apply machine learning to solve problems in the software engineering area are gradually increasing, for example, the end-to-end pipelines became more automated after applying some artificial intelligence algorithms. Machine learning can also be advantageous in detecting anomalies in application logs. In this thesis study, we aim to investigate whether attribute noise removal has an impact on improving the learning performance of anomaly detection. We achieve our goal by applying an existing machine learning algorithm, log clustering, to identify anomalies. Also, an existing attribute noise removal method, PANDA, is used to study the effect of attribute noise removal on the learner performance of anomaly detection. Then we evaluate whether attribute noise removal can help improve the anomaly detection process by comparing the training results of different experimental groups. Overall, as the percentage of attribute noise removal increases, the values of precision, F1-Score, and MCC increase slightly. We conclude that attribute noise removal has the potential to be beneficial to the anomaly detection process, such as increasing the number of detected false cases.
- PostHow can real-time strategy game design be improved?(2023) Malmquist, Adam; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Chalmers University of Technology / Department of Computer Science and Engineering; Wiberg, Mikael; Björk, StaffanReal-time strategy games have dropped in popularity since their peak around the turn of the millennium. During the same time period, the MOBA genre has emerged and become one of the most played genres. This thesis examines what the main problems with the RTS genre are, and what can be learnt from the successes of the competing MOBA genre. Data from various sources has been collected and analysed to produce a theory that explains the strengths and weaknesses of the RTS genre. In addition to this, a game study has been carried out to compare the most popular games of the two genres. The end result of the thesis is a set of guidelines that based on the newly acquired knowledge suggest how RTS game design could be improved.
- PostProcedurally Generating Worlds in the Style of Nintendo’s Animal Crossing(2022) Anton, Annlöv; Cornelis, Törnquist Sjöbeck; Chalmers tekniska högskola / Institutionen för data och informationsteknik; Chalmers University of Technology / Department of Computer Science and Engineering; Petersen Moura Trancoso, Pedro; Belford, PaulineThis is an investigation to answer the question ”How can you generate an Animal Crossing style terrain?”. Our aim has been to investigate the challenges and opportunities in terms of solving this task, while adhering to the specific style of Nintendo’s Animal Crossing. We recognize the importance of world-building and its’ widespread employment in many commercial and research environments. In some cases it is favorable to generate a world as opposed to manually building it. With our investigation we are specifically targeting real-time applications, such as video games. In terms of procedurally generating worlds specifically in the style of Animal Crossing, little previous work outside of the games has been done. Our investigation is taking a step to fill that gap in the research. We approach the problem by combining a collection of know techniques, such as: heightmaps, Lindenmayer-systems, Depth-First Search, Poisson disk sampling, Simplex noise. We also combine them with our own solutions and introduce custom stylized visual elements, like graphical shaders, to shape the aesthetic. Our shaders use techniques like layered textures, displacement maps and scrolling textures. At the start of this paper we ask the question: "How can you generate an Animal Crossing style terrain?". We answer this question defining what the Animal Crossing style is and by showing how to apply specific techniques in order to produce such a result. By this we answer a number of things: Yes, you can procedurally generate terrain in the style of Animal Crossing; Yes, these worlds can be made suitable for realtime applications such as a game; Applying specific techniques in a certain way combined with some extra details, you can achieve these types of visual results which we believe follow the principles of the Animal Crossing style. Auxiliary to this we also provide insight into ways in which certain aesthetic features can be achieved, which may fit into a world following the style of Animal Crossing terrain.