Fuzzy adaptive logic networks as hybrid models of quantitative software engineering
Quantitative software engineering is aimed at designing models describing software processes and products. While being noticeably dominated by statistical regression models, this area also embraces advanced techniques of computational intelligence and knowledge-based engineering including rule-based models, fuzzy models, and neural networks. The rationale behind their usage in the setting of Software Engineering is threefold: (a) the underlying distributions of datasets may not adhere to general assumptions that are usually made in the setting of linear regression models: (b) it is beneficial to build interpretable models that in some sense are user-friendly; (c) the models should be advanced and computationally appealing so that they exhibit some nonlinear characteristics as well as are fully equipped with learning abilities. The proposed architecture comprises a logic-based skeleton (blueprint) and an array of generic perccptrons as being commonly encountered in neurocomputing. The hybrid nature of the resulting topology implies its name we refer to it as a fuzzy adaptive logic network (FALN). The network comes with substantial learning abilities that are essential to the adaptive nature of the model. This paper presents the details of the network and then elaborates on the learning environment based on gradient-based optimization. Subsequently, we augment this environment by exploiting ensemble learning with its two standard techniques of bagging and boosting. The FALN network is developed in the context of a software system where a model is used to predict a number of changes to software modules based on a collection of software measures.
software engineering learning bagging and boosting software measure and software quality neurofuzzy systems logic and geometry perceptron pattern recognition fuzzy neurons ensemble classifier