[communications in computer and information science] informatics engineering and information science...

14
A. Abd Manaf et al. (Eds.): ICIEIS 2011, Part I, CCIS 251, pp. 537–550, 2011. © Springer-Verlag Berlin Heidelberg 2011 Development of a Dynamic and Intelligent Software Quality Model Jamaiah Yahaya 1 , Aziz Deraman 1,3 , Siti Sakira Kamaruddin 2 , and Ruzita Ahmad 2 1 Faculty of Information Science and Technology, National University of Malaysia (UKM), 43600 Bangi, Selangor, Malaysia 2 School of Computing, College of Arts and Sciences, Northern University of Malaysia (UUM), 06010 Sintok Kedah, Malaysia 3 Vice Cancellor Office, University of Malaysia, Terengganu (UMT), 21030 Kuala Terengganu Terengganu, Malaysia [email protected], [email protected], [email protected], [email protected] Abstract. Previous research has identified factors and attributes for static quality model. This research aims to construct a dynamic and intelligent software quality model for effective software product assessment. Previous model of software quality and known as PQF model consists of two main quality attributes: the behavioural and the human aspect. These two components of quality produce a balance model between technical requirement and human factor. The proposed dynamic intelligent model of PQF (i-PQF) should capable to identify and recommend to the environment if there is any new attribute to be included in the model. This is done by integrating artificial intelligence technique and methods to produce a complete algorithm for assessing software product using intelligent model. It will be tested using a prototype. The new model is useful for organization in assessment of software products as well as to integrate in future researches as a quality benchmark. Keywords: Intelligent Software Quality Model, Software Assessment, Dynamic Quality Factors. 1 Introduction Softwares have become an important part of our day to day life and in today’s competitive world, the quality of software product is of great concern to the researchers as well as developers. It requires continuous improvement to retain survival of a software company either in private or public sector. Software quality assurance affects both immediate profitability and long-term retention of customer goodwill. In January 2002, Bill Gates demanded Microsoft to think of quality of their products and to produce fewer defects in its products [3]. He realized the importance and emergence of this new definition of quality. He sent e-mail to all employees reminding them the necessities and higher priorities of trustworthy computing [4].

Upload: eyas

Post on 08-Dec-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

A. Abd Manaf et al. (Eds.): ICIEIS 2011, Part I, CCIS 251, pp. 537–550, 2011. © Springer-Verlag Berlin Heidelberg 2011

Development of a Dynamic and Intelligent Software Quality Model

Jamaiah Yahaya1, Aziz Deraman1,3, Siti Sakira Kamaruddin2, and Ruzita Ahmad2

1 Faculty of Information Science and Technology, National University of Malaysia (UKM), 43600 Bangi, Selangor, Malaysia

2 School of Computing, College of Arts and Sciences, Northern University of Malaysia (UUM), 06010 Sintok

Kedah, Malaysia 3 Vice Cancellor Office, University of Malaysia, Terengganu (UMT),

21030 Kuala Terengganu Terengganu, Malaysia

[email protected], [email protected], [email protected], [email protected]

Abstract. Previous research has identified factors and attributes for static quality model. This research aims to construct a dynamic and intelligent software quality model for effective software product assessment. Previous model of software quality and known as PQF model consists of two main quality attributes: the behavioural and the human aspect. These two components of quality produce a balance model between technical requirement and human factor. The proposed dynamic intelligent model of PQF (i-PQF) should capable to identify and recommend to the environment if there is any new attribute to be included in the model. This is done by integrating artificial intelligence technique and methods to produce a complete algorithm for assessing software product using intelligent model. It will be tested using a prototype. The new model is useful for organization in assessment of software products as well as to integrate in future researches as a quality benchmark.

Keywords: Intelligent Software Quality Model, Software Assessment, Dynamic Quality Factors.

1 Introduction

