A possible approach to partly automated software architecture design is the application of heuristic search methods like genetic algorithms. However, traditional genetic algorithms use a single fitness function with weighted terms for different quality attributes. This is inadequate for software architecture design that has to satisfy multiple incomparable quality requirements simultaneously. To overcome this problem, the use of Pareto optimality is proposed. This technique is studied in the presence of two central quality attributes of software architectures, modifiability and efficiency. The technique produces a spectrum of architecture proposals, ranging from highly modifiable (and less efficient) to highly efficient (and less modifiable). The technique has been implemented and evaluated using an example system. The results demonstrate that Pareto optimality has potential for producing a sensible set of architectures in the efficiencymodifiability space.Keywords-Pareto optimality; multi-objective genetic algorithm; software design; search-based software engineering; software architecture I.