Content area

Abstract

A method stereotype is a concise high-level description of the role of a method in a software system with respect to its context within a class. Method stereotype information can be used to lay the groundwork for more sophisticated forms of design recovery such as determining class stereotypes or improving the precision of metrics calculations. However, most software systems do not document this information explicitly in the source code and while it might seem simple to document such information manually, it can become costly to do so, and maintain, in a large software system. To address this problem, previous work on stereotypes introduced Stereocode, a tool to automatically identify method and class stereotypes in software systems. Stereocode utilizes static code analysis techniques and heuristics to extract method and class information from the code. Stereotypes are then calculated and assigned to each method and class. However, the previous versions of Stereocode have limitations, such as processing one class at a time and supporting a single programming language (e.g., C++ or Java). Additionally, these earlier versions did not account for all the information in the class, relied on a number of assumptions, and performed very basic static analysis. The work in this thesis presents two main contributions to the field of software engineering. First, it introduces a new version of Stereocode to support a more comprehensive and accurate analysis of software. The new Stereocode can perform an in-depth, language-specific analysis, to generate both method and class stereotypes for entire software systems written in C++, C#, or Java. Moreover, the tool can handle features that are unique to each language including friend functions, multi-level inheritance, properties, partial classes, generics, structs, and interfaces. The second contribution is an empirical study that investigates method and class stereotype distributions across software systems written in C#, Java, and C++. The study explores whether systems from different categories, such as GUI libraries, cluster together based on their domain, or the language used. The findings from this study provide valuable insights into stereotype distributions and their implications for improving software design and documentation.

Details

1010268
Title
An Empirical Investigation of Method and Class Stereotype Distributions Across Software Systems in C++, C#, and Java
Number of pages
75
Publication year
2024
Degree date
2024
School code
0101
Source
MAI 85/11(E), Masters Abstracts International
ISBN
9798382332390
Committee member
Xu, Lei; Nesterenko, Mikhail; Collard, Michael
University/institution
Kent State University
Department
College of Arts and Sciences / Department of Computer Science
University location
United States -- Ohio
Degree
M.S.
Source type
Dissertation or Thesis
Language
English
Document type
Dissertation/Thesis
Dissertation/thesis number
31312391
ProQuest document ID
3049896573
Document URL
https://www.proquest.com/dissertations-theses/empirical-investigation-method-class-stereotype/docview/3049896573/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
ProQuest One Academic