Softwares have become an important part of our day to day life and in today’s competitive world, the quality of software product is of great concern to the researchers as well as developers. It requires continuous improvement to retain survival of a software company either in private or public sector. Software quality assurance affects both immediate profitability and long-term retention of customer goodwill. In January 2002, Bill Gates demanded Microsoft to think of quality of their products and to produce fewer defects in its products [3]. He realized the importance and emergence of this new definition of quality. He sent e-mail to all employees reminding them the necessities and higher priorities of trustworthy computing [4].

Page 2: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

538 J. Yahaya et al.

The past decade has seen rapid development and diffusion of software and ICT related technologies not only in Malaysia but also worldwide. In Malaysia, statistic produced by Malaysia Super Corridor (MSC) (2011) states that 77% from 2520 operational MSC status companies are functioning on software development and information technology, and 8% are working on shared services and outsourcing, 11% are running on creative multimedia, while 4% are functioning on higher learning institutions (see Fig. 1). It shows that software development industry has a significant contribution and impact to the development and success of the MSC. Thus, an appropriate attention is necessary to monitor the quality of software product delivered by these companies as well as other non-MSC companies, organizations and public sectors.

Fig. 1. MSC status companies by technologies cluster. Source: [5]

This paper is organized as follows. In section 2, the discussion focuses on the traditional software quality models. Section 3 discusses the Pragmatic Quality Factor (PQF) which is the basic and static quality assessment model used in this research. Section 4 presents the new dynamic and intelligent software quality model (i-PQF) follows by the research approach and techniques and methods for intelligent and dynamic quality model. Section 7 presents the development of i-PQF and section 8 concludes this paper.

2 Traditional Software Quality Models

International Organization for Standardization (or ISO) defines software as “all or part of the programs, procedures, rules, and associated documentation of information processing system”. Software product is defined as “the set of computer programs,

Page 3: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 539

procedures, and possibly associated documentation and data designated for delivery to a user” [16]. The term product from the view of software engineer covers the programs, documents, and data. While from the view of user’s product is the resulted information that somehow makes the user’s world better.

General expressions of how quality is realized in software dealing with “fitness for use” and “conformance to requirements”. The term “fitness of use” usually means characteristics such as usability, maintainability, and reusability. On the other hand, “conformance to requirements” means that software has value to the users [6]. ISO defines quality as “the totality of features and characteristics of a product or services that bear on its ability to satisfy stated or implied needs” [16],[7]. IEEE defines software quality as – a software feature or characteristic used to assess the quality of a system or component [8]. Software quality is also defined as the fitness for use of the software product and to conform to software requirements and to provide useful services [17]. Later, software quality is defined as “conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software” [9].

In many organizations, software is considered as one of the main assets with which the organization can enhance its competitive global positioning in current global economic era. To remain competitive, software firms must deliver high quality products on time and within budget. Software Engineering Institute’s Capability Maturity Model (CMM) (cited in Slunghter, Harter and Krishnan [10]) reported the following quote from a software manager: “I’d rather have it wrong than have it late. We can always fix it later”. Thus, many complaints have been reported regarding quality of the software. These complaints claimed that software quality was not improving but rather deteriorated steadily and worsening. Therefore, users reported and claimed that software was being delivered with bugs that needed to be fixed and dissatisfied with the product [2],[1].

Denning [2] argued that “software quality is more likely to be attained by giving much greater emphasis to customer satisfaction. Program correctness is essential but is not sufficient to earn the assessment that the software is of quality and is dependable”. Software quality and evaluation not only deal with technical aspects but also in dimensions of economic (managers’ viewpoint), social (users’ viewpoint) and as well as technical (developers’ viewpoint) [11].

Dromey [14] stated that an ultimate theory of software quality was like “the chimera of the ancient Greeks, is a mythical beast of hybrid character and fanciful conception. We obliged, however, to strive to make progress, even though we realize that progress often brings a new set of problems”. He also suggested that software quality usually referred to high-level attributes like functionality, reliability and maintainability and the important thing to focus was on the priority needs for the software. Dromey stated that priorities vary from product to product and project to project.

