An Algorithm for Multi-objective Software Performance Optimisation at the Architecture Level

2020 
Architecture-based software performance optimisation can help to find potential performance problems and mitigate their negative effects at an early stage. To automate this optimisation process, rule-based and metaheuristic-based performance optimisation methods have been proposed. Most of current metaheuristic-based methods ignore existing practical knowledge of performance improvement, and lead to solutions that are not easily explicable to humans. At the same time, some of them adopt multi-objective evolutionary algorithms to take other quality attributes than performance into account. However, the number of Pareto optimal solutions obtained by these methods may be huge, and it may be very difficult to pick one "best" solution out of this large set of alternatives. To address these problems, we proposed a multi-objective evolutionary algorithm RRMOEA for software performance at the architecture level based on randomized search rules. Furthermore, an algorithm for finding knee solutions based on RRMOEA also be designed to search as many knee solutions as possible when the number of Pareto optimal solutions is limited. The result of this paper will help software architects to understand optimization result and easily make design decision.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    12
    References
    0
    Citations
    NaN
    KQI
    []