Bio-Inspired Intelligent System for Software Quality Certification

Saad Mohamed Darwish
2016 Journal of Software  
Recently, software quality issues have come to be seen as an important subject as we see an enormous growth of agencies involved in software industries. However, these agencies cannot guarantee the quality of their products; thus leaving users in uncertainties. Software certification is the extension of quality by means that quality needs to be measured prior to certification granting process. However, building accurate certification model is hard due to the lack of data in the domain of
more » ... e engineering. This research participates in solving the problem of evaluating software quality by proposing a model that uses a fuzzy inference engine to integrate both of the processes-driven and application-driven quality assurance strategies. The key idea of the suggested model is to improve the compactness and the interpretability of the model's fuzzy rules via employing an ant colony optimization algorithm (ACO), which tries to find a good rule description by set of compound rules initially expressed with traditional single rules. The proposed model is an adaptive one that can be seen as taking certification models that have already been built from software quality domain data and adapting them to context-specific data. The model has been tested by a case study and the results have demonstrated feasibility and practicality of the model in a real environment. Journal of Software * quality of product. Thus, assessment of end product must be independent from the development process. Assessing software quality at the early stages of the design and development process is very difficult since most of the software quality characteristics are not directly measurable. Nonetheless, quality can be derived from other measurable attributes. For this purpose, software quality models have been extensively used. In the literature, software quality can be measured via three categories of assessments [3]: 1) Internal measures: depend on internal attributes that relating to how the software product is developed; 2) External measures: based on external attributes that typically measuring the behavior of the code when executed; and 3) Quality is use measures: include a basic set of characteristics that affect the software like productivity and satisfaction. Even though there are several models of software quality available from literature (see [4] for more details); it is still believed that quality is a complex concept, because quality is nothing more than a prescription some like it excellent, good or bad. Thus, there can be no single, simple assessment of software quality suitable for everyone. In this context, the researchers speak of software quality assessment models which can be used to build relationships between the measurable attributes on the one hand and the software quality characteristic of interest on the other. Certification of software offers organizations more certainty and confidence about the software. Certification of software helps software sales, acquisition, and can be used to certify legislative compliance or to achieve acceptable deliverables in outsourcing. The growth of software certification methodology is a recent innovation in the field of software assessment, which will improve user confidence toward the quality of the software. ISO defines certification as a procedure by which a third party gives written assurance that a product, process or service conforms to specified characteristics [5] . Software certification can be viewed in three different perspectives: personal, processes and product known as a certification triangle [6] . The mixture of these perceptions will produce the best results. At the recent time, communities are starting to accept the certification concept in the software industry. Two reasons that trust in software certification must come from someone other than the software publisher. The reasons are [7], [8]: 1) by hiring a third party to grant software certificates, publishers shift the responsible on liability concerning quality onto someone else, and 2) unbiased assessment from independent agency may benefit end users. The approach on certifying software through independent third party organization has a potential to change the manner in which software is evaluated, graded and sold. One way to conduct this approach is through the involvement of end users in the process. In this approach, the independent certification body collects valuable information from the user's environment and collects on how the product is used. The respective agency then produces the report based on significant operational experience created by the users. The second approach is through self-certification by the developer. Each of these methods to assess software has its advantages and drawbacks. A few certification models have been developed and built in the literature that associated with two distinct approaches [3], [7]- [13] . The primary goal of the first approach is in ensuring that the software development technique is carried out effectively and efficiently to meet the expected quality criteria. It is mainly focused on key factors such as the quality of the process, the quality of the involved people, the use of development technology, the stability of working environment, and finally the project conditions. The second approach focuses with product quality perspective. This approach puts emphasis on grouping quality factors into several working areas. It consists of four main elements: pragmatic quality, assessment team, certification representation, and product certification repository. Each of these specialized parts has separate quality criteria and performs discrete procedures and tasks in the assessment and certification process. In general, the above mentioned models are intended to be exhaustive and identify both the internal and external quality attributes of the software. But, rarely these attributes have been organized into a sort of 363
doi:10.17706/jsw.11.4.362-375 fatcat:slewg2kbtzc57ngx6nhhey3wvu