Software product quality can be evaluated via three categories of evaluations: internal measures, external measures and quality in use measures [12]. Internal measuring is the evaluation based on internal attributes typically static measures of intermediate products and external measuring is based on external attributes typically measuring the behaviour of the code when executed. While the quality in use

Page 4: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

540 J. Yahaya et al.

measures include the basic set of quality in use characteristic that effect the software. This characteristic includes effectiveness, productivity, safety and satisfaction. This measurement is an on-going research of SQuaRE which is the next generation of ISO 9126 but not fully published and accepted currently. SQuare quality model consists of internal and external measures that include quality in use aspects. It presents similar concept of characteristics and subcharacteristics as in ISO 9126 approach [13].

Our previous study has developed a new enhanced quality model and named as Pragmatic Quality Factor (PQF) [22]. This model has been tested and applied in certification process in several real case studies. It is a static model of quality with fix attributes and measures.

Even though there are several models of quality available from literature, it still believed that quality is a complex concept. Quality is in the eye of the beholder and it means different things to different people and highly context dependent [18] [19]. Therefore, “software quality is nothing more than a recipe. Some like it hot, sweet, salty or greasy” [20]. Thus, there can be no single simple measure of software quality acceptable to everyone. The available software quality models only focus on technical aspects of quality and none of them are considering the user satisfaction and expectation in the measurement. In addition, weight of individual attribute is an important aspect to be included in the research [21].

3 Pragmatic Quality Factor (PQF): A Quality Assessment Model

Our previous research has constructed a new software quality model for effective and practical software assesment that has been tested in several case studies, involving several large organisations in Malaysia [40]. This model is known as Pragmatic Quality Factor or PQF. PQF consists of two main quality attributes: the behavioural and the human aspect. The behavioural attributes concerns with assessing software product to ensure the quality of the software and how it behaves in certain operating environment. They are also known as quality in use. While the impact attributes deal with how the software reacts and impacts to the environment. These two components of quality produce a balance model between technical requirement and human factor. The available software quality model such as the ISO 9126 model does not accommodate the other aspects of software quality requirements [16]. PQF for software assessment model has several interesting features. The features are summarized and shown in Table 1.

As mentioned above, PQF is the quality assessment model that consists of several software quality attributes. Undertaking quality attributes defined in ISO9126 model as the based line of the assessment metrics, we define two sets of attributes, which by means of the behavioural and the impact attributes. The behavioural attributes consist of high level software quality characteristics, which include usability, functionality, maintainability, portability, integrity and reliability. Previous study shows that quality attributes can be classified into different levels and weight [21]. The impact attributes indicate the conformance in user requirements, expectation and perception. Associated with these attributes are the metrics and measurements of the quality. The detail description of PQF can be found in [22].

Page 5: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 541

PQF was applied in software product certification process as a guideline representation for software product assessment and certification. This model is a set of static quality attributes and measures. It is relevant and compatible with the current requirements of software quality assessment and based on empirical study conducted in Malaysia [23]. Even though it provides certain level of flexibility to the organization in the assessment by allowing to choose weight factors but this model unable to improve its components according to current and future requirements [24]. It was identified that quality attributes changes from time to time depending on current requirement.

Table 1. Features and capabilities of the PQF model

Exhibit capability

1. Provides an alternative means to certify software product in a collaborative perspective approach among users, developers and independent assessors. It is considered to provide confidentiality, security and privacy of the software. This approach accelerates the process and eliminates bias during assessment.

2. Provides means to identify quality status of a product using PQF in a

practical environment. The quality attributes embedded in PQF is more convincing that meets the additional aspect of quality. The additional aspect of quality deals with human aspects and does not cover in previous software quality models.

3. Provides means to offer flexibility in obtaining certification level with a

guided procedure of initializing weight values on quality attributes to meet an organisation’s business requirements.

The existing literature of software quality model has consistently highlighted that software quality model act as a static model with some fundamental attributes of software quality. Table 2 shows the summarization of quality attributes in various quality models.

