... | @@ -20,6 +20,7 @@ The functionality can then be divided in the 6 below steps: |
... | @@ -20,6 +20,7 @@ The functionality can then be divided in the 6 below steps: |
|
- Augment the accumulated suggestions with information about their overall impacts to all 3 of the code qualities, and produce the respective design space
|
|
- Augment the accumulated suggestions with information about their overall impacts to all 3 of the code qualities, and produce the respective design space
|
|
- Visualize the output of the previous step in an interactive, easy-to-understand fashion
|
|
- Visualize the output of the previous step in an interactive, easy-to-understand fashion
|
|
- Combine the decision maker's preferences with the trade-offs between each of the suggestions, and feed a decision-making algorithm for ranking each alternative
|
|
- Combine the decision maker's preferences with the trade-offs between each of the suggestions, and feed a decision-making algorithm for ranking each alternative
|
|
|
|
- Combine the decision-making algorithm's outputs with predictions from the Forecasting Toolbox and provide the user with a final view on the available options, and their values.
|
|
|
|
|
|
## LUT Structure
|
|
## LUT Structure
|
|
A direct consequence of SDK4ED's modular architecture is that none of the analysis toolboxes does take into consideration code qualities other than the one it optimizes. To take meaningful decisions, however, the user will need to evaluate all refactorings universally. Regardless of the source toolbox of a suggestion, the displayed information should include its impact on all aspects: energy, technical debt and security.
|
|
A direct consequence of SDK4ED's modular architecture is that none of the analysis toolboxes does take into consideration code qualities other than the one it optimizes. To take meaningful decisions, however, the user will need to evaluate all refactorings universally. Regardless of the source toolbox of a suggestion, the displayed information should include its impact on all aspects: energy, technical debt and security.
|
... | @@ -44,6 +45,11 @@ Below a mapping of the impact values to their actual lexicographical meanings is |
... | @@ -44,6 +45,11 @@ Below a mapping of the impact values to their actual lexicographical meanings is |
|
|1 |Slightly Improve |
|
|
|1 |Slightly Improve |
|
|
|2 |Improve |
|
|
|2 |Improve |
|
|
|
|
|
|
|
|
# Decision Making Algorithm
|
|
|
|
Even though the visualization scheme in the previous step provides a sturdy first picture, the functionality would be incomplete without a decision-making algorithm. Such an algorithm would receive user preferences and the design space as input, and produce a ranked, sorted version of the suggestions as output. The user would then combine the sorted list with the interactive vectors displayed above, to come up with a final decision.
|
|
|
|
|
|
|
|
The theory of Multi-Criteria Decision Making (MCDM) provides a fitting framework and set of algorithms for handling situations like this part of the Trade-off Manager. Incorporating MCDM methods in the tool has been our focus during writing deliverable D4.5.
|
|
|
|
|
|
# Refactorings as Financial Investment
|
|
# Refactorings as Financial Investment
|
|
|
|
|
|
[PSQL]: <https://www.postgresql.org/> |
|
[PSQL]: <https://www.postgresql.org/> |
|
|
|
\ No newline at end of file |