Modern software applications are characterized as large, complex, and component-based systems. These applications can be viewed as modeling solutions that are created to cope with daily living in both the public and the private organizations, as well as in every business enterprise. A model solution is subject to evolutionary improvement; the more the improvement, the better the quality of software. An improvement can be carried out by means of defect prediction at the component level of the software systems. This paper discusses an evolutionary computing approach to model defects in complex adaptive software systems based on mathematical elements, graphs, sets, and rough sets, in addition to domain specific rules that are necessary for defect collections and defect analyses. This approach is applied to the evaluation of software quality, and it is fundamental for automation of such an evaluation tool.