The study reveals that quality attributes need to be updated from time to time to meet current requirements and standard. For example, security and integrity were not included in the previous model such as McCall, Dromey and ISO9126 but were recognized as important and crucial in the current global borderless world. Thus, it is suggested to investigate the potential of flexibility and adaptation to changes of software quality model and attributes based on current and future requirements.

4 New Dynamic and Intelligent Software Quality Model

This new approach in software quality model will be integrating the intelligent technique which will enhanced the existing model of PQF. The dynamic and intelligent aspects of quality can be explored in studying and investigating the

Page 6: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

542 J. Yahaya et al.

development of quality model that capable to notice, learn and adapt the changes in the environment and information needs. The literature study shows that currently the available models do not fulfill the needs of current and future requirements of software quality. It is because the models developed based on static software quality attributes. I-PQF is a new intelligent pragmatic quality factor that can be used as a new model or benchmark in software product assessment. This appearing of a new way to enhance the traditional software quality models which contains an algorithm and artificial intelligence techniques integrated in the model.

Table 2. Quality characteristics present in PQF and previous models

Quality characteristics

McCall (1976)

Boehm (1978)

FURPS (1987)

ISO 9126 (1991)

Dromey (1996)

Systemic (2003)

PQF (2007)

Testability x x Correctness x Efficiency x x x x X x x Understandability x X Reliability x x x x X x x Flexibility x Functionality x x X x x Human engineering

x

Integrity x x

Interoperability x Process Maturity X

Maintainability x x x x X x x Changeability x

Portability x x x X x x Reusability x X

Usability x x x x Performance x x

User Conformity x

5 Research Approach

This research is implemented in five main phases with the aim is to develop a new intelligent software quality model based on PQF model. The phases are:-

5.1 Theoretical Study

The literature review on the existing research related to software quality and assessment includes the references from journals, books, proceedings and other academic research will be conducted. The aim of this phase is to investigate the

Page 7: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 543

existing mechanism and problems related to software assessment and quality. The detail theoretical aspect of software quality and assessment will be outlined and important features that are expected to contribute in this proposed research will be identified.

5.2 Design of Formal Framework on Intelligent Software Quality

The second phase of this research will be on designing the formal framework on intelligent software quality and assessment. It involves refinement of specific feature of software quality and assessment to be represented using artificial intelligence approach.

5.3 Identify and Propose the AI Technique for Intelligent Software Quality Model (i-PQF)

The third phase of the research is to model the software quality using Artificial Intelligence technique. Several techniques will be studied and the appropriate technique will be chosen to be applied in this model.

5.4 Construction of Intelligent Software Quality Model (i-PQF) and Development of Prototype

The fourth phase of the research is to construct the intelligent software quality prototype. The model and Artificial Intelligence technique discovered in previous phase will be used and integrated to construct a prototype for an intelligent software quality factor.

5.5 Confirmation Study

The proposed model and prototype will be tested and validated in specific software. Feedback from the testing and validation will used to refine the model and prototype.

6 Techniques and Methods for Intelligent and Dynamic Software Quality Model

6.1 Software Quality and Artificial Intelligence (AI)

There are several studies conducted in software engineering particularly in software quality that have included artificial intelligence techniques for several purposes. Some of the identified studies are summarised next.

Khoshgoftaar, Szabo and Guasti [25] studied on exploring the behaviour of neural network in software quality models. Data is collected from components in large commercial software systems and trained them using neural network to observe the relationship between software complexity metrics and software quality metrics.

Page 8: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

544 J. Yahaya et al.

Lees, Hamza and Irgens [26] investigated the using and applying of case based reasoning (CBR) and quality function deployment (QFD) in software quality assessment. Their aim was to developed a CBR oriented software quality advisor to support the attainment of quality in software development. This was done by reference to quality case histories using software modules from previous designs.

The third study was conducted by Goa, Khoshgoftaar and Wang which dealt with an empirical investigation of filter attribute selection technique for software quality classification [29]. The artificial intelligence technique chosen was feature selection. Feature selection is a process of selecting a subset of relevant features for building learning models. This technique is relevant and appropriate for data preprocessing used in software quality modelling and other data mining problems. This study investigated the performance metrics using multilayer perceptron (MLP) learner with nine different performance metrics.

