... | @@ -5,23 +5,23 @@ |
... | @@ -5,23 +5,23 @@ |
|
|
|
|
|
Here are the [slides](uploads/c973853f8ecebd1b26f25fbf0c6f9b7c/2025-04-08-thesis-topics-presentation.pdf) for the presentation from April 8, 2025, and some details about the topics:
|
|
Here are the [slides](uploads/c973853f8ecebd1b26f25fbf0c6f9b7c/2025-04-08-thesis-topics-presentation.pdf) for the presentation from April 8, 2025, and some details about the topics:
|
|
|
|
|
|
## Compare our approach with others
|
|
### Compare our approach with others
|
|
|
|
|
|
There are approaches that e.g., recommend how to split up a monolith into microservices, see, e.g., https://servicecutter.github.io/. A research question is how our approach compares to this one.
|
|
There are approaches that e.g., recommend how to split up a monolith into microservices, see, e.g., https://servicecutter.github.io/. A research question is how our approach compares to this one.
|
|
|
|
|
|
## Integrate Byte Code Size as metric
|
|
### Integrate Byte Code Size as metric
|
|
|
|
|
|
For a modularization (say, Java projects into several `.jar` files), add the file size of the resultung `.jar` files into account. One useful metric here is the sum of the size of all jar files (where dependencies must be taken into account), which then must be weighed against constraints such as "`main.MainA` must be in a different file than `main.mainB`" that fix some separtion by business logic. (Of course, the constraints must not specify too much, otherwise the optimization space gets trivial).
|
|
For a modularization (say, Java projects into several `.jar` files), add the file size of the resultung `.jar` files into account. One useful metric here is the sum of the size of all jar files (where dependencies must be taken into account), which then must be weighed against constraints such as "`main.MainA` must be in a different file than `main.mainB`" that fix some separtion by business logic. (Of course, the constraints must not specify too much, otherwise the optimization space gets trivial).
|
|
|
|
|
|
## Experiment with different mutations / recombinations
|
|
### Experiment with different mutations / recombinations
|
|
|
|
|
|
Add heuristic mutations and recombinations ones and compare them against the current set of operations; both on real and on synthetic examples.
|
|
Add heuristic mutations and recombinations ones and compare them against the current set of operations; both on real and on synthetic examples.
|
|
|
|
|
|
## Semantic Coupling
|
|
### Semantic Coupling
|
|
|
|
|
|
Building on the results of a previous bachelor's thesis, integrate semantic coupling as a metric into the optimization. Evaluate the metric manually on a known project.
|
|
Building on the results of a previous bachelor's thesis, integrate semantic coupling as a metric into the optimization. Evaluate the metric manually on a known project.
|
|
|
|
|
|
## Improve parallelization
|
|
### Improve parallelization
|
|
|
|
|
|
The current implementation of the optimization framework uses parallelization, but the support could be improved.
|
|
The current implementation of the optimization framework uses parallelization, but the support could be improved.
|
|
|
|
|
... | | ... | |