Colin J. Burgess [28] investigated research in software quality management using artificial intelligence. This research studied the used of artificial intelligence techniques to solve problems in software quality management. It outlined four areas where artificial intelligence techniques have been successfully used. The areas are: 1. The application of genetic algorithms and other search techniques to aid the automatic generation of structural test data. 2. The application of genetic algorithms to the testing of real-time systems. 3. The use of influence diagrams to aid the management of software change. 4. Improving the cost estimation of software projects.

Another research in the areas of software quality and AI was conducted by Martín Agüero et al (2010). This research presented a software quality support tool which was a Java source code evaluator and a code profiler based on computational intelligence techniques. It proposed a new approach to evaluate and identify inaccurate source code usage and transitively the software product itself. The aim of this research was to the software development industry with a new tool to increase software quality[31].

6.2 AI Techniques for Dynamic Software Quality Model

A review on current techniques in artificial intelligence has come up with three suggested techniques or methods for handling dynamic quality model proposed in this research. The techniques being identified are feature selection (FS), artificial neural network (ANN) and case-based reasoning (CBR). Each of this technique will be discussed in the following sections.

• Feature Selection

Feature Selection (FS) is a process of selecting a subset of relevant features for building learning models and it used to remove less important features from the training data set. Feature Selection as an important activity in data preprocessing used in software quality modeling and data mining problems that has been extensively studied for many years in data mining and machine learning.

Page 9: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 545

Feature Selection technique has been divided into two categories which are feature ranking technique and feature subset selection technique. Feature ranking technique assesses attributes individually and ranks the attributes according to their individual predictive power. Whilst, feature subset selection technique selects the subset of attributes that collectively have good predictive capability. In feature subset selection technique contains two difference approaches to subset selection which are filter approach and wrapper approach. By using the filter approach, the feature subset is selected independently of the learning method which means ignoring the induction algorithm to assess the merits of features from data. Whilst, wrapper approach is selected using the same learning algorithm that will used for learning on domain represented with the selected feature subset. In this approach, the feature subset selection is done by using the induction algorithm as a black box which means no knowledge of the algorithm is needed. The feature subset selection algorithm conducts a search for a good subset using the induction algorithm itself as a part of the evaluation function [30][32][33][34][35][36].

• Artificial Neural Network (ANN)

The artificial neural networks (ANN) are based on the concepts of the human or biological neural networks consisting of neurons, which are interconnected by the processing elements. The ANNs are composed of two main structures namely the nodes and the links. The nodes correspond to the neurons and the links correspond to the links between neurons. The ANN accepts the values of inputs into its input nodes or input layer. These values are multiplied by a set of weights and added together to become inputs to the next set of nodes to the right of the input nodes. This layer of nodes is referred to as the hidden layer. Many ANNs contain multiple hidden layers, each feeding into the next layer. Finally, the values from last hidden layer are fed into an output node, where a mapping or thresholding function is applied and the prediction is made. The ANN is created by presenting the network with inputs from many records whose outcome is already known. By using MultiLayer Perceptron (MLP) as the architecture to learn the data set and used for training the data. While to test the data in software quality models are built by using the different classification algorithm such as Naïve Bayes, K-Nearest Neighbour (KNN), Support Vector Machine (SVM) and Logistic Regression (LR) (see [35] [37][38]).

• Case-Based Reasoning (CBR)

Case-Based Reasoning approach is the model which adapting previously stored solutions that have been found to be effective in the solution of earlier problems. The main purpose of Case-Based Reasoning are to ensure the fitness for purpose of a software module, to identify an appropriate set of features which may be used and to describe the performance, metrics and quality characteristics relating to each case. According to the Case-Based Reasoning, the quality attributes will be measured by presenting a list of quality factors and their definition, determined the relationship

Page 10: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

546 J. Yahaya et al.

among the quality factor, established quality factor by using metric performance like Quality Function Deployment (QFD), quantified the quality attributes and calculate the total quality measures for each attributes. Case-Based Reasoning technique have to focus on high dimensionality case reasoning of the data set in the case library to support unexpected reasons from the current cases ([39], [26]).

6.3 AI Methods for Dynamic Software Quality Model

The relevant methods in software quality environment are extremely important to be applied in order to develop an algorithm as a medium to measure and evaluate the software quality factors. In addition, the function of capability in processing the data that provided by the methods chosen always acts as the main part of criteria to become the right methods application in order to fulfill the requirements from the environment. The two methods that are going to discuss here will be : Automatic Hybrid Search (AHS) and Hybrid Feature Selection (HFS). These two methods use wrapper approach in the processing function and both have capabilities in assessing and ranking factors. The wrapper approach is using the same learning algorithm that will be used for learning or classifying the domain represented with the selected feature subset. Furthermore, these methods are relevant and suitable as the appropriateness in term of creating new algorithm as needed in this research. Hence, the weight value of each factors can be calculated and performed in the frequency consistency rate of value in order to make the priority of each factors.

7 The Development of i-PQF : Intelligent and Dynamic Software Quality Model

Feature selection wrapper-based feature ranking technique which is part of feature selection will be considered as the potential AI techniques for this model. It is a process of selecting the relevant features for building learning models and acts as to remove less important features from the training data set. This technique includes the wrapper approach to assess attributes individually and ranks the attributes according to their individual predictive power. Furthermore, this approach uses learning algorithm on domain represented with the selected feature subset.

This technique allows performance to be ranked on the value of each attributes follows by the weights given by the stakeholders. If we compare with another techniques such as ANN and CBR, it seems that these two techniques irrelevant to be used in this new software quality model because both techniques focus on high dimensionality of data.

The mentioned technique will be embedded with selected method to develop algorithm as a medium to measure and evaluate the quality attributes. The identified methods are Automatic Hybrid Search (AHS) and Hybrid Feature Selection (HFS). In this approach, the weight values from the stakeholders can be calculated and performed in the frequency consistency rate of value in order to make the priority of each attributes. The general architecture of this environment is illustrated in figure 2.

Page 11: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 547

Algorithm &Prototype for

Intelligent Quality Model

(i-PQF)

ArchivesQualityFactors(AQF)

New PQF(NQF)

Feature Selection MethodAutomatic Hybrid

Search (AHS)Hybrid Feature Selection (HFS)

upda

te

Select from

prov

ide

Selected Quality Factors(SQF)

Fig. 2. The General Architecture of i-PQF

The architecture explains that there are two main data needed in this environment for the construction of the intelligent quality model algorithm. The two data are the archives quality factors (AQF) and selected quality factors (SQF). The proposed prototype and algorithms will intelligently produce a new software quality factors (NQF) based on the inputs of SQF. As shown in Fig. 2, the algorithm and prototype will carried out the feature selection wrapper-based feature ranking techniques and automatic hybrid search and hybrid feature selections as the embedded methods. The detail description of the three data involve in this environment is explained in the following:-

• AQF contains all possible software quality factors or attributes such as functionality, maintainability, efficiency, portability, reliability and etc which we can refer from literature.

• SQF represents the selected quality factor that been defined by users from previous data. In this PQF model, users have the opportunities to select the appropriate and relevant quality factors to be applied assessment exercise depending on the organizations requirements. Thus, SQF ∈ AQF.

Page 12: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

548 J. Yahaya et al.

• NQF represents the new quality factor identified in the environment. NQF is obtained by manipulation of experience and learning capabilities of the system supported by the algorithm and data. In this environment the data will be provided by the SQF.

This research is an on-going research and currently we are at construction phase. With the technique and method identified, an experimental design will be conducted which involves three steps: 1) Input data, 2) data processing and 3) testing. More detail of this implementation will be documented in near future.

8 Conclusions

The proposed dynamic and intelligent software quality model should capable to identify and recommend to the environment if there is any new attribute to be included in the model. Thus, the model will be updated and fulfilled with current and future requirements of assessment. This can be done using artificial intelligence technique and method. The main objective of this research is to develop a dynamic and intelligent software quality model for software assessment. This new model (i-PQF) will provide a complete algorithm and mechanism for assessing software product using intelligent model, which is useful for organization in selection and assessment of software as well as to integrate with other researches and projects as a quality benchmark. This will also too ensure that quality of the software meets the nation’s and organisation’s requirements and standards in current and for future.

Acknowledgments. The research is funded by the Fundamental Research Grant Scheme, Ministry of Higher Education, Malaysia.

References

1. Whittaker, J.A., Voas, J.M.: 50 Years of Software: Key Principles for Quality. IEEE IT Pro., 28–35 (November/December 2002)

2. Denning, P.J.: What is Software Quality? A Commentary from Communications of ACM (January 1992)

3. Mann, C.C.: Why Software is So Bad? MIT Technology Review 105, 33–38 (2002) 4. Voas, J., Agresti, W.W.: Software Quality From Behavioral Perspective. IT Professional,

46–50 (July/August 2004) 5. MSC: MSC Malaysia Facts and Figures (2011),

http://www.mscmalaysia.my/topic/12073059402587 6. Tervonen, I.: Support for Quality-Based Design and Inspection. IEEE Software, 44–54

(January 1996) 7. Jenner, M.G.: Software Quality Management and ISO 9001. A Wiley/QED publication,

New York (1995) 8. IEEE: IEEE Standard for a Software Quality Metrics Methodology (1993),

http://ieeexplore.ieee.org/xpl/standards.jsp 9. Galin, D.: Software Quality Assurance: From Theory to Implementation. Pearson Addison

Wesley, Harlow (2004)

Page 13: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

Development of a Dynamic and Intelligent Software Quality Model 549

10. Slaughter, S.A., Harter, D.E., Krishnan, M.S.: Evaluating the Cost of Software Quality. Communications of The ACM 41(8), 67–73 (1998)

11. Buglione, L., Abran, A.: A Quality Factor for Software. In: 3rd International Conference on Quality and Reliability, QUALITA 1999, pp. 335–344 (1999)

12. Suryn, W., Abran, A., Bourque, P., Laporte, C.: Software Product Quality Practices: Quality Measurement and Evaluation Using TL9000 and ISO/IEC9126. In: The 10th International Workshop, Software Technology and Engineering Practice, STEP (2002)

13. Suryn, W., Abran, A., April, A.: ISO/IEC SQuaRE: The Second Generation of Standards for Software Product Quality (2003), http://www.lrgl.uqam.ca/publications/pdf/799.pdf

14. Dromey, G.R.: Software Product Quality: Theory, Model and Practice. Software Quality Institute. Griffith University, Brisbane, Technical Report (1998), http://www.sqi.gu.edu.au

15. Dekkers, C.A., McQuaid, P.A.: The Dangers of Using Software Metrics to (Mis)Manage. IT Pro., 24–30 (March/April 2002)

16. ISO/IEC 9126: Software Quality Characteristics and Metrics-Part2: External Metrics. Technical Report, ISO/IECJTC1/SC7/WG6 (1996)

17. Schulmeyer, G.G., McManus, J.I.: Handbook of Software Quality Assurance, 3rd edn. Prentice Hall, New Jersey (1998)

18. Voas, J., Laplante, P.: Standards Confusion and Harmonization. Computer 40(7), 94–96 (2007)

19. Kitchenham, B., Pfleeger, S.L.: Software Quality: The Elusive Target. IEEE Software, 12–21 (January 1996)

20. Voas, J.: Software’s Secret Sauce: The "-ilities". IEEE Computer, 14–15 (November/December 2004)

21. Yahaya, J.H.: The Development of Software Certification Model Based on Product Quality Approach. UKM PhD thesis (2007)

22. Yahaya, J.H., Deraman, A., Hamdan, A.R.: Software Quality from Behavioural and Human Perspectives. IJCSNS International Journal of Computer Science and Network Security 8(8), 53–63 (2008)

23. Yahaya, J.H., Deraman, A., Hamdan, A.R.: Software Quality and Certification: Perception and Practices in Malaysia. Journal of ICT (JICT) 5, 63–82 (2006)

24. Deraman, A., Yahaya, J.H.: Measuring The Unmeasurable Characteristics of Software Quality Using Pragmatic Quality Factor. In: 2010 3rd IEEE International Conference on Computer Science and Information Technology, Chengdu, China, July 7-10, pp. 197–202 (2010) ISBN:978-1-4244-5539-3

25. Khoshgoftaar, T.M., Szabo, R.M., Guasti, P.J.: Exploring the Behavior of Neural Network Software Quality Models. Software Engineering Journal, 89–95 (May 1995)

26. Lees, Hamza, Irgen: Applying Case-Based Reasoning to System Quality Management (1996), http://citeseerx.ist.psu.edu/viewdoc/summary? doi=10.1.1.51.7943

27. Briand, L., et al.: Exploring the Relationships Between Design Measures and Software Quality in Object-Oriented Systems. Journal of Systems and Software 51, 245–273 (2000)

28. Burgess, C.J.: Using Artificial Intelligence to Solve Problems in Software Quality Management. In: The 8th International Conference on Software Quality Management (SQM2000), Software Quality Management VIII, SQM 2000, pp. 77–89 (2000) ISBN 1-902505-25-5

Page 14: [Communications in Computer and Information Science] Informatics Engineering and Information Science Volume 251 || Development of a Dynamic and Intelligent Software Quality Model

550 J. Yahaya et al.

29. Gao, K., Khoshgoftaar, T.M., Wang, H.: An Empirical Investigation of Filter Attribute Selection Technique for Software Quality Classification. In: The 2009 IEEE International Conference in Information Reuse and Integration, Las Vegas, Nevada, USA (2009)

30. Goa, K., Khoshgoftaar, T., Napolitano, A.: Exploring Software Quality Classification With a Wrapper-Based Feature Ranking Technique. In: The 21st IEEE International Conference on Tools with Artificial Intelligence (2009)

31. Aguero, M., Madou, F., Esperon, G., Lopez, D.L.: Artificial Intelligence for Quality Improvement. World Academy of Science and Technology 63 (2010)

32. Tadeuchi, Y., Oshima, R., Nishida, K., Yamauchi, K., Omori, T.: Quick Online Feature Selection Method for Regression – A Feature Selection Method Inspired By Human Behavior (2007), http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber= 4414117&tag=1

33. Blum, A.L., Langley, P.: Selection of Relevant Features and Examples in Machine Learning. Artificial Intelligence 97, 245–271 (1997)

34. Guyon, I., Elisseeff, A.: An Introduction to Variable and Feature Selection. Journal of Machine Learning Research 3, 1157–1182 (2003)

35. Forman, G.: An Extensive Empirical Study of Feature Selection Metrics for Text Classification. Journal of Machine Learning Research 3, 1289–1305 (2003)

36. Liu, H., Yu, L.: Toward Integrating Feature Selection Algorithm for Classification and Clustering. IEEE Transaction on Knowledge and Data Engineering 17(4), 491–502 (2005)

37. Kumar, R., Rai, S., Trahen, J.L.: Neural Network Techniques for Software Quality Evaluation. In: The Annual Reliability and Maintainability Symposium, pp. 155–161 (1998)

38. Khoshgoftaar, T.M., Szabo, R.M., Guasti, P.J.: Exploring the Behavior of Neural Network Software Quality Models. Software Engineering Journal, 89–95 (May 1995)

39. Kolodner, J.: Case-Based Reasoning. Morgan Kaufmann (1993) 40. Yahaya, J.H., Deraman, A., Hamdan, A.R.: Continuosly Ensuring Quality Through

Software Product Certification: A Case Study. In: The International Conference on Information Society (i-Society 2010), London, UK, June 28-30 (2010)