pakistan journal of computer and information systemspastic.gov.pk › downloads › pjcis ›...

78

Upload: others

Post on 24-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume
Page 2: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

ISSN Print : 2519-5395

ISSN Online : 2519-5409

Pakistan Journal of Computer and

Information Systems

Volume. 2 No. 2

2017

Published by:

Pakistan Scientific and Technological Information Centre (PASTIC), Islamabad, Pakistan

Tel: +92-51-9248103 & 9248104; Fax: +92-51-9248113 Website: www.pastic.gov.pk

Page 3: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Pakistan Journal of Computer and Information Systems

Pakistan Journal of Computer and Information Systems (PJCIS) is an open access, peer reviewed

online journal published twice a year by Pakistan Scientific and Technological Information

Centre (PASTIC) for providing a forum for researchers to debate and discuss interdisciplinary

issues on Computer Science, Computer System Engineering and Information Systems. PJCIS

welcomes the contributions in all such areas for its forthcoming issues.

Acknowledgement

Dr. Anne Laurent

University of Montpellier-LIRMM, Montpellier,

France

Dr. Nasrullah Memon

University of Southern Denmark, Odense,

Denmark

Dr. Syed Jawad Hussain

University of Lahore,

Islamabad Campus,

Islamabad

Mr. Muhammad Usman

Pakistan Scientific & Technological Information

Centre, Islamabad.

Dr. Ali Daud

King Abdul Aziz University,

Jeddah, Kingdom of Saudi Arabia

Dr. Asadullah Shaikh

College of Computer Science and Information

System, Najran University, Najran, Saudi Arabia

Dr. Sammer Zai

Mehran University of Engineering &

Technology, Jamshoro, Sindh.

Dr. Shahzad Nizamani

Mehran University of Engineering and Technology,

Jamshoro, Sindh.

Pakistan Scientific and Technological Information Centre (PASTIC) highly acknowledges the contributions of following subject experts for their critical review and valuable suggestions on

the research papers published in the current issue.

Dr. Jan Muhammad

Baluchistan University of Information

Technology, Engineering and Management

Sciences, Quetta.

Page 4: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Pakistan Journal of Computer and Information Systems

Patron

Dr. Muhammad Ashraf Chairman, Pakistan Science Foundation

Editor-in-Chief Dr. Muhammad Akram Shaikh

Director General, PASTIC

Editors Nageen Ainuddin

Muhammad Aqil Khan

Managing Editors

Saifullah Azim

Dr. Maryum Ibrar Shinwari

EDITORIAL ADVISORY BOARD

Dr. Muhammad Ilyas Florida Atlantic University, Florida, USA

Dr. Khalid Mehmood University of Dammam, Dammam, Kingdom of Saudi Arabia

Dr. Muhammad Yakoob Siyal Nanyang Technological University, Singapore

Dr. Khalid Saleem Quaid-i-Azam University, Islamabad, Pakistan

Dr. Kanwal Ameen University of the Punjab, Lahore, Pakistan

Dr. Waseem Shahzad National University of Computer and Emerging Sciences,

Islamabad, Pakistan.

Dr. Farooque Azam National University of Sciences & Technology, Islamabad,

Pakistan Dr. Laiq Hassan

University of Engineering & Technology, Peshawar, Pakistan

Dr. Muhammad Younas Oxford Brookes University, Oxford, United Kingdom

Dr. Anne Laurent University of Montpellier-LIRMM, Montpellier, France

Dr. M. Shaheen Majid Nanyang Technological University, Singapore

Dr. Nadeem Ahmad SEECS, National University of Sciences & Technology,

Islamabad, Pakistan

Dr. Amjad Farooq University of Engineering & Technology, Lahore, Pakistan

Dr. B.S. Chowdhry Mehran University of Engineering & Technology, Jamshoro, Pakistan

Dr. Jan Muhammad Baluchistan University of Information Technology, Engineering

& Management Sciences, Quetta, Pakistan

Dr. Muhammad Riaz Mughal Mirpur University of Science & Technology, Mirpur (AJ & K)

Pakistan Scientific and Technological Information Centre (PASTIC), Islamabad, Pakistan Tel: +92-51-9248103 & 9248104 ; Fax: +92-51-9248113

www.pastic.gov.pk : e-mail: [email protected]

Subscription

Annual: Rs. 1000/- US$ 50.00 Single Issue: Rs. 500/- US$ 25.00

Articles published in Pakistan Journal of Computer and Information Systems (PJCIS) do not represent the views of the Editors or

Advisory Board. Authors are solely responsible for the opinion expressed and accuracy of data.

Page 5: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Aims and Scope

Pakistan Journal of Computer and Information Systems (PJCIS) is a peer

reviewed open access bi-annual publication of Pakistan Scientific and

Technological Information Centre (PASTIC), Pakistan

Science Foundation. It is aimed at providing a platform to

researchers and professionals of Computer Science, Information and

Communication Technologies (ICTs), Library & Information Science

and Information Systems for sharing and disseminating their research

findings and to publish high quality papers on theoretical development as

well as practical applications in related disciplines. The scope

encompasses research areas dealing with all aspects of computing

and networking hardware, numerical analysis and mathematics, software

programming, databases, solid and geometric modeling,

computational geometry, reverse engineering, virtual environments and

hepatics, tolerance modeling and computational metrology, rapid

prototyping, internet-aided design, information models, use of information

and communication technologies for managing, processing, storing and retrieval of information, study of information systems etc. The journal also includes reviews and short communications.

Page 6: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Pakistan Journal of Computer and Information Systems

Contents

Volume 2 Number 2 2017

1 A Comprehensive Survey of Facial Datasets for Human Age and Gender

Identification

Asadullah Khan, Saira Jabeen, Muhammad Usman Ghani, Sahar Waqar,

Samyan Qayyum Wahla ……………………………………………………………………………………

1

2 Software Analysis with Package Level Modularization Metrics

Mohsin Khan Shaikh, Muhammad Adil Ansari, Akhtar Hussain Jalbani ……………..……………

21

3 Challenges in Implementation of Education Management Information

Systems in Schools of Pakistan

Masuda Ahmad, Sharon Morgan, Muhammad Imran Ahmad ……………………………………..…

29

4 A Systematic Review of the Approaches for Anti-Pattern Detection and

Correction

Syeda Ghana Mumtaz, Huma Tauseef, Muhammad Abuzar Fahiem, Saima Farhan.…………….

37

5 Data Classification Using Variation of Genetic Programming Fitness

Function

Safeena Razaq, Muhammad Waqar Aslam, Sarish Abid, Basharat Manzoor ………………..…….

57

Page 7: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

1

A Comprehensive Survey of Facial Datasets for

Human Age and Gender Identification

ASADULLAH KHAN1, SAIRA JABEEN*1, MUHAMMAD USMAN GHANI1,2,

SAHAR WAQAR2, SAMYAN QAYYUM WAHLA2

2Department of Computer Science and Engineering, University of Engineering and Technology, Lahore

Corresponding author’s e-mail: [email protected]

Abstract

Human age and gender detection are interesting applications of computer vision and

offers wide applications in video analytics and human-computer interaction. Publicly

available datasets play the role of benchmarks for the performance evaluation of different

algorithms applied to solve the same problem. Some separate surveys are available for age

and gender detection which cover some datasets. Generally, gender information is provided

with the age datasets and same datasets can be used for both age and gender detection. So we

combine the analysis for both the problems in one survey. In recent years, large datasets have

been created introducing state of the art techniques for age detection that are not discussed in

presently available surveys. This survey tries to overcome lack of representations of those

datasets in available literature as well as provide the strengths and weaknesses of all datasets

from the perspective of both age and gender detection.

INTRODUCTION

Identification of demographic attributes of humans such as age and gender from the

face has been given increased attention in recent years by computer vision experts [1], [2].

These attributes can help in many applications such as surveillance, human-computer

interaction, targeted advertisement and content-based indexing and searching [3]. For

example, in advertisements boards, products can be advertised smartly by targeting the age

and gender of the viewer. Gender based face recognizers can help improving the accuracy of

face recognition [4]. Some datasets are analysed in different surveys for gender detection [5]

and age estimation [6] but there is no recent survey available for the face datasets for age and

gender detection. Moreover, some datasets discussed in those references are not available

now and large datasets CACD [7], IMDB-WIKI [8] have been crawled recently that are

worth analysing along with the old datasets. Therefore, this survey tries to cover all

important public datasets available for gender and age detection. The use of publicly

1Al-Khwarizmi Institute of Computer Science, University of Engineering and Technology, Lahore

Page 8: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

2

available datasets has its advantages. It saves time of the researchers so that they can focus

on their particular algorithms and implementations rather than collecting a new dataset. More

importantly, different approaches can be compared for the same datasets for a quick review

of improvements in accuracy. Gender detection is a binary classification [9] problem and age

detection is addressed as a classification problem [10] when only age-group is estimated and

a regression one[11] when apparent or actual age is predicted through the image. So, the

annotations of the age vary from ground truth age to the age-groups the subjects ages belong

to. Some of the datasets were collected by different research laboratories under controlled

conditions [12], [13], while there are some datasets containing images taken in uncontrolled

environments [14]. A cross-age dataset [7] is crawled from the internet that contains a

number of images with different ages for the same persons. In most of the cases, individual

datasets available for age detection can also be used for gender detection task due to presence

of gender annotations with age information. Moreover, gender recognition is affected by

age [15]. So, instead of analyzing the same datasets two times for gender and age detection

separately, we provide the analysis collectively.

Providing information in the form of multiple age and gender groups have witnessed

tremendous attention in the literature. There are two dimensions of this work; making more

groups for age and gender make the task of recognition complex but provide useful results

for research community. On the other hand, simpler groups are easy to identify by computer

algorithms but produced results are not satisfactory by research community. The datasets

define age-groups differently e.g. MORPH (2007) gives 5 groups and IMFDB (2013) gives 4

groups. We categorize the age groups as four age stages of human life (Figure 1) for later

comparisons in the survey. The age-groups are child (0-15) years, young (16- 25) years, adult

(26-59) and old (60+). South Asians constitute about 1/4th of the world population [16] and

there is not enough representation of the South Asian people in these datasets. In fact, to our

knowledge, there is only one dataset [17] available in this regard at the moment. Another

dataset is collected [18] but its access is restricted. The rest of the paper is organized as

follows. First of all the main characteristics of 10 public face datasets for gender and age

detection are provided. After it, the datasets described in the previous section are analyzed

from different angles. Finally, conclusion of this survey is presented.

Figure 1: Gender and Age categories for research in age and gender detection

Page 9: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

3

DATASET REVIEW

We present the datasets in an order as starting from those which can be used for age-

group detection to actual or apparent age estimation based on the annotations available with

the datasets. Some datasets simply provide the age range e.g., MORPH, VADANA, while

other datasets attempt to provide ground truth ages with the images such as IMDB-WIKI and

CACD. We first provide general overview of the datasets and then analyze them with respect

to gender and age detection respectively. Gender and age-group defined in Figure 1 are

shown along with the images throughout the section.

Adience Dataset [19]

The dataset has been collected from flicker using a simple mobile phone in this case,

iPhone 5. It contains 26,580 images of different individuals in different environments.

Mobile phone pictures are not directed and people often take pictures in a hurry. So is the

case with this particular dataset. Some pictures are pretty good for analysis and are useful for

development of algorithms while some pictures are blurred. Plenty of them are selfies and

people have their own ways of taking own pictures. The variations in the quality of images

and challenging backgrounds make the use of complete dataset impeding for a single

algorithm. The associated metadata include gender title, age range file names and angles of

the face in the image.

Sample images are shown in Figure 2. Gender annotation makes this dataset a good

candidate for use in gender detection. Age range is available and thus this dataset is suitable

or age-group estimation. The examples of publication that use this dataset are [20] for gender

and [21] for age detection.

Figure 2: Images from Adience Dataset

Page 10: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

4

Iranian Face Dataset [22]

The database contains about 3,600 images collected from 616 (487 men, 129 women)

different human faces. It includes facial images of people between ages 2-85. Face images of

persons with different ages is needed to generate a reliable age classification algorithm. The

only illumination is daylight which restricts this dataset for day captured images resulting in

poor results with images captured under dim lighting conditions. Age annotations are

available. Only male dataset is available for research purposes, shown in Figure 3, so gender

detection through this dataset is not possible. Age variety however is good for research in

both age-group detection and apparent age estimation. This dataset has been used for age-

group detection in [23] 7 groups and [24] 4 groups.

Figure 3: Sample instances from Iranian Face Dataset

10k US Adult Face Dataset [25]

The dataset was collected using an online random name generator based on the 1990

U.S. Census. Some 25,000 random first and last names were used for the experiment and

images were downloaded from Google image search. In order to keep the distribution of

images fair, some well-known celebrities were deleted from the dataset. The resulting 10k

US Adult Faces Database has 10,168 individual faces, following gender, age, and race

Page 11: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

5

distributions of the adult. Landmark annotations are available for the dataset. Publishing

friendly images are shown in Figure 4. The dataset has 57 percent male and 43 percent

female distribution. This distribution is good for research in gender detection as almost equal

contribution from both genders is present. This dataset contains frontal faces that are good

for age detection but it does not cover full range of ages so it is not suitable for age stages

detection alone.

Figure 4: Images from 10k US Adult Face Database

Indian Movie Face Dataset [26]

Indian Movie Face database contains 34,512 images of 100 Indian Movie actors. This

dataset claims to be the only dataset representing South Asian community. But a large

number of images cover such angles which are unnecessary because only 100 subjects are

covered in the dataset. This dataset has large number of annotations available for age, face

bounding boxes, gender and emotion of the actor for each image. Varying resolution of the

images within subjects makes it undesirable for certain algorithms [27]. Two low quality and

side pose images and two frontal face images of 4 different actors are shown in Figure 5.

This dataset contains images of 67 male actors and 33 females with at least 200 images for

each actor under varying camera settings. The bad quality and strong emotion images may

not be good enough for gender and age detection. Age information available is in the form of

age-group defined by the dataset and thus this dataset cannot be used for real age estimation.

Page 12: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

6

Figure 5: Indian Movie Face dataset sample faces

MUCT [28]

This dataset was prepared from subjects around the University of Cape Town. The

dataset was created with 5 cameras and different illumination levels to achieve complexity

and variety in the images. Images are captured indoor with uniform background. With these

available 3,755 images 76 manual landmarks are available. That includes the coordinates of

facial features. These fiducial points help in face recognition mainly but have their usage in

age and gender detection as well. Two images of different gender and age-group as well as

different illuminations are shown in Figure 6. The dataset has approximately equal number of

male and female subjects and gender information is available within the names of images and

thus can be used for gender detection easily. Age range is above 18, so, it can be used for

age-group detection as well in combination with some under 18 datasets. MUCT database

has been used for verification of a system for age detection using the facial landmarks in

[26].

Figure 6: MUCT dataset sample images

Page 13: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

7

FEI Face Database [29]

This dataset contains 14 images per person covering 10 different angles along with a

frontal face and happy and sad expressions and one dark illumination. All faces are mainly

represented by students and staff at FEI, between 19 and 40 years old with distinct

appearance, hairstyle, and adorns. The number of male and female subjects are exactly the

same and equal to 100. It gives 46 manually landmarked fiducial points as the metadata to

the dataset. It is a good dataset for gender detection since gender distribution is even. Bright

and dark illumination and the light expressions provide a good measure to test the effect of

these features in gender and age detection. Sample images are shown in Figure 7

Figure 7: Two young females and one young male with bright and dark illumination

from FEI Database

MORPH Dataset [30]

MORPH non-commercial dataset contains 55,000 unique images of more than 13,000

subjects. Age distribution is from 16 to 77 years with a median age of 33. There are 4 images

per subject on average. The average time between capturing of photos is 164 days that vary

from minimum time delay of 1 day to maximum being 1,681 days (4.60 years). The dataset is

rich in ethnicity variety with African, European, Asian and Hispanic communities

representation but Asian ethnicity gets ignored with only 144 images as compared to

European 7,691 and African about 37,000 images. This dataset has the unique feature of

cross-age category and can be used for cross-age face recognition systems. This dataset is not

freely available. Moreover, there is also a commercial version [31] with more than race, date

of birth of the individual and image date. The sample images from the white paper of

MORPH are shown in Figure 8. Gender distribution is pretty uneven in this dataset with only

8,489 images for females that makes it a poor choice for using solely for gender detection.

Page 14: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

8

Age categories and variety on the other hand makes this dataset a stronger candidate for

research in age detection. Some publications using this data set for age detection are [28],

[32]-[34].

Figure 8: Age progressing on one female (upper half) and one male (lower half) from

MORPH dataset

IMDB-WIKI Dataset [8]

This dataset has been crawled from IMDB and Wikipedia and contains images from

around 100,000 celebrities around the globe. Aging information has been the key point of

collecting this dataset and thus images without time stamps were removed after crawling and

almost each image has biological age annotation for it. Moreover, all of the images do not

strictly contain a single person, i.e., in some images more than single human is present. To

remedy this problem a threshold-based face truncation was applied to remove the second face

from the image resulting only in one face per image.

Recently, those images were selected to be part of this dataset which have secondary

individuals face detection below a threshold. It contains 523,051 images and with age

information, this dataset provides much variety to use as compared to all other datasets

discussed above. But even this dataset does not contain sufficient images for South Asian

community which has no considerable representation in publicly available datasets. This

dataset has been trained for deep learning and Caffe [35], popular deep learning framework,

models are also available along with the metadata of this dataset.

Gender information makes the task easier for researchers as manually tagging a large number

of images is not an easy task. The size of the dataset annotations for gender and ground truth

Page 15: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

9

age make this dataset a strong candidate to use for research in apparent age and gender

detection. Two male and two female subjects are shown in Figure 9. A publication using this

dataset for age detection using deep learning is [36].

Figure 9: Two males and two females from IMDB-WIKI dataset

IMM Frontal Face Dataset [13]

The IMM Frontal Face Database comprises 240 still images of 40 different human

faces, all without glasses. The images are in high resolution therefore provide good

opportunity to explore the complexities or feasibilities offered by high resolution. Real age

annotations are available for all the images. The gender distribution is 7 females and 33

males. But the dataset available for download consists of 12 male subjects 5 only with age

variation of 24-51 years so it cannot be used for gender detection as well as age-group

detection. Sample images are shown in Figure 10. This is the smallest dataset among all the

datasets analyzed in this survey. A recent use of this dataset for age detection using deep

convolution networks is found in [19].

Page 16: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

10

Figure 10: Images from IMMFDB Database

CACD Dataset [7]

The images are collected from search engines using celebrity name and year (2004-

2013) as keywords. Images are of almost 2000 celebrities. Subjects age range is from 14-62

years. The metadata of dataset include the image age of the celebrity and 75,520 dimensional

LBP features that were extracted using 16 facial landmarks that are also available for all the

images. Downloadable dataset contains faces cropped and detected using Open CV face

detector. Main objective of this dataset is cross age face recognition based on CARC coding

that were introduced in the reference paper. Age gap for images of same subject range 0-10

years and 82 images are present on average for one subject. A sample collage is shown in

Figure 11 that shows the age of the actor below the image.

The images were taken at the events and thus the lightening conditions are different

than daily life environments. Gender information is not available as such because the primary

objective of this dataset was not gender detection. Anyhow, names of the celebrities can be

used to determine the gender of the person in the image and can be used for gender detection.

Actual age information is available but we have noticed that annotations to some images are

wrong and need manual inspection. This dataset is good for both age-group and apparent age

detection. This dataset has been used for age detection using deep learning in [38].

Page 17: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

11

Figure 11: Age progressing of one female child celebrity to young female and one male

adult celebrity to old male from CACD dataset

EGA Database [39]

EGA is a one of its kind of datasets which can be updated and expanded and is

derived from 6 datasets to provide more variety in ethnicity, age and gender marked images.

There is no physical repository of EGA dataset but Matlab script is provided to users for

building their own datasets. Gender information is available in this repository and age

annotations are also provided, so this dataset may be used for gender detection and age-group

or actual age estimation. Furthermore, this dataset provides a good platform to store available

datasets for age and gender detection in one place and even add private datasets to the

collection.

UMDFaces Dataset [40]

UMDFaces is large dataset, build for training of state-of-the-art deep neural networks.

This benchmark due to its size is more varied and provides accessible link mainly for face-

recognition applications. Dataset has annotations about the estimated pose (yaw, pitch, and

roll), twenty-one key points, and gender information. It has both video and image data. This

dataset has been used to train caffe model for human fiducial key point detection and can be

used to identify gender by training deep convolutional networks. Diversity in dataset is

induced by downloading images of subjects from different search engines and redundancy is

avoided by removing duplicate images.

Page 18: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

12

APPA-REAL database 2017 [41]

This database provides annotations for both real age and apparent age of facial

images. Apparent age votes were collected by using a WebAPI, that contains an average 38

votes per image. Dataset covers more than 7000 subjects that enhance the variation in

dataset. Figure 12 shows some samples from this database with provided annotations of real

and apparent ages. Database covers ages from 0-95 years.

Figure 12: Sample Images from APPA-REAL database

Face Image Dataset-Gaface Dataset [42]

Wang et al., [42] collected their own dataset for gender and age classification. Dataset

collected from google images and has subjects from Malaysian celebrities and politicians.

This dataset provides only two age groups that is below 40 and above 40 images.

COMPARISON OF DATASETS Availability:

Often the availability of datasets tells about the importance of that dataset in the

relevant field. So it is always a good measure to rank the datasets based upon their usage

referenced by the research papers. Such effort is made to rank the datasets collected for age

and gender detection based on their number of citations by Google scholar [43] in Table 1. It

is worth mentioning here that datasets gain increased citations based on several factors such

as ease of availability, coverage of scenarios, scalability to different problem sets, date of

publication (age of dataset) etc.

Page 19: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

13

Table 1: Datasets along with their number of citations from google scholar

Dataset Name No. of citations

MORPH 424

IMMFDB 177

FEI Face 164

Adience 42

CACD2000 37

Iranian Face 30

IMDB-WIKI 25

10k US 21

VADANA 20

IMFDB 15

VADANA 10

UMDFaces Dataset 26

APPA-REAL Database 7

GAFace Dataset 5

Gender and Age-groups representation:

We present a comparison of datasets discussed in the previous section for the availability of

gender and age variations according to the age-groups, defined in Figure 1 & Table 2. As

shown in Table 2, almost all the datasets have labelled images for gender identification i.e.,

male and female. Difference exist in variety of age groups where adult age group is present

in almost every dataset. Collecting data related to children looks quite complex which is

evident from the number of datasets dealing with children datasets. On a similar note,

datasets dealing with persons of ages above 60 are quite scarce.

Page 20: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

14

Table 2: Gender and age-group availability among public datasets

Sr.

No. Datasets Male Female

Child

(0-15)

Young

(16-25)

Adult

(26-59)

Senior

(60+)

1. Adiance Dataset ✓ ✓ ✓ ✓ ✓ ✓

2. IMFDB ✓ ✓ ✓ ✓

3. CACD ✓ ✓ ✓ ✓ ✓ ✓

4. IMMAFDB ✓ ✓ ✓

5. IMDB-WIKI ✓ ✓ ✓ ✓ ✓ ✓

6. FEI face database ✓ ✓ ✓ ✓

7. MUCT database ✓ ✓ ✓ ✓ ✓

8. 10k US Adult ✓ ✓ ✓

9. MORPH ✓ ✓ ✓ ✓ ✓ ✓

10. Iranian ✓ ✓ ✓ ✓ ✓ ✓

11. UMDFaces Dataset ✓ ✓ ✓ ✓ ✓ ✓

12. APPA-REAL

Database ✓ ✓ ✓ ✓ ✓ ✓

13. GAFace Dataset ✓ ✓

Pros and Cons:

Every dataset is biased towards its primary usage as to which algorithms will be

tested on the dataset and which community it is intended for. This inequity becomes its

strength in some cases and can be regarded as the deficiency in other scenarios. Image

resolution is important for image processing operations and thus age and gender detection via

faces. So we give the details about the resolution as well as the publishing year of the dataset.

All these statistics and analysis is given in Table 3 and 4 respectively.

Page 21: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

15

Table 3: Comparison of datasets with respect to the size of the datasets

Sr.

No.

Name of

dataset

Number

of images Resolution of images year

1. 10k US Adult

faces

10,168 72 pixels in jpg 256

pixels height

1990 Published

2013

2. Audience

Database

26,580 816*8169 Depth 24 bit 2014

3. CACD2000 163,446 250*250

Depth 24 bit

2014

4. FaceScrub 106863 Varying resolution jpg

Depth 24 bit

Latest change

2016

5. IMDB-WIKI

Dataset

523,051 Varying resolution jpg

Depth 24 bit

Crawled 2015

6. IMFDB 34,512 Varying resolution jpg

Depth 24 bit

2013

7. IMM frontal

face DB

120 Varying resolution jpg

Depth 24 bit

2001, published

in 2004

8. Iranian Face

Database

3,600 2560*1920 jpg Depth

24 bit colors RGB

2007

9. VADANA 2,298 480*640 JPEG

24 bit depth

2011

10. UMDfaces

Dataset

36,7888 JPEG Depth 24-bit

varying resolution

2017 v2

11. APPA-REAL

database

7,591 JPEG Depth 24 bit

varying resolution

2017

12. GAFace Dataset 310 2017

Page 22: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

16

Table 4: Comparison of datasets with respect to relative strengths and weaknesses

Sr.

No.

Name of

dataset Strengths Weakness

1. 10k US

Adult faces

Only US based images are

available and taking images

from internet provides diversity

Only adults are covered in this dataset

2. Adience

Database

Data consists of almost all age

groups. Data is aligned and

contains information about the

angles too.

Not all images are of same quality, some

are highly blurred that a human cannot

extract exact features and data is

unfiltered. For instance, it includes more

than one face in few images with the

second face out of focus

3. CACD2000 Large dataset consists of both

male and female subjects.

Includes posing and expressions

too. Large cross-age dataset.

Only celebrities are covered.

4. FaceScrub Large number of images with

256 subjects from both males

and females each

The downloaded images are about 3/4th

of the total number and images could be

taken down from the sites referred in the

dataset.

5. MDB-

WIKI

Dataset

Large number of images and

subjects

Since dataset has been collected from

internet resolution of images vary

extensively.

6. IMFDB A large number of annotations

are available from each image.

Data is of South Asia ethnicity

suitable for people of South

Asia.

A large number of images cover such

angles, which are unnecessary because

only 100 subjects are covered in the

dataset. Varying resolution of images

within subjects.

7. IMM

frontal face

DB

High resolution images

available and 10 images per

subject available with the slight

variation of facial expression.

Number of unique subjects are not

sufficient for training of large systems.

8. Iranian

Face

Databse

Only available dataset of middle

East

Only male dataset is available to

research.

9. VADANA Ethnicity is India based, not

much datasets are available

from same ethnicity

However, 2298 is a good number, but

subjects observed are only 43.

10. UMDfaces

Dataset

Dataset has 8,277 subjects with

maximum variations in pose

Varying resolution of images with in

subjects, age annotations are not

provided

11. APPA-

REAL

database

Covers all age groups and

7000+subjects are involved

It contains gender diversity but do not

provide annotations for gender.

12. GAFace

Dataset

Malaysian face dataset. Dataset is small, not available publicly

and provide annotations, two age groups

only.

Page 23: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

17

CONCLUSION

There are not many datasets available for human age and gender identification through

faces. We have reported 14 public datasets in this survey. Some of the datasets require

license agreements while others are distributed openly. These datasets have regional diversity

as well along with the age and gender variety covering Asians, Americans, Europeans and

Africans. Gender and age detection through images are open problems as we move towards

faster and more robust algorithms and techniques for computer vision in particular and

machine learning in general. Finally, this survey tries to cover the lack of the comparison of

the most recent and important available public datasets for face based human age and gender

detection and to guide the researchers in the selection of the most suitable dataset for

benchmarking their algorithms.

REFERENCES

[1] N. Ramanathan et al., “Computational methods for modeling facial aging: A

survey,” J. Vis. Lang. Comput., vol. 20, no. 3, pp. 131–144, 2009.

[2] A. C. Gallagher and T. Chen, “Estimating age, gender, and identity using first name

priors,” in IEEE Conf. Computer Vision and Pattern Recognition, (CVPR 2008),

2008, pp. 1–8.

[3] N. Lobo and Y. Kwon, “Automatic feature detection and age classification of

human faces in digital images,” US patent No. 5781650A, 1998.

[4] E. Mkinen and R. Raisamo, “An experimental comparison of gender classification

methods,” Pattern Recognit. Lett., vol. 29, no. 10, pp. 1544–1556, 2008.

[5] C. B. Ng et al., “Recognizing human gender in computer vision: a survey,” in Int.

Conf. Artificial Intelligence Pacific Rim, 2012, pp. 335–346.

[6] Y. Fu et al., “Age synthesis and estimation via faces: A survey,” IEEE Trans.

Pattern Anal. Mach. Intell., vol. 32, no. 11, pp. 1955–1976, 2010.

[7] B.-C. Chen et al., “Cross-age reference coding for age-invariant face recognition

and retrieval,” in European Conf. Computer Vision, 2014, pp. 768–783.

[8] R. Rothe and R. and Timofte, “Dex: Deep expectation of apparent age from a single

image,” in Proc. IEEE Int.Conf. Computer Vision, 2015, pp. 10–15.

[9] B. Moghaddam and M.-H. Yang, “Gender classification with support vector

machines,” US patent No. 6990217, 2006.

Page 24: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

18

[10] Y. H. and Kwon, “Age classification from facial images,” Comput. Vis. Image

Underst., vol. 74, no. 1, pp. 1–21, 1999.

[11] Y. Fu and T. S. Huang, “Human age estimation with regression on discriminative

aging manifold,” IEEE Trans. Multimed., vol. 10, no. 4, pp. 578–584, 2008.

[12] S. Milborrow et al., “The MUCT landmarked face database,” Pattern Recognit.

Assoc. South Africa, vol. 201, 2010.

[13] M. M. Nordstrm et al., “The IMM face database-an annotated dataset of 240 face

images,” 2004.

[14] G. B. Huang et al., “Labeled faces in the wild: A database for studying face

recognition in unconstrained environments,” in Workshop on faces in Real-Life

Images: detection, alignment, and recognition, 2008.

[15] G. Guo et al., “Is gender recognition affected by age,” in IEEE 12th Int. Conf. on

Computer Vision Workshops (ICCV Workshops), 2009, pp. 2032–2039.

[16] Anonymous, “South Asia Regional Review.” [Online]. Available:

https://web.archive.org/web/20081121043924/http:///www.sardeg.org/marketana.as

p. [Accessed: 16-Nov-2016].

[17] S. Setty et al., “Indian movie face database: a benchmark for face recognition under

wide variations,” in 4th Nat. Conf. Computer Vision, Pattern Recognition, Image

Processing and Graphics (NCVPRIPG), 2013, pp. 1–5.

[18] G. Somanath et al., “VADANA: A dense dataset for facial image analysis,” in IEEE

Int. Conf. Computer Vision Workshops (ICCV Workshops), 2011, pp. 2175–2182.

[19] E. Eidinger et al., “Age and gender estimation of unfiltered faces,” IEEE Trans. Inf.

Forensics Secur., vol. 9, no. 12, pp. 2170–2179, 2014.

[20] V. Santarcangelo et al., “Gender recognition: methods, datasets and results,” in

IEEE Int. Conf. Multimedia & Expo Workshops (ICMEW), 2015, pp. 1–6.

[21] R. Ranjan and S. and Zhou, “Unconstrained age estimation with deep convolutional

neural networks,” in Proc. IEEE Int. Conf. Computer Vision Workshops, 2015, pp.

109–117.

[22] A. Bastanfard et al., “Iranian face database with age, pose and expression,” in Int.

Conf. Machine Vision (ICMV 2007), 2007, pp. 50–55.

[23] S. Izadpanahi and Nsen Toygar, “Human age classification with optimal geometric

ratios and wrinkle analysis,” Int. J. Pattern Recognit. Artif. Intell., vol. 28, no. 2, p.

1456003, 2014.

Page 25: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

19

[24] M. A. Hajizadeh and H. Ebrahimnezhad, “Classification of age groups from facial

image using histograms of oriented gradients,” in 7th Iranian Conf. Machine Vision

and Image Processing, 2011, pp. 1–5.

[25] W. A. Bainbridge et al., “The intrinsic memorability of face photographs.,” J. Exp.

Psychol. Gen., vol. 142, no. 4, p. 1323, 2013.

[26] T. Wu et al., “Age estimation and face verification across aging using landmarks,”

IEEE Trans. Inf. Forensics Secur., vol. 7, no. 6, pp. 1780–1788, 2012.

[27] Z. Wang et al., “Low-resolution face recognition: a review,” Vis. Comput., vol. 30,

no. 4, pp. 359–386, 2014.

[28] S. E. Choi et al., “Age estimation using a hierarchical classifier based on global and

local facial features,” Pattern Recognit., vol. 44, no. 6, pp. 1262–1281, 2011.

[29] C. E. Thomaz and G. A. Giraldi, “A new ranking method for principal components

analysis and its application to face image analysis,” Image Vis. Comput., vol. 28,

no. 6, pp. 902–913, 2010.

[30] X. Geng et al., “Automatic age estimation based on facial aging patterns,” IEEE

Trans. Pattern Anal. Mach. Intell., vol. 29, no. 12, pp. 2234–2240, 2007.

[31] K. Ricanek and T. Tesafaye, “Morph: A longitudinal image database of normal

adult age-progression,” in 7th Int. Conf. Automatic Face and Gesture Recognition

(FGR 2006), 2006, pp. 341–345.

[32] G. Guo et al., “Human age estimation using bio-inspired features,” in IEEE Trans.

Pattern Anal. Mach. Intell., 2009, pp. 112–119.

[33] X. Geng et al., “Facial age estimation by learning from label distributions,” IEEE

Trans. Pattern Anal. Mach. Intell., vol. 35, no. 10, pp. 2401–2412, 2013.

[34] Q. Tian and S. Chen, “Joint gender classification and age estimation by nearly

orthogonalizing their semantic spaces,” Image Vis. Comput., vol. 69, pp. 9–21,

2018.

[35] Y. Jia et al., “Caffe: Convolutional architecture for fast feature embedding,” in

Proc. 22nd ACM Int. Conf. Multimedia, 2014, pp. 675–678.

[36] Z. Huo et al., “Deep Age Distribution Learning for Apparent Age Estimation,” in

2016 IEEE Conf. Computer Vision and Pattern Recognition Workshops (CVPRW),

2016, pp. 722–729.

Page 26: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2 No. 2 : 1-20 A Comprehensive Survey of Facial Datasets

20

[37] K. Ndegwa, “Age detection from a single image using multi-task neural networks:

An overview and design proposal (Assignment),” Research School of Engineering

ANU College of Engineering and Computer Science, 2016.

[38] X. Liu et al., “Agenet: Deeply learned regressor and classifier for robust apparent

age estimation,” in Proc. IEEE Int. Conf. Computer Vision Workshops, 2015, pp.

16–24.

[39] D. Riccio and G. Tortora, “EGA—Ethnicity, gender and age, a pre-annotated face

database,” in IEEE Workshop on Biometric Measurements and Systems for Security

and Medical Applications (BIOMS), 2012, pp. 1–8.

[40] A. Bansal et al., “Umdfaces: An annotated face dataset for training deep networks,”

in IEEE Int. Joint Conf. Biometrics (IJCB), 2017, pp. 464–473.

[41] E. Agustsson et al., “Apparent and real age estimation in still images with deep

residual regressors on APPA-REAL database,” in 12th IEEE Int. Conf. Automatic

Face & Gesture Recognition (FG 2017), 2017, pp. 87–94.

[42] X. Wang et al., “Gender and age classification of human faces for automatic

detection of anomalous human behaviour,” in 3rd IEEE Int. Conf. Cybernetics

(CYBCONF), 2017, pp. 1–6.

[43] A.-W. K. Harzing and R. der Wal, “Google Scholar as a new source for citation

analysis,” Ethics Sci. Environ. Polit., vol. 8, no. 1, pp. 61–73, 2008.

[44] K. Ricanek, “MORPH: Non Commercial Release Whitepaper” 2018. [Online].

Available: http://www.faceaginggroup.com/wp-content/uploads/2011/09/MORPH-

Album1-Stats.pdf.

Page 27: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

21

Software Analysis with Package Level

Modularization Metrics

1MOHSIN KHAN SHAIKH*, 1MUHAMMAD ADIL ANSARI,

2AKHTAR HUSSAIN JALBANI

1Quaid-e-Awam University College of Engineering, Science & Technology, Larkana 2Quaid-e-Awam University of Engineering, Science & Technology, Nawabshah

*Corresponding Author’s email: [email protected]

Abstract

Increasing complexity of software systems require extensive maintenance through

decomposition of source code into appropriate abstractions to achieve effective modularization.

An optimal modularization of object-oriented software insuring low coupling and high cohesion

is perceived as a challenging task. In this paper, we present empirical perspective of new inter-

module coupling based modularization metrics to assess their utility. In particular, we explore

impact of correlation between these design-based modularization metrics and external quality

attributes of software systems. Our experimental study covers 34 open source java software

systems and shows that inter-module coupling based modularization correlates with existing

metrics of modularization and also bear substantial relationship with vital quality attributes of

software design.

Keywords: Software metrics, Software analysis, Modularity

INTRODUCTION

oftware evolution process is carried out through continuous addition, modification and

re-organization of source code. As these activities are reflected into source code, there is

an eventual drift in software design. Recently, there has been significant advancement to

reverse engineer the software systems for automatic extraction of its design depicting an

aggregate view. Some of notable techniques in this regard are related to partitioning of software

systems into sub-systems (clusters) [1]. With an advancement in building tools and

methodologies for software maintenance, there has been significant research over mechanism

of partitioning the software into sub systems considering source code abstractions like classes

and packages [2]. In particular, package organization provides higher abstraction and easier

way for comprehension, complexity reduction and understanding maintainability. We also

build linear correlation model with existing validated modularity metrics studied in different

domains of engineering [3]. We evaluated this approach with comprehensive empirical analysis

over open source java systems. Consequently, these findings help to evaluate the cohesive

quality of software. Additionally, significant statistical relationship was also witnessed with

S

Page 28: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

22

maintainability, design deficit and testability. Thus, this effort can help taking measures to

minimize the design flaws of software systems. However, due to frequent changes into

software, increase in fragility of software modularization is not an impossible occurrence.

Sarkar et al. have proposed a new modularization metrics suite based on packages as

its functional component [4]. In this context they have devised two categories of coupling

based metrics, i.e., based on inheritance or association and method invocation. As a matter of

fundamental perspective of modularization, inheritance and association produce abstraction

and encapsulation in software design.

In this paper, we explore inheritance and association-based coupling metrics for

automated optimization of module structure and determine their impact over testing efforts,

deficit produced in design of software and its overall emphasis.

METRICS STUDIED

This section provides the description and summary of investigated metrics and software

quality attributes. Table 1, 2, 3 summarizes the definition of inter-module coupling

modularization metrics produced with specific methodology of programming design, i.e.,

inheritance, association and polymorphism. With object-oriented design paradigm, inheritance

and association are the most important dependence relationship showing interactive coding

structure among packages and classes. In programming sense, inheritance relationship is

created when a class extends another class, while association is formed when class uses another

class. In addition to this, such dependencies among the classes are often seen to be distributed

in different modules (Packages in our context of study). Another coupling relationship known

as fragile base-class problem follows a design phenomenon when two classes existing different

module show interdependencies causing fragility into base class. Sarkar et al. describe these

metrics to measure the modularization quality of modules showing the strength of package

organization in software structure. Furthermore, illustration of each metric is given as under:

• IC(S): is a composite metric that measures the extent to which

inheritance-based dependencies among and within the

packages are minimized.

• AC(S): is composite metric that measures the extent to which

association-based dependencies among and within the

packages are minimized.

• BCFI(S): is a composite metric that measure the extent to

which polymorphic design of methods is restricted to the

defining packages.

Page 29: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

23

Table 1: Coupling Metrics

Metric Definition

Inheritance based Inter-

Module Coupling

𝐼𝐶(𝑆) =1

|𝑝| ∑ 𝐼𝐶 (𝑃)

Association Induced

Intermodule - Coupling 𝐴𝐶(𝑆) =

1

|𝑝| ∑ 𝐴𝐶 (𝑃)

Base-class Fragility 𝐵𝐶𝐹𝐼(𝑆) =1

|𝑝| ∑ 𝐵𝐶𝐹𝐼 (𝑃)

Table 2: Modularity Metrics

Metric Definition

Mnewman Modularity and community structure in network [5]

MQ Modularity of software based on clustering [6]

Mg&g Modularity of mechanical products. [7]

Mrcc Modularity based on dependency cost [8]

Description of quality metrics is as under:

• MI: Maintainability index is composite metric that incorporates number of

traditional source code metrics into single value that indicates relative

maintainability. • QDI: Quality Deficit Index is a positive value aggregating the detected design

flaws (i.e., code smells and architectural smells).

• TLOC: Testability metric in our study is considered as effort required to test

the software system.

Table 3: Quality Metrics

Metric Definition

Halstead

Maintainability

Index (MI) [9]

𝑀𝐼 = 171 − 5.2 × log(𝑎𝑣𝑒𝑉)− 0.23 × 𝑎𝑣𝑒𝑉(𝑔′)− 16.2 × log(𝑎𝑣𝑒𝐿𝑂𝐶)

Quality Deficit Index

(QDI) [10]

𝑄𝐷𝐼 =∑ 𝐹𝐼𝑆𝑓𝑙𝑎𝑤−𝑖𝑛𝑠𝑡𝑎𝑛𝑐𝑒𝑠𝑎𝑙𝑙−𝑓𝑙𝑎𝑤−𝑖𝑛𝑠𝑡𝑎𝑛𝑐𝑒𝑠

𝐾𝐿𝑂𝐶

Testability Metric

(TLOC) [11]

𝑇𝐿𝑂𝐶 = ∑ 𝐿𝑂𝐶(𝐶𝑖)

𝑛

𝑖=1

Page 30: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

24

EXPERIMENTAL STUDY

In this section, we describe our comprehensive experimental evaluation of Sarkar’s et

al. modularization metrics over open source software system. The key process is selection of

intelligent metrics to evaluate software modularity. Therefore, most efficient and already

utilized methodology in our research. Our objective is to analyze the effects of coupling

modularization metrics over different quality attributes of software systems. i.e.,

modularization metrics, external quality attributes. Following study features are listed as

objectives of experimental work.

1. Assess strength of relationship between Sarkar’s coupling modularization metrics and

Baseline modularization studied in different domains.

2. Determine impact of Sarkar’s coupling modularization metrics over maintenance,

design flaws and testing effort.

Develop the theoretical perspective for Sarkar’s coupling modularization metrics in

improving overall software quality. We selected 34 versions of three different open source

system in our experiment. JHotDraw [12]: a Java GUI framework for technical and structured

Graphics. Ant [13]: a Java library and command-line tool whose mission is to drive processes

described in build files. Google-Web Toolkit [14]: an open source set of tools that allows web

developers to create and maintain complex JavaScript front-end applications in Java.

These systems have reasonable size, manageable degree of complexity, diverse

application domain and easily accessible source code for data processing and computation of

described metrics in order to carry out further study. To calculate metrics, coupling

modularization metrics, TLOC and MI, source code of subject system was parsed and analyzed

through commercial tool Understand: A commercial static analysis tool. To figure out QDI, we

used evaluation version of open source tool Infusion. After collecting metrics data, statistical

test of correlation is used to obtain the objectives defined. The subject of software sustainability

is emerging as bench-mark to realize applications of software in social, economic, operational

and technical terms. Hence, relevant empirical studies are required to explore the subject

further. We presented an experimental analysis over 34 versions of three different open source

java systems that includes research objectives, design, data processing and experimental

results.

EXPERIMENTAL RESULTS

In Table 4 and 5, magnitude of association of coupling based metrics is shown at

different strength of significant levels with bold values into table cells. Modularity metrics

correlations are shown in Table 4.

Page 31: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

25

Table 4: Correlation with Quality Metrics

Table 5: Correlation with Modularization Metrics

Project Metric Mnewm Mbunch Mg&g Mrcc

BCF(S ) 0.94 0.77 0.59 0.97

JHotDraw [9] IC(S ) 0.94 0.66 0.24 0.84

AC(S ) 0.53 0.72 0.78 0.70

BCF(S ) 0.41 0.20 0.24 0.60

Apache-ant [14] IC(S ) 0.27 0.76 -0.79 -0.93

AC(S ) 0.13 -0.54 0:54 0:31

BCF(S ) 0.26 0.32 0.12 -0.45

Google-Web Toolkit

[11] IC(S ) 0.83 0.80 0.45 -0.90

AC(S ) -0.94 -0.90 0:41 0.98

Some important observations dealing with modularity correlation of Table 4 are

described. For JHotDraw, BCF(S) is seen strongly correlated with Mnewm and Mrcc. AC(S) is

observed to be in significant relationship with modularity metrics of Mbunch, Mg&g and Mrcc. For

Apache-Ant, strong association of correlation is established only for IC(S) with Mbunch, Mg&g

and Mrcc. Interestingly, Mnewm has shown weak statistical significance with most of coupling

metrics in all cases. While in case of Google-Web ToolKit, AC(S) and IC(S) have produced

Project Metric MI QDI TLOC

BCF(S ) -0.86 0.92 0.74

JHotDraw [9] IC(S ) -1.000 0.99 0.78

AC(S ) -0.18 0.32 0:14

BCF(S ) -0.072 0.75 0.60

Apache-ant [14] IC(S ) -0.52 -0.37 -0.93

AC(S ) -0.51 0:52 0:39

BCF(S ) -0.19 0:49 0:085

Google-Web Toolkit [11] IC(S ) 0.45 0.024 -0.80

AC(S ) -0.58 0:01 -0.87

Page 32: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

26

confident statistical relationship with modularity metrics. Such kind of variations in modularity

correlation can be result of particular design paradigm of software systems where use

dependencies are minimum in JHotDraw and extend dependencies are maximum in Apache-

Ant.

Figure 1: Apache Evolution Scenario

We can identify interesting observation of correlations from Table 5. First, BCF(S) is

in strong and positive significant correlation with QDI and TLOC employing that fragility of

base-class in software may result in the design deterioration and testing overhead. Second, in

all cases, inheritance and association-based coupling metrics are inheritance and association-

based coupling metrics are negatively correlated with MI.

Figure 2: JhotDraw Evolution Scenario

In software engineering, process of evolution driven by incremental development and

design changes. In this section, we present pattern of coupling metrics with consecutive

Page 33: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

27

versions of software systems through graphical representation as shown in Figure 1, 2 and 3.

In 14 versions of Apache-ant, all the coupling-based metrics are seen in consistent pattern. In

9 versions of JHot-Draw, AC(S) and IC(S) is observed to be improving. BCF(S) has improved

in gradual manner to significant extent. In 11 versions of Google-Web Toolkit, BCF(S) and

IC(S) has shown slight decline as the software evolves, while AC(S) has exhibited an

improving trend.

Figure 3: Google Webtool Kit Evolution Scenario

In this regard, we reported statistical relationship of Sarkar's et al. modularization

metrics with existing validated modularity metrics studied in different domains of engineering

and quality metrics. Indeed, from theoretical standpoint, our study has diverse quality assurance

focus but with major emphasis on architectural sustainability. We do not rule out other

parameters that may have arguably better explanatory power, however, our effort is to explore

significance of package-based modularization metrics.

CONCLUSION

The modularity is an important aspect of software system describing its overall quality

and strength. In this paper, we investigated package based proposed modularization metrics

from multi-dimensional views using correlation methodology. Our empirical study is a

statistical proof for utility and application of coupling modularity metrics through statistical

correlation methodology. Our results show that coupling based modularization metrics have

significant relationship with modularization metrics proposed in different engineering

domains. Such findings can help the software engineer to develop design plan to ensure

optimized source code architecture. Results over open source software system show that

managing the coupling between the packages can also reduce maintenance work, deficit in

design quality and testing effort.

Page 34: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 21-28 Software Analysis with Package Level

28

REFERENCES

[1] B. S. Mitchell and S. Mancoridis, “On the automatic modularization of software

systems using the Bunch tool,” IEEE Trans. Softw. Eng., vol. 32, no. 3, pp. 193–208,

Mar. 2006.

[2] H. Abdeen, S. Ducasse, and H. Sahraoui, “Modularization metrics: assessing package

organization in legacy large object-oriented software,” in 18th Working Conf. Reverse

Engineering, 2011, pp. 394–398.

[3] S. Sarkar, A. C. Kak, and G. M. Rama, “Metrics for measuring the quality of

modularization of large-scale object-oriented software,” IEEE Trans. Softw. Eng., vol.

34, no. 5, pp. 700–720, Sep. 2008.

[4] K. S. Lee and C. G. Lee, “Comparative analysis of modularity metrics for evaluating

evolutionary software,” IEICE Trans. Inf. Syst., vol. 98, no. 2, pp. 439–443, 2015.

[5] M. E. J. Newman, “Modularity and community structure in networks,” Proc. Natl.

Acad. Sci., vol. 103, no. 23, pp. 8577–8582, 2006.

[6] S. Mancoridis, B. S. Mitchell, Y. Chen, and E. R. Gansner, “Bunch: a clustering tool

for the recovery and maintenance of software system structures,” in Proc. IEEE Int.

Conf. Software Maintenance - 1999 (ICSM’99). “Software Maintenance for Business

Change” (Cat. No.99CB36360), 1999, pp. 50–59.

[7] F. Guo and J. K. Gershenson, “A comparison of modular product design methods

based on improvement and iteration,” in Volume 3a: 16th Int. Conf. Design Theory and

Methodology, 2004, pp. 261–269.

[8] A. MacCormack, J. Rusnak, and C. Y. Baldwin, “Exploring the structure of complex

software designs: An empirical study of open source and proprietary code,” Manage.

Sci., vol. 52, no. 7, pp. 1015–1030, 2006.

[9] K. D. Welker, “The software maintainability index revisited,” CrossTalk, vol. 14, pp.

18–21, 2001.

[10] R. Marinescu, “Assessing technical debt by identifying design flaws in software

systems,” IBM J. Res. Dev., vol. 56, no. 5, Sep. 2012.

[11] A. Tahir, S. G. MacDonell, and J. Buchan, “Understanding class-level testability

through dynamic analysis,” in 9th Int. Conf. Evaluation of Novel Approaches to

Software Engineering (ENASE), 2014, pp. 1–10.

[12] Anonymous, “JHotDraw.” [Online]. Available: http://www.jhotdraw.org.

[13] Anonymous, “Graphics. Ant.” [Online]. Available: http://ant.apache.org.

[14] Anonymous, “GoogleWebKit.” [Online]. Available: http://www.gwtproject.org.

Page 35: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

29

Challenges in Implementation of Education

Management Information Systems in

Schools of Pakistan

MASUDA AHMAD1*, SHARON MORGAN2, MUHAMMAD IMRAN AHMAD3

1,2School of Environment, Education and Development, The University of Manchester, United Kingdom

3Department of Chemical Engineering, University of Engineering and Technology, Peshawar

*Corresponding author’s e-mail: [email protected]

Abstract

This paper presents a study of the challenges faced during implementation of

Education Management Information Systems (EMIS) in the educational institutes of Pakistan.

An EMIS is a system that ideally contains all academic as well as human resource data

regarding teachers and students, which may contribute in the improvement of the education

being imparted. However, there are several challenges faced when it comes to the

implementation of such systems in developing countries. Identification of these challenges has

been carried out through a thorough literature review. It is observed that the National Education

Management Information System (NEMIS) faces several challenges; many of which may be

resolved if the challenges in implementation of EMIS systems at school level are addressed.

Once EMIS systems are functional at schools, they can help in disseminating up-to-date and

accurate data directly to NEMIS in a timely manner.

Keywords: Education, Management, Information system, Challenges,

Implementation of EMIS.

INTRODUCTION

Education may be considered the backbone of social and economic development of a

nation. Education not only helps reduce poverty and social injustice by providing career

opportunities to the under privileged but also provides ways for social inclusion. Currently, as

the focus around the globe is on ‘knowledge economy’, education becomes an essential asset

for the development of human capital for any nation [1]. A society that consists of literate and

skilled citizens can hope to develop its cultural, social and political values and lead the

economy towards the path of sustainable economic development. Thus, improving the

education priority within under developed countries is the pressing need of the time.

According to Shafique and Mahmood [2], one of the essential requirements for

achieving educational goals and objectives lies within the flow of information to educational

Page 36: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

30

administrators and policy makers through sound information systems, known as Education

Management Information Systems (EMIS).

An EMIS is a tool that systematically organizes educational data. It may be defined as

a system that collects, integrates, processes, maintains and disseminates an integrated set of

reliable, timely and unambiguous data to education leaders, decision makers and planners, thus

contributing towards the achievement of goals and objectives of their organisation [3]. The

terminology of an EMIS may be used in a broader sense, i.e. referring to the national level

education management information system, as well as being used for the narrowed down

concept of an EMIS for a single educational institute [2].

Information systems are a combination of tasks to be performed, people performing

those tasks and technology through which this performance is made possible. Once an EMIS

is implemented within an educational institute, all information within that system can be

streamlined and becomes easily accessible to relevant personnel within and outside the system,

assuming personnel have appropriate training and the required resources.

The standard of education at the national level depends upon the quality of education

being provided within primary and secondary level education institutes. However, lack of

proper planning at the national level seems to be the underlying cause of several unaddressed

issues. The pre-requisite of planning, decision making, monitoring and evaluating the

education system at various levels within Pakistan depends on the availability of valid, reliable,

comprehensive and up-to-date educational statistics/data. Having the data is critical, so too is

planning and so forth; there is also a matter of the skills, knowledge and motivation of policy

makers and operatives re-translating what has been gathered and developed in ‘action on the

ground’.

In Pakistan, there is a need to improve individual education institutes through proper

management, moreover to introduce information management systems within schools so that

complete education statistics and data can be generated from each educational institute.

Information systems which have been developed for facilitating educational administrators are

neither robust nor well-planned, and do not aid them in realistic planning and decision making

[2]. Therefore, there is a dire need for designing effective and user-friendly education

management information systems at the institute level as well as national level.

REVIEW OF EMIS IMPLEMENTATION IN DEVELOPING

COUNTRIES

In order to get a clear picture of what shortcomings have been faced during EMIS

implementation in developing countries and what measures were taken to avoid those

shortcomings, a review of previously implemented EMIS solutions has been carried out. This

review will provide some insight for reaching conclusions on which methods should be

followed and which to be avoided if an EMIS solution is to be implemented in Pakistan’s

schools.

Page 37: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

31

Major concerns include analysis of implemented systems that not only help to maintain

student and academic data but contain other modules such as HR, Finance, Event Management,

so forth; enabling the institute to monitor the school’s overall performance (including student

and teacher performance) via a single system, monitor conduction of quality of education, link

their schools and colleges to district and provincial EMIS cells for education planning and

policy making at the national level.

Developing countries (defined according to their Gross National Income (GNI) of US

$11,905 and less per capita per year, specified by the World Bank, 2013) have recently been

provided with the chance to improve their educational standards by the implementation of

national level EMIS by projects funded by various donors and United Nations agencies such

as the World Bank, United Nations Educational, Scientific and Cultural Organisation

(UNESCO), the United Nations Children’s Fund (UNICEF), the United States Agency for

International Development (USAID) and the Department for International Development

(DFID) [4]–[6].

Attfield and Vu [7] focused their study on improving quality of education in Vietnam

and discussed a new approach involving flexible data systems for adoption of new standards.

A project was initiated that developed human resource (HR), administrative and school

inspection information management, called V. EMIS, which was implemented in many upper

secondary schools. This study points in the direction of having all major components/ modules

within a single EMIS system, i.e. administrative, HR as well as some school progress

monitoring system, in order to keep an eye on improvement of quality of education; one of the

aims of our study.

According to Motala [8], quality education factors have been identified as local change

agents such as teachers, students, the process, policies or an information system that is directly

linked to the progress of the school. Improving the capacity of these change agents is necessary

for their active participation in the schooling process and progress. Similarly, within Pakistani

schools, capacity building of these change agents needs to be arranged for improvement of

education quality and school performance.

CHALLENGES TO EMIS INTRODUCTION AND USE

Various challenges have been identified in the implementation of information systems

in numerous developing countries. These stretch from limitations of data collection to multiple

socio-technical aspects such as technical challenges, organisation structure challenges, psycho-

social challenges, challenges in achieving goals and values, and managerial challenges detailed

below.

The Limitations of Data Collection

According to the district education profile of Pakistan, the report prepared by Amin et.

al. [9] shows the education related data collected for the national EMIS, from the various

Page 38: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

32

districts of Pakistan. This data is limited to the number of institutions within a district, number

of institutions within each level (primary, middle, higher secondary), number of enrolments

within each level, number of teachers within each level, institute building details (ownership,

availability of electricity, drinking water, toilets, boundary wall, building condition). This data

fails to provide any insight into academics and the quality of education being provided at these

institutes.

Bhatti and Adnan [10] highlighted the challenges to the use of EMIS in NWFP

(province of Pakistan now named as Khyber Pakhtoon Khwa, KP) by conducting a study of

the existing EMIS system at district and provincial level. Their focus was on district EMIS

offices and the factors hindering effective communication between district and provincial

EMIS. Complete web-based EMIS solutions, if implemented in Pakistani schools may feed the

district and provincial level EMIS chain with the required accurate and up-to-date data.

However, the issues relating to interface of district EMIS with individual sub-units, i.e.

educational institutes, such as reliability and timely communication of information need to be

considered for getting a holistic view of EMIS implementation in schools.

Tikly [11] draws attention to the difficulties linked to EMIS systems, specifically lack

of participative approaches in relevant data collection. Data verification at appropriate points

within the workflow is also an essential requirement. Serious delays in data collection through

EMIS are faced if data verification is not done appropriately and timely; within workflows at

district level. Verification of collected data should be incorporated within the district level

EMIS, which receives data directly from schools [12]. Trucano [13] identifies gaps in the

planning and implementation of an EMIS indicating the lack of support and commitment from

the district offices and schools to the data collection and analysis process.

Technical Challenges

Numerous technical challenges in the smooth running of EMIS at various levels in

Pakistan were identified in the study by Bhatti and Adnan [10] including scalability, security

and robustness of the database systems being used, database integration and backup, lack of

information sharing, delays in data dissemination process, delays in planning and decision

making, internet accessibility and most importantly, allocation of budget. Furthermore,

shortcomings to effective EMIS implementation were identified to include inadequate

computing environment with insufficient capacity of servers, backups, security facilities as

well as lack of regular maintenance. In a country report on Pakistan’s education system by

Shah [14] district EMIS cells were found non-functional due to the lack of financial, personnel

and hardware resources, compelling the provincial EMIS units to compile district data, which

resulted in delayed and inaccurate report generation.

The study by Aggarwal and Kaur [6] provides useful insights to technical challenges in

using EMIS such as IT accessibility, poor system maintenance due to inadequate training, and

lack of financial resources allocated to EMIS.

Page 39: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

33

Structural Challenges within the Organisation

The major elements of the structure of a school include tasks, information flow, work

flow, procedures, rules and policies. Oulai et. al. [15] and Shah [14] identify educational

planners as having an inadequate profile for interpretation of policies, analysis and usage of

education data for monitoring of implementation plans. Moreover, the few qualified planners

are overworked to fill the gaps caused by other planners’ lack of skills. It is a pre-requisite that

all institutes have EMIS implemented at their premises and have the required structural changes

implemented within the institute to ensure a smooth work flow. This will enable schools to not

only analyse their own data internally but to participate in providing their education data for

the compilation and analysis at the district level EMIS. As information systems involve both

the technical and human aspects, it is essential to have an organisational structure that

incorporates a balance between the two.

Psycho-social Challenges

Among other factors, a culture of caution in the dissemination of transparent, detailed

and disaggregated data was identified by Attfield and Vu [7], which caused hindrance in the

implementation of school data systems. The human element within information systems brings

about both positive and negative concerns. Crouch et. al. [16] state various reasons for

resistance to EMIS implementation, such as staff considering it to create extra work for them,

increase in accountability, limit in patronage due to transparency of data and the possibility of

political sensitivity if unfavourable outcomes are observed. Teachers face various fears on the

use of data. The reservations involved in EMIS development need to be addressed by

converting them into favourable outcomes of the solution by discussions and presentations of

system usage emphasizing on its possible benefits.

Challenges in Meeting Goals and Values

Meeting the requirements of every stake holder and EMIS user becomes challenging at

times, as systems tend to be over-designed due to unrealistic expectations [16]. In order to meet

the goals and values of an educational institute, faculty members have certain demands;

Chapman [17] identifies that specific users have specific demands of data to make decisions

for which they are responsible. Their demands however, need to be given the required

importance, because these users hold an equal share of importance in the development of such

socio-technical systems.

Managerial Challenges

Even though data becomes available due to education management information systems

but decision makers hardly use that data for planning and education policy development [12].

Some reasons for this limitation in the correct use of data are lack of proper presentation and

dissemination of statistical data.

Page 40: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

34

In light of the previous work, it may be observed that there is a need to study the data systems

being implemented in Pakistan, at various levels. Starting at the grass-root level, i.e. schools

and colleges, the challenges regarding implementation of EMIS, as well as the inter-

connectivity of these data systems with the district and provincial EMIS cells need to be

addressed to provide deeper insight to policy and decision makers.

DATA DISSEMINATION TO DISTRICT AND PROVINCIAL

LEVEL

As evident from the literature review, the current data collected in the provincial and

district level EMIS cells of Pakistan does not comprise of any data related to ‘quality of

education’. Moreover, the entire process is manual; data collection forms are distributed to

schools within each district, to be filled out and returned. This process not only involves delays

in data collection but also lacks reliability as the data entry of hundreds of forms is done by the

limited data entry staff available at the cells. Further delays are introduced in the data entry

process due to the numerous limitations at these EMIS offices.

PROPOSED SOLUTION FOR IMPROVEMENT OF

EDUCATION RELATED DATA RECEIVED AT NEMIS

In order to improve the reliability of data received from the schools and speed up the

process of data collection, it is proposed to have education management information systems

implemented at majority of schools. Data should be sent from the school EMIS electronically

to the district level EMIS as suggested by Wang & Zhao [18] and Ruchika & Goel [19].

The change proposed for ensuring the element of ‘quality education’ to be incorporated

in national level education planning and policy making suggests that additional information be

sent to the district level EMIS, which may include the institute’s education related details.

Apart from the school inventory and student enrolment details, the data sent from schools could

include the following, as is also depicted in the data flow diagram in Figure 1.

SchoolEMIS

District EMIS

School inventory, Student enrolment, Faculty

qualifications, Academic results, Co-curricular

activity (Annual reports)

Figure 1: Context level DFD - Output from School EMIS to the District EMIS

- Faculty qualifications along with updated data on annually received trainings and any

update in qualifications.

- Academic results which include pass percentages in each class as well as dropout rates.

Page 41: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

35

- Co-curricular activities taken place in each academic session as well as approximate

number of students who participated, inter-school student participation, annual expenditure on

events.

CONCLUSIONS

Education management information systems implemented across the globe in various

developing countries were studied, aiming to identify the major challenges faced in their

implementation. It is concluded that if EMIS systems are implemented in Pakistani schools,

urban as well as rural, by addressing all such identified challenges; we can hope to improve the

education scenario of Pakistan not only at the Primary level but at higher level as well. The

educational institutes will be able to better plan and manage their own education system as well

as provide accurate data to the district and provincial level EMIS. This will result in accurate

education sector planning at the national level.

REFERENCES

[1] S. Siddiqui, “Importance of education in economic development,” 2013. [Online].

Available: https://www.interface.edu.pk/students/Oct-09/Importance-of-education.asp.

[Accessed: 24-Mar-2014].

[2] F. Shafique and K. Mahmood, “The role of educational information systems for

survival in information society and the case of Pakistan,” Int. Inf. Libr. Rev., vol. 42,

no. 3, pp. 164–173, Sep. 2010.

[3] T. N. Wako, “Education Management Information Systems (EMIS): A Guide for

Young Managers,” NESIS/ UNESCO. Harare, Zimbabwe, 2003.

[4] M. Zaidi, “EMIS in Pakistan : Process , People and Structures Examining Policy Issues

in Education Data,” Education Sector Reform Assistance Program, USAID, Pakistan,

2003.

[5] A. Brock, “Moving mountains stone by stone: Reforming rural education in China,”

Int. J. Educ. Dev., vol. 29, no. 5, pp. 454–462, Sep. 2009.

[6] H. Aggarwal and B. P. Kaur, “Information Systems in Engineering Colleges of

Punjab-Design, Implementation and Challenges,” Res. Cell An Int. J. Eng. Sci., vol. 1,

pp. 28–39, 2011.

[7] I. Attfield and B. T. Vu, “A rising tide of primary school standards—The role of data

systems in improving equitable access for all to quality education in Vietnam,” Int. J.

Educ. Dev., vol. 33, no. 1, pp. 74–87, Jan. 2013.

[8] S. Motala, “Quality and indicators of quality in South African education: a critical

appraisal,” Int. J. Educ. Dev., vol. 21, no. 1, pp. 61–78, Jan. 2001.

[9] N. Amin, Y. Irfan, M. B. Kakli, Z. Farooq, M. A. Zia, and M. Tariq, “District

Education Profile 2011-12,” NEMIS-AEPAM, Ministry of Education’, Trainings and

Standards in Higher Education, Islamabad (AEPAM Statistics Study No. 253), 2011.

Page 42: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 29-36 Challenges in Implementation of EMIS

36

[10] S. A. Bhatti and A. Adnan, “Challenges in education management information system

in develpoing countries,” in Emerging Technologies, 2010, pp. 1–6.

[11] L. Tikly, “Towards a framework for researching the quality of education in low‐

income countries,” Comp. Educ., vol. 47, no. 1, pp. 1–23, Feb. 2011.

[12] L. Carrizo, C. Sauvageot, and N. Bella, “Information Tools for the Preparation and

Monitoring of Education Plans” United Nations Education, Scientific and Cultural

Organization, 2003.

[13] M. Trucano, “Education Management Information System: A Short Case Study of

Ghana,” Working Paper No. 4, InfoDev, 2006.

[14] D. Shah, “Country Report on Decentralization in the Education System of Pakistan :

Policies and Strategies,” Academy of Educational Planning and Management Ministry

of Education, Government of Pakistan, Islamabad, 2003.

[15] D. Oulai, C. Lugaz, A. Minas, H. Teklehaimanot, M. Bernal, and M. Edward,

“Analysis of capacity development in educational planning and management in

Ethiopia,” International Institute for Educational Planning, Paris, 2011.

[16] L. Crouch, M. Enache, and P. Supanc, “Education Management Information Systems

(EMIS): Guidelines for Design and Implementation,” Techknowlogia Int. J. Technol.

Adv. Knowl. Learn., vol. 3, no. 1, pp. 46–49, 2001.

[17] D. W. Chapman, “The Role of Education Management Information Systems in

Improving Educational Quality: A Global Perspective,” JAI Press, 1990.

[18] Yi Wang and Li Zhao, “Service-oriented Educational Management Information

System construction,” in Int. Conf. Computer Application and System Modeling,

Taiyuan, 22-24th October (ICCASM), 2010.

[19] Ruchika and A. Goel, “EwayDataCollect: Web Service-Based Data Collection Tool

for Education System,” Procedia Technol., vol. 5, pp. 397–406, Jan. 2012.

Page 43: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

37

A Systematic Review of the Approaches for

Anti-Pattern Detection and Correction

SYEDA GHANA MUMTAZ, HUMA TAUSEEF*,

MUHAMMAD ABUZAR FAHIEM, SAIMA FARHAN

Department of Computer Science, Lahore College for Women University, Lahore Pakistan

*Corresponding author’s email: [email protected]

Abstract

Pattern is a prominent strategy amongst the most basic and capable strategies to

enhance the outline, and subsequently upgrade the practicality and reusability of code. Anti-

pattern identification is a helpful procedure for picking up information on the outline issues of

existing systems and enhances the system's perceptions, which therefore upgrade the product

viability and development. Various reviews have been directed and many tools have been

produced to recognize anti-patterns, while just few reviews have considered the anti-pattern

correction, which has not been researched with a similar degree of anti-pattern correction. Anti-

pattern detection and correction approach combined together will be an effective approach to

handle issues that arises during software modification. This paper reviews the existing

approaches for anti-pattern detection and correction.

Keywords: Anti-patterns, Code smell, Software refactoring

INTRODUCTION

Nowadays, we are living in the age of technology, software and gadgets. With the

passage of time, technology and gadgets become outdated and their new and updated versions

become available in the market. Similarly, software also becomes obsolete to cope up with the

changing demand of market. Software needs to be updated with the passage of time by adding

new features and functionality. Software program enrichment, alteration and variation to

accommodate new demands are complicated tasks [1]. These updates are most of the time done

in a hurry by the developers to meet the demanding needs of market and users. Functionality

enhancement of existing software systems always fetches parallel decrease in the quality of

service (QoS) and an increase in difficulty of code [2], [3].

Software must be updated in such a way that there should be no change in overall

functionality. Due to shortage of time and hurry, defects are induced in the design of software

that subsequently degrades the quality of the software systems. There is a need to remove these

defects to maintain the quality of the software systems. The defects that are introduced during

the designing of code can be removed by refactoring process. Refactoring is the process in

which written code is improved in a way that the internal structure of the source code is altered

Page 44: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

38

without varying its external behavior [4]. Basic concept of refactoring is to change different

types of software artifacts.

Refactoring helps to enhance the quality of code by improving reusability,

maintainability and modifiability. It is essential to accumulate the proper expertise, abilities,

strategies, and equipment to completely benefit from refactoring.

Code smells are structural indicators in the code that propose the presence of a problem

in the software code [4]. Code smells make the software maintainability and understandability

hard for developers [5]. Presence of Code smells indicate that refactoring of code is needed.

Code smells are issues that occur when basic qualities of programming are affected; no error

occurs at execution time indicating that there are code sections that need removal or

improvement by refactoring [6]. Code smells do not necessarily affect the functionality of the

software but it is very important to look deeper to dig out if there is an underlying problem.

Code smells don’t give the solution of the problem but they list down the possible refactoring

techniques which can be used to solve them. Code smell detection methods are used to identify

the parts that require refactoring. There are many kinds of code smells and numerous software

refactoring techniques that are available for use. Some design solutions appear to be valuable

for the reconstruction of design in updated procedure of code but their long-term consequences

are harmful for design and quality of code. These design solutions are called anti-patterns.

Anti-patterns are common reoccurring problems of design introduced by developers in

the software projects due to lack of adequate knowledge and experience to resolve a particular

problem of design patterns. Just like code smells occurrence of anti-patterns in system

decreases the quality of systems. Anti-patterns are used to categorize the common problems

and their harmful effects, consequences and preventive measures [7]. Anti-pattern is an

industry terminology for commonly occurring mistakes in software projects [8]. Presence of

anti-patterns obstructs the maintenance process and escalates the risk of faults in the systems.

Anti-patterns have negative impact on the system as they are poor programming practices.

Anti-pattern examination is a fundamental need of any software development procedure. Prior

knowledge of anti-patterns assists proficiency to prevent them or to recuperate from them. The

structures having anti-patterns are much significantly testable. Presence of anti-patterns in any

system is a strong indicator of presence of bugs in the system design. These bugs can bring out

dubiousness of the system. It becomes incredibly critical to check such framework or system.

Anti-patterns hinder the comprehension and maintainability of software [9]. Presence of Anti-

patterns in code also increases the chances of its fault proneness [10], [11].

This paper presents an analysis of techniques and their evaluation metrics from

literature for anti-pattern detection. Open research problems in the area have also been

discussed to implicate new research horizons.

LITERATURE REVIEW

Anti-patterns need to be identified, monitored and removed to improve the

maintainability and comprehension. It is not an easy task and becomes a challenge for complex

Page 45: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

39

and large systems. Literature survey is conducted to review different types of anti-patterns,

their characteristics, detection techniques and detailed comparison. All these are discussed in

detail in this section.

ANTI-PATTERNS

There are more than thirty kinds of anti-patterns identified by different researchers [4],

[8]. Only those anti-patterns have been discussed here that have tools and techniques proposed

for their detection.

Blob/God Class

Blob / God class is a class having too much responsibilities i.e. it has a lot of attributes

and methods.

Feature ENVY

Feature envy is a class that takes more interest in some other class. Such a class is

largely reliant on the ‘envied’ class. Cohesion of envied class is reduced due to the feature

envy.

Duplicate Code/Clone Code

These are classes with same code structure at multiple places in a code. Duplicate code

effects comprehensibility and maintainability of code. Duplicate code anti-pattern is difficult

to detect because different copies of same feature suffers from different changes during

evolution. If a change is desired in a duplicated feature then it has to be made with great care

at all the places in code, thus increasing the effort to change the code. These anti-patterns effect

stability and also increase fault proneness of code.

Refused Bequest

This anti-pattern occurs when the interface of superclass is not supported by the

subclass [4]. It usually is the case when the inherited class overrides too many methods of the

inherited class.

Divergent Change

This is class which is most changed out of all the classes present in the code. Each time

it is changed in multiple ways for different reason. Such classes have low cohesion.

Shotgun Surgery

This anti-pattern is present whenever a little change is desired but one has to do lot of

changes in many different classes [4]. Such anti-patterns are difficult to detect.

Page 46: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

40

Parallel Inheritance Hierarchies

Parallel inheritance hierarchies occur in the cases when a subclass formation of one

class leads to subclass formation of another class.

Functional Decomposition

This anti-pattern exists when inheritance and polymorphism are poorly used in a class.

Such classes use private fields and create very few methods [12].

Spaghetti Code

This anti-pattern is present when code contains complex methods without any

parameters. Classes interact using instance variables [12]. Spaghetti code is usually

encountered when procedural programming approach is adapted.

Swiss Army Knife

It is a highly complex class with lot of responsibilities. This is the case when a class has

multiple complex methods with lot of interfaces. This anti-pattern is usually confused with blob

but both are different in nature. Blobs are self-centered and work for themselves but the Swiss

army knife works for others.

Type Checking

This anti-pattern refers to the class that implements complicated conditional statements.

They affect the maintainability and understanding of the code. The resulting problems tend to

multiply over time.

CHARACTERISTICS OF ANTI-PATTERNS, THEIR IDENTIFICATION AND

EXTRACTION

Three types of characteristics are commonly used for identification of anti-patterns;

structural, lexical and historical characteristics. Structural characteristics are usually extracted

by analyzing the code. Lexical characteristics are usually extracted using Natural Language

Processing (NLP) and Information Retrieval (IR) methods. Extraction of historical

characteristics requires data mining of software repositories. The methods to extract these

characteristics are discussed in detail in this section.

Structural Characteristics Extraction

Structural characteristics can be extracted by analyzing method calls, shared variable

instances and inheritance variables. Method call analysis can be done using Call-based

Dependence between Methods (CDM) [13], Information flow-based Coupling (ICP) [14],

Message Passing Coupling (MCP) [15] and Coupling Between Object classes (CBO) [15].

CDM is the most widely used technique to extract structural characteristics from code. It

Page 47: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

41

represents the coupling of methods. It has been used in different researches to identify feature

envy [16], [17], blob [18]– [20], refused bequest [21], type checking [22], divergent change

[23] and shotgun surgery [23].

Shared instance-based analysis can be implemented by finding out the structural

similarity between methods (SSM) [24] or by using lack of cohesion of methods (LCOM) [25].

Researchers have used shared instance-based analysis to detect blob [13], [26] and spaghetti

[26] anti-patterns from code. Analysis of relationships between two classes makes use of a

Boolean value to indicate the presence of inheritance between two classes. This method has

been utilized by researchers to detect parallel inheritance [27] and refused bequest [21].

Lexical Characteristics Extraction

Lexical characteristics are extracted using latent semantic indexing (LSI) [28], [29],

that looks for the textual similarity. Feature envy [16] and blob [13] have been detected using

lexical characteristics analysis.

Historical Characteristics Extraction

Different mining techniques are used to analyze software repositories for extraction of

historical characteristics. Co-changes either at the file level or method level are analyzed to

extract historical features of a code. Mining of log files is done using configuration

management tools (CMTs) [30] to analyze co-changes at file level. For analyzing co-changes

at method level a tool named Markos project [31] is used.

ANTI-PATTERN DETECTION APPROACHES

There exist many approaches for anti-pattern detection. These approaches have been

grouped into classes based on the searching techniques and characteristics used. Some of the

commonly used methods are discussed in this section.

Heuristic Based Approaches

These approaches use software metrics to detect anti-patterns. Cohesion and coupling

are used to determine blobs in code [25]. Example of such a detection tool is DÉCOR [26] that

uses rule cards to detect blobs. Another system named Marinescu [32] uses cohesion, coupling,

absolute and relative threshold to discriminate blob and clean classes.

Structural Characteristics Based Approaches

Researchers often use structural characteristics of the code to detect anti-patterns. Move

method refactoring (MMR) [16], [17] uses structural information to transfer a method to a

particular class if the method uses more features of that class. JDeodorant [22] is a tool that

uses MMR to remove feature envy from code. JDeodorant is also used to identify type checking

and blob anti-pattern [18], [20], [22]. Syntactic or structural similarity can also be found using

abstract syntax tree (AST) [33]. AST is traversed to calculate the referencing classes for each

Page 48: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

42

field, so that feature envy can be identified. Many approaches have been proposed to identify

duplicate / clone code by finding out syntactic or structural similarity using AST [12], [34],

[35]. Static analysis of the source code and dynamic evaluation of unit test are used to detect

refused bequest [4], [21]. Structural properties can also be used to find out probabilities cdegree

[23] to calculate change propagation probability (DCPP). DCPP helps to identify divergent

change and shotgun surgery from code.

Historical Characteristics Based Approaches

Historical characteristics along with the structural characteristics of code are used to

identify blobs, feature envy, divergent change, shotgun surgery and parallel inheritance

hierarchies [27]. For blobs, regardless the type of change the date of change as indicated by

code history log can give useful information. For feature envy detection, researchers lookout

for a method that undergo alterations more often with an envied class on its own. Divergent

classes are detected as multiple sets of methods, each set containing all the methods that change

together but independently from methods in other classes. If a method changes with several

other methods in other classes then it is considered to be shotgun surgery anti-pattern.

Lexical Characteristics Based Approaches

These approaches use software metrics to detect anti-patterns. Cohesion and coupling

are used to determine blobs in code [25]. Example of such a detection tool is DÉCOR [26] that

uses rule cards to detect blobs. Another system named Marinescu [32] uses cohesion, coupling,

absolute and relative threshold to discriminate blob and clean classes. CCFinder [36] is a tool

that uses lexical characteristics to identify duplicate clone code. Parallel inheritance hierarchies

can be identified using lexical characteristics [4].

Mixed Approaches

These approaches use software metrics to detect anti-patterns. Cohesion and coupling

are used to determine blobs in code [25]. Example of such a detection tool is DÉCOR [26] that

uses rule cards to detect blobs, spaghetti code, swiss army knife and functional decomposition

from code. Trees and syntactic analysis are combined to detect duplicate code. DECKARD is

a tool that uses the same approach [37]. For borderline classes, while detecting blobs, rule cards

are converted to Bayesian network of metric values [19]. Researchers applied the same

approach but used signatures to determine similarity instead of rule cards for blob detection

[20]. Most of the time rules are combination of different properties like quantitative, structural

and lexical manifestations [24]. An automated anti-pattern detection approach based on

detection rules is proposed by Kessentini et al. [38]. Another anti-pattern detection approach

is proposed based on Prolog rules [39].

Goal-Question-Metric (GQM) based approach deliberately builds Bayesian Belief

Networks (BBNs) to distinguish detection of anti-patterns in projects [19]. Oliveto et al.

proposed a technique based on numerical analysis for anti-patterns detection using B-Splines

(ABS) [20]. Logic based approach using prolog predicates is also used to detect structural and

behavioral aspects of anti-patterns by researchers [39]. Palladio architectural models are used

Page 49: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

43

by Trubiani et al. for detecting and solving performance anti-patterns [40]. A metrics-based

approach is also used for the identification of the area for code improvement [41]. Detection

algorithms are also proposed from conditions using domain-specific language [26].

Automatic refactoring tools can be used to increase the quality of code [42]. Graphical

user interface (GUI) based testing technique is proposed for computerization testing [43].

Genetic programming is used to detect web service anti-patterns [44]. Support vector machines

(SVM) are also used for anti-pattern detection [45]. Process models for control-flow anti-

patterns are devised by Han et al. [46].

COMPARISON

A detailed comparison of techniques for anti-pattern detection and correction as well as

of the research work conducted by different researchers is conducted. Summarized tables of

both comparisons for anti-pattern detection and correction are given.

COMPARISON OF DIFFERENT ANTI-PATTERN DETECTION APPROACHES

A comparison of anti-pattern detection approaches to improve system code, their

advantages and limitations are given in Table 1. Different factors are considered for comparison

like refactoring approach, types of anti-patterns detected, tools used in detection process,

methodology adopted, system on which the technique is evaluated. It is obvious from the

comparison that most of the work is inclined towards automated detection and in combinational

field the major advantage of automated refactoring in anti-pattern detection is time saving mode

as compared to semi-automated or manual detection.

COMPARISON OF DIFFERENT ANTI-PATTERN CORRECTION APPROACHES

As mentioned earlier that there is very little work found in literature for correction

purpose of anti-pattern. The comparison of anti-pattern correction approaches to improve

system code, their advantages and limitations are given in Table 2. Different factors are

considered for comparison like refactoring approach, types of anti-patterns corrected, tools

used in correction process, methodology adopted, system on which the technique is evaluated.

It is evident from the comparison that new approaches are inclined towards automated

correction and in combinational field the major advantage of automated refactoring in anti-

pattern correction is time saving mode as compared to semi-automated or manual detection.

Page 50: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

44

Page 51: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

45

Page 52: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

46

Page 53: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

47

Page 54: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

48

Page 55: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

49

Page 56: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

50

Page 57: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

51

Page 58: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

52

FUTURE DIRECTIONS

While taking anti-patterns refactoring into consideration there is a lack of detailed

correction approach to correct anti-patterns in source code to improve the quality of code and

to minimize testing efforts. An approach that can first detect and then correct the detected anti-

patterns for minimizing testing efforts will be very helpful. With the help of automated

correction approach developers can modify the project very easily while keeping testing efforts

low and service quality of system high. The continuous involvement of developer is

compulsory for source code related projects. Therefore, if correction approach is used to

manage anti-patterns in source code it will be a remarkable contribution.

Linguistic anti-patterns [55] are attracting many researchers nowadays. Inappropriate

or missing comments, ambiguous selection of identifiers and poorly used coding standards

increase the risk of presence of anti-patterns in code [56]–[61]. Design patters focus on

reoccurring problems of code while linguistic anti-patterns emphasize on symptoms and their

consequences.

Most of the identification systems rely on the static analysis of code. There is a need to

dynamically analyze the behavior of code and extract the characteristics accordingly. Historical

characteristics should also be incorporated with structural characteristics to improve precision

of the identification systems.

CONCLUSION

With the rapidly moving technology market, the software also needs to evolve day by

day to meet the changing market and user needs. Several approaches are proposed for anti-

pattern detection at different levels of software lifecycle. There is a need of an automated anti-

pattern correction approach that can help the developers in developing and modifying software.

REFERENCES

[1] D. Coleman, D. Ash, B. Lowther, and P. Oman, “Using metrics to evaluate software

system maintainability,” Computer, vol. 27, no. 8, pp. 44–49, Aug. 1994.

[2] A. Garrido, G. Rossi, and D. Distante, “Refactoring for usability in web applications,”

IEEE Softw., vol. 28, no. 3, pp. 60–67, 2011.

[3] I. Balaban, F. Tip, and R. Fuhrer, “Refactoring support for class library migration,” in

ACM SIGPLAN Notices, 2005, vol. 40, no. 10, pp. 265–279.

[4] M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts, Refactoring: Improving the

design of existing code. Addison-Wesley Professional, 1999.

[5] J. Padilha, J. Pereira, E. Figueiredo, J. Almeida, A. Garcia, and C. Sant’Anna, “On the

effectiveness of concern metrics to detect code smells: an empirical study,” in Int.

Conf. Advanced Information Systems Engineering, 2014, pp. 656–671.

Page 59: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

53

[6] J. Fields, S. Harvie, M. Fowler, and K. Beck, Refactoring: Ruby Edition. Pearson

Education, 2009.

[7] M. H. Dodani, “Patterns of Anti-Patterns” J. Object Technol., vol. 5, no. 6, pp. 29–33,

2006.

[8] W. H. Brown, R. C. Malveau, H. W. McCormick, and T. J. Mowbray, AntiPatterns:

refactoring software, architectures, and projects in crisis. John Wiley & Sons, Inc.,

1998.

[9] M. M. Lehman, “On understanding laws, evolution, and conservation in the large-

program life cycle,” J. Syst. Softw., vol. 1, pp. 213–221, 1979.

[10] F. Khomh, M. Di Penta, Y.-G. Guéhéneuc, and G. Antoniol, “An exploratory study of

the impact of antipatterns on class change-and fault-proneness,” Empir. Softw. Eng.,

vol. 17, no. 3, pp. 243–275, 2012.

[11] W. Li and R. Shatnawi, “An empirical study of the bad smells and class error

probability in the post-release object-oriented system evolution,” J. Syst. Softw., vol.

80, no. 7, pp. 1120–1128, 2007.

[12] I. D. Baxter, A. Yahin, L. Moura, M. Sant’Anna, and L. Bier, “Clone detection using

abstract syntax trees,” in Proc. Int. Conf. Software Maintenance, 1998, pp. 368–377.

[13] G. Bavota, A. De Lucia, and R. Oliveto, “Identifying extract class refactoring

opportunities using structural and semantic cohesion measures,” J. Syst. Softw., vol.

84, no. 3, pp. 397–414, 2011.

[14] Y. Lee, B. S. Liang, S. F. Wu, and F. J. Wang, “Measuring the coupling and cohesion

of an object-oriented program based on information flow,” in Proc. Intl. Conf.

Software Quality, 1995, pp. 81–90.

[15] W. Li and S. Henry, “Maintenance metrics for the object oriented paradigm,” in Proc.

First Int. Symp. Software Metrics, 1993, pp. 52–60.

[16] G. Bavota, R. Oliveto, M. Gethers, D. Poshyvanyk, and A. De Lucia, “Methodbook:

Recommending move method refactorings via relational topic models,” IEEE Trans.

Softw. Eng., vol. 40, no. 7, pp. 671–694, 2014.

[17] N. Tsantalis and A. Chatzigeorgiou, “Identification of move method refactoring

opportunities,” IEEE Trans. Softw. Eng., vol. 35, no. 3, pp. 347–367, 2009.

[18] M. Fokaefs, N. Tsantalis, E. Stroulia, and A. Chatzigeorgiou, “Identification and

application of extract class refactorings in object-oriented systems,” J. Syst. Softw.,

vol. 85, no. 10, pp. 2241–2260, 2012.

[19] F. Khomh, S. Vaucher, Y.-G. Guéhéneuc, and H. Sahraoui, “A bayesian approach for

the detection of code and design smells,” in 9th Int. Conf. Quality Software (QSIC’09),

2009, pp. 305–314.

[20] R. Oliveto, F. Khomh, G. Antoniol, and Y.-G. Guéhéneuc, “Numerical signatures of

antipatterns: An approach based on b-splines,” in 14th European Conf. Software

Maintenance and Reengineering (CSMR 2010), 2010, pp. 248–251.

Page 60: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

54

[21] E. Ligu, A. Chatzigeorgiou, T. Chaikalis, and N. Ygeionomakis, “Identification of

refused bequest code smells,” in IEEE Int. Conf. Software Maintenance, 2013, pp.

392–395.

[22] N. Tsantalis, T. Chaikalis, and A. Chatzigeorgiou, “JDeodorant: Identification and

removal of type-checking bad smells,” in 12th European Conf. Software Maintenance

and Reengineering (CSMR 2008), pp. 329–331.

[23] A. A. Rao and K. N. Reddy, “Detecting bad smells in object-oriented design using

design change propagation probability matrix,” in Int. Multi Conf. of Engineers and

Computer Scientists, 2008, vol. I, pp. 1001–1007.

[24] G. Gui and P. D. Scott, “Coupling and cohesion measures for evaluation of component

reusability,” in Proc. 2006 Int. Workshop Mining Software Repositories, 2006, pp. 18–

21.

[25] S. R. Chidamber and C. F. Kemerer, “A metrics suite for object-oriented design,”

IEEE Trans. Softw. Eng., vol. 20, no. 6, pp. 476–493, 1994.

[26] N. Moha, Y.-G. Gueheneuc, A.-F. Duchien, and Others, “Decor: A method for the

specification and detection of code and design smells,” IEEE Trans. Softw. Eng., vol.

36, no. 1, pp. 20–36, 2010.

[27] F. Palomba, G. Bavota, M. Di Penta, R. Oliveto, A. De Lucia, and D. Poshyvanyk,

“Detecting bad smells in source code using change history information,” in Proc. 28th

IEEE/ACM Int. Conf. Automated Software Engineering, 2013, pp. 268–278.

[28] A. Marcus, D. Poshyvanyk, and R. Ferenc, “Using the conceptual cohesion of classes

for fault prediction in object-oriented systems,” IEEE Trans. Softw. Eng., vol. 34, no.

2, pp. 287–300, 2008.

[29] D. Poshyvanyk, A. Marcus, R. Ferenc, and T. Gyimóthy, “Using information retrieval-

based coupling measures for impact analysis,” Empir. Softw. Eng., vol. 14, no. 1, pp.

5–32, 2009.

[30] A. Leon, Software configuration management handbook. Artech House, 2015.

[31] A. Laskowska, J. G. Cruz, I. Kedziora Pawełand Lener, B. Lewandowski, C. Mazurek,

and M. Di Penta, “Best practices for validating research software prototypes-

MARKOS case study,” in Conf. eChallenges (e-2014), 2014, pp. 1–9.

[32] R. Marinescu, “Detection strategies: Metrics-based rules for detecting design flaws,”

in Proc. 20th IEEE Int. Conf. Software Maintenance, 2004, pp. 350–359.

[33] C. De Roover, T. D’Hondt, J. Brichau, C. Noguera, and L. Duchien, “Behavioral

similarity matching using concrete source code templates in logic queries,” in Proc.

2007 ACM SIGPLAN Symp. Partial evaluation and semantics-based program

manipulation, 2007, pp. 92–101.

[34] I. D. Baxter, C. Pidgeon, and M. Mehlich, “DMS®: Program transformations for

practical scalable software evolution,” in Proc. 26th Int. Conf. Software Engineering,

2004, pp. 625–634.

Page 61: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

55

[35] V. Wahler, D. Seipel, J. Wolff, and G. Fischer, “Clone detection in source code by

frequent itemset techniques,” in Fourth IEEE Int. Workshop on Source Code Analysis

and Manipulation, 2004, pp. 128–135.

[36] T. Kamiya, S. Kusumoto, and K. Inoue, “CCFinder: A multilinguistic token-based

code clone detection system for large scale source code,” IEEE Trans. Softw. Eng.,

vol. 28, no. 7, pp. 654–670, 2002.

[37] L. Jiang, G. Misherghi, Z. Su, and S. Glondu, “Deckard: Scalable and accurate tree-

based detection of code clones,” in Proc. 29th Int. Conf Software Engineering, 2007,

pp. 96–105.

[38] M. Kessentini, W. Kessentini, H. Sahraoui, M. Boukadoum, and A. Ouni, “Design

defects detection and correction by example,” in 19th IEEE Int. Conf. Program

Comprehension, 2011, pp. 81–90.

[39] A. Stoianov and I. Sora, “Detecting patterns and antipatterns in software using Prolog

rules,” in Int. Joint Conf. Computational Cybernetics and Technical Informatics

(ICCC-CONTI 2010 ), 2010, pp. 253–258.

[40] C. Trubiani and A. Koziolek, “Detection and solution of software performance

antipatterns in palladio architectural models,” in ACM SIGSOFT Software Engineering

Notes, 2011, vol. 36, no. 5, pp. 19–30.

[41] K. Dhambri, H. Sahraoui, and P. Poulin, “Visual detection of design anomalies,” in

Proc. European Conf. Software Maintenance and Reengineering, CSMR, 2008, pp.

279–283.

[42] G. Szoke, C. Nagy, R. Ferenc, and T. Gyimóthy, “Designing and developing

automated refactoring transformations: An experience report,” in IEEE 23rd Int. Conf.

Software Analysis, Evolution, and Reengineering (SANER 2016), 2016, vol. 1, pp.

693–697.

[43] H. Kaur and P. J. Kaur, “A GUI based unit testing technique for antipattern

identification,” in 5th Int. Conf.-The Next Generation Information Technology Summit

(Confluence), 2014, pp. 779–782.

[44] A. Ouni, M. Kessentini, H. Sahraoui, and M. Boukadoum, “Maintainability defects

detection and correction: A multi-objective approach,” Autom. Softw. Eng., vol. 20, no.

1, pp. 47–79, 2013.

[45] A. Maiga et al., “Support vector machines for anti-pattern detection,” in Proc. 27th

IEEE/ACM Int. Conf. Automated Software Engineering (ASE), 2012, pp. 278–281.

[46] Z. Han, P. Gong, L. Zhang, J. Ling, and W. Huang, “Definition and detection of

control-flow anti-patterns in process models,” in IEEE 37th Annu Computer Software

and Applications Conf. Workshops (COMPSACW), 2013, pp. 433–438.

[47] Z. Ujhelyi et al., “Anti-pattern detection with model queries: A comparison of

approaches,” in IEEE Conf. Software Maintenance, Reengineering and Reverse

Engineering (CSMR-WCRE), 2014 Software Evolution Week, 2014, pp. 293–302.

[48] R. Fourati, N. Bouassida, and H. Ben Abdallah, “A metric-based approach for anti-

Page 62: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches

56

pattern detection in UML designs,” in Computer and Information Science 2011,

Springer, 2011, pp. 17–33.

[49] S. H. Tan, H. Yoshida, M. R. Prasad, and A. Roychoudhury, “Anti-patterns in search-

based program repair,” in Proc. 24th ACM SIGSOFT Int. Symposium Foundations of

Software Engineering, 2016, pp. 727–738.

[50] R. Morales, “Towards a framework for automatic correction of anti-patterns,” in IEEE

22nd Int. Conf. Software Analysis, Evolution and Reengineering (SANER), 2015, pp.

603–604.

[51] N. Moha, J. Rezgui, Y.-G. Guéhéneuc, P. Valtchev, and G. El Boussaidi, “Using FCA

to suggest refactoring to correct design defects,” in Concept Lattices and Their

Applications, Springer, 2008, pp. 269–275.

[52] M. T. Llano and R. Pooley, “UML specification and correction of object-oriented anti-

patterns,” in Fourth Int. Conf. Software Engineering Advances, 2009, pp. 39–44.

[53] D. K. Saini, L. A. Hadimani, and N. Gupta, “Software testing approach for detection

and correction of design defects in object-oriented software,” J. Comput., vol. 3, no. 4,

2011.

[54] N. Moha, “Detection and correction of design defects in object-oriented designs,” in

Companion to the 22nd ACM SIGPLAN Conf. Object-oriented Programming Systems

and Applications Companion, 2007, pp. 949–950.

[55] V. Arnaoudova, M. Di Penta, G. Antoniol, and Y.-G. Gueheneuc, “A new family of

software anti-patterns: Linguistic anti-patterns,” in 17th European Conf. Software

Maintenance and Reengineering (CSMR 2013), 2013, pp. 187–196.

[56] Caprile and Tonella, “Restructuring program identifier names,” in Proc. Int. Conf.

Software Maintenance ICSM-94, 2000, pp. 97–107.

[57] F. Deisenbock and M. Pizka, “Concise and consistent naming,” in 13th Int. Workshop

on Program Comprehension (IWPC’05), 2005, pp. 97–106.

[58] D. Lawrie, C. Morrell, H. Feild, and D. Binkley, “Effective identifier names for

comprehension and memory,” Innov. Syst. Softw. Eng., vol. 3, no. 4, pp. 303–318,

2007.

[59] D. Lawrie, C. Morrell, H. Feild, and D. Binkley, “What’s in a name? a study of

identifiers,” in 14th IEEE Int. Conf. Program Comprehension (ICPC), 2006, pp. 3–12.

[60] E. Merlo, I. McAdam, and R. De Mori, “Feed-forward and recurrent neural networks

for source code informal information analysis,” J. Softw. Maint. Evol. Res. Pract., vol.

15, no. 4, pp. 205–244, 2003.

[61] S. W. Thomas, B. Adams, A. E. Hassan, and D. Blostein, “Modeling the evolution of

topics in source code histories,” in Proc. 8th Working Conf. Mining Software

Repositories, 2011, pp. 173–182.

Page 63: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

57

Data Classification Using Variation of Genetic

Programming Fitness Function

SAFEENA RAZAQ*, MUHAMMAD WAQAR ASLAM, SARISH ABID,

BASHARAT MANZOOR

Computer System Engineering Department, Mirpur University of Science and Technology

(MUST) Mirpur, AJK, Pakistan

*Corresponding author’s email: [email protected]

Abstract

Genetic Programming (GP) is a technique that deals with evolving computer

programs using biologically inspired methods. GP is a set of instruction and a fitness function

to evaluate the best solution. The objective of GP is to find a computer program capable of

solving a predefined problem. GP has capability to select the useful features for the new

generation and discard the unwanted features during evolution. In this paper, GP is used for

real world classification problems. Five real world problems are used to evaluate the GP

performance. In this paper, Gaussian Distribution Criteria, Standard Accuracy Method,

Average Class Accuracy Method and Artificial Neural Networks (ANN) are used for the

evaluation of fitness function for binary classification problems. A number of experiments

are carried out to evaluate and compare the results obtained from GP. Results prove that GP

(ANN) provide a better accuracy as compared to others methods.

Keywords: Genetic Programming (GP), Artificial Neural Networks (ANN), Binary

classification

INTRODUCTION

Data classification is receiving increasing interest for their applicability in various real-

life domains, such as medical diagnosis, image recognition and decision making. It is a difficult

task because of uncertainty and unpredictability of variable data. Genetic Programming (GP)

is a relatively new and fast developing algorithm, based on the process of biological evolution.

It has been specially designed for automatically generating and developing computer programs.

GP randomly generates initial population of individuals. Fitness values for individuals is

calculated and the best individual (in term of fitness) will be selected for the next generation.

GP has the intrinsic ability to select valuable features and discard others. Preprocessing step is

not required for GP. This flexible and interesting technique has been applied to solve complex

problem like classification. GP was found to be successful for classification problems and has

emerged as a powerful tool for classifier evolution [1].

Page 64: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

58

In the past, GP has been applied for some classification problems [2]–[5]. A survey was

given on the application of genetic programming for classification purpose [2]. Four fitness

functions to deal with the shortcomings of standard GP function and two approaches for binary

classification with the unbalanced data were presented in [6] by Bhowan et al. It was reported

that the evolved classifier performed poorly using standard GP fitness as compared to the

improved fitness functions.

Genetic programming has also been successfully applied to real world applications,

such as Optical Character Recognition (OCR) [7] and image and signal processing [8]. Handley

[9] used GP to predict the shape of proteins. He was able to evolve programs which, using the

protein’s chemical composition, were able to predict whether each part of protein would have

a particular geometric shape or not. Andre [10] used GP to evolve programs that were capable

of storing a representation of their environment (map-making), and then using that

representation to control a simulated robot in that environment. In his experiments, he was able

to evolve solutions yielding 100% fitness. Handley [11] used GP to generate plans for a

simulated mobile robot. Das et al., [12] uses genetic programming to generate sounds and

three-dimensional shapes.

An impressive GP-supported image processing algorithm was presented by Daida et

al., in [13]. Design of electrical circuits using GP was presented by Koza [14] where GP was

successfully evolved for a large number of circuits with impressive results. Resistors,

capacitors, inductors and functions for making parallel or series connections were used in the

function pool. Many human competitive solutions have been synthesized using this system

[15]. Some other popular examples are speech processing, communications in general, DNA

pattern recognition, weather prediction, etc.

Nandi suggested a method for the diagnosis of breast cancer using the feature generated

by GP [16] . A method for the classification of diabetes using a Modified Artificial Immune

Recognition System2 (MAIRS2) is proposed in [17]. A number of techniques for handling

imbalanced data sets using various data sampling methods and Meta Cost learners on six open-

source data sets are presented in [18]. In algorithmic level methods, new algorithms are created

which are adapted to the nature of imbalanced data sets. Gravitational Fixed Radius Nearest

Neighbor Algorithm (GFRNN) is an algorithmic level method developed with the aim of

enhancing k nearest neighbor classifier to acquire the ability of dealing with imbalanced data

sets in [19]. Different aspects of imbalanced learning such as classification, clustering,

regression, mining data streams and big data analytics, providing a thorough guide to emerging

issues in these domains were discussed in [20].

Mohamad et al., used the technique of Artificial Neural Network using back-

propagation algorithm for classification of banknote authentication dataset [21]. Chen et al.,

proposed a new feature selection method based on permutation to select features for high

dimensional symbolic regression using GP [22]. In [23] Aslam and Nandi used GP for the

diabetes classification. They used a modified version of GP called Comparative Partner

Selection (CPS) for diabetes detection. They used Pima Indian Diabetes Dataset (PIDD) for

Page 65: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

59

this classification. Their results suggest that GP based classifiers can help in the diagnosis of

diabetes disease.

Muni et al. [24] presented an online feature selection algorithm using GP. Feature

Selection (FS) is a process to select the best features necessary to solve a problem. They used

fitness function to achieve the readability of the trees extracted by the system. Through the

output of the algorithm, they obtained a ranking of the features. A detailed analysis and

comparison between different fitness functions in terms of performance and computational

complexity are explained in this paper. Aslam et al. proposed an algorithm that uses GP with

KNN classifier for automatic modulation classification [25]. This algorithm was used to

identify BPSK, QPSK, 16QAM and 64QAM modulation.

In this paper, we have evaluated different fitness functions for few classification

problems. The purpose of this study is to give a comparative analysis between different fitness

functions in terms of classification accuracy and computational complexity.

FITNESS EVOLUTION METHODS

The fitness function is very important parameter of an individual to judge its position

in population. The goal of fitness function is to help GP find, which individuals should be

given chance to reproduce and multiply and which individuals should be removed from the

population. In this section we will discuss different fitness function that can be used for binary

classification in GP.

1. Gaussian Distribution

For getting the best possible GP solution for binary class, threshold value (overlapping

point between two distributions) must be classified for each GP solution so that the accuracy

can be maximized. In this technique, the probability distribution function for each class is

found. The classification task is modeled as Gaussian distribution; its equation is given as

follows: 2

2

1 ( )( , , ) exp( )

22

x cc c x

cc

− −= (1)

Where c implies the mean of class and c is the standard deviation of that class and

x is the output of GP individual when evaluated on any input instance. Using the value of ,

all the samples lying on the wrong side of distribution will be classified as wrong distribution.

The steps for classifying the class labels are:

i. Firstly, using training data, calculate the output of GP individuals for classes.

ii. Calculate the mean and the standard deviation of each class from GP individual’s output.

Page 66: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

60

iii. Using corresponding mean and standard deviation, calculate the two φ values for every

sample for each class.

iv. At last the class having larger value of φ, will be the class of this sample.

Figure 1: Gaussian distribution

Standard GP Fitness Function

Standard GP fitness function takes overall classification accuracy as fitness function of

GP individual. This is simply the number of examples for all classes that are correctly

classified by a classifier as a fraction of the total number of training examples for the

classification problems. The classification accuracy is defined as

𝐴𝑐𝑐 =𝑇𝑃+𝑇𝑁

𝑇𝑃+𝐹𝑁+𝑇𝑁+𝐹𝑃 (2)

When calculating the overall accuracy in unbalanced datasets, this measure consider all

examples as equally important, does not take into account that the number of examples in the

minority class can be much smaller than in the majority class. Biased classifiers which have

poor accuracy on the minority class but high majority class accuracy, can also have a high

overall accuracy due to the influence of majority class examples. For example, in imbalance

problem only 10% of samples belong to minority class, classifiers without discrimination

capacity can give a high fitness by classifying all the cases as the member of the majority class.

Accuracy is commonly used to train classifiers, and it can be applied to both binary and multi

Page 67: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

61

class classifiers. However, it is sensitive to class size distribution, and generally a poor choice

when there is a significant class size variation [26].

Average Class Accuracy in Fitness

Average classification accuracy 𝐴𝑣𝑒, uses weighted average of the majority and

minority class accuracy in fitness function.

𝐴𝑣𝑒 = W ×𝑇𝑃

𝑇𝑃+𝐹𝑁+ (1 − W) ×

𝑇𝑁

𝑇𝑁+𝐹𝑃 (3)

In Ave, the weighting factor controlling the contribution of any class in the fitness

function. The value of W varies between 0 and 1. When W is 0.5, then the accuracy of both

classes is considered as equally important. When W > 0.5, minority class accuracy will

contribute more in the fitness function than majority class. Similarly, majority class will

contribute more when W < 0.5. Many practitioners have applied equal weighting (i.e. W = 0.5)

in [27]–[29]. In this paper, the weighting configuration for 𝑊is between 0.1 to 0.9 with interval

of 0.2 and its effect on the classification accuracy is investigated.

Artificial Neural Networks

ANNs, also known as neural networks is an information system paradigm that is

inspired by a mathematical model of biological neural networks [30], [31]. In ANN we have a

network of simple processing elements which are connected to each other via weighted links.

Inputs are fed to the input unit and as a result of computation done in this unit, the outputs are

produced.

The ANN has two modes of operations, training and testing mode. The training dataset

has to be a representative collection of input-output examples. A highly favored algorithm

known as back propagation algorithm is used to do the training of algorithm in which error

function is used as a cost function for the modification of the weights of neurons [32]. Back

propagation training is a gradient decent algorithm. It attempts to bring improvements in the

performance of the neural net while decreasing the error along with its gradients. Sometimes,

a validation phase is also required. A validation error is calculated using the validation data. If

the validation error remains persistent for a predefined period, regardless of the fact that

training error is reducing, the network is considered to be over-fitting the test data. If such

situation is encountered, the training process is interrupted and the parameters of the network

are reverted to the value that gave the minimum validation error. After completing the training

and validation phase, trained network’s performance is tested by making use of test data. A

well-trained classifier should perform well for all data sets (training, validation and testing).

In this paper machine learning classifiers ANN is used with GP for evaluating the

fitness of the individual. The inverse of the number of errors made by ANN is taken as fitness

of individual where higher fitness means better individual. The best individual returned by GP

Page 68: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

62

(ANN) is tested by ANN during testing phase. The results of different datasets obtained by

using ANN with GP are mentioned in next section.

DATASETS

Pima Indian Diabetes Dataset

The Pima dataset contains 768 instances with two labels: diabetic or non-diabetic. This

dataset consists of 768 patient’s medical report. In total 768 individuals, all are female patients

in which 500 individuals are non- diabetic and 268 individuals are diabetic. The dataset of 768

individuals is divided in two sets. One set is for training and the second set is for testing. The

dataset consists of 8 attribute values. The result will be based on two possible outcomes,

whether the patient is tested positive for diabetes or negative for non- diabetes.

Indian Liver Patient Dataset

The ILP dataset contains 583 instances with class distribution: liver patient and non-

liver patient. In this dataset 416 instances are liver patient and 167 instances are non-liver

patient, out of these 524 instances are used for training and 59 instances for testing. Liver

patients are considered true positives and non-liver patient as true negative.

Ionosphere Dataset

The courtesy of system in Goose Bay, Labrador from which the radar data was

collected. There is phase array of 16 high frequency antennas in this system. The total

transmitted power of this system is of the order of 6.4 kilowatts. The target of this system was

to hit free electron in the ionosphere. If some evidence of existence of some type of structure

in the ionosphere is found it is stated as "Good" radar returns and for those that do not are "Bad"

returns. Auto correlation functions are used to deal with received signals. There are 17 numbers

of pulses for the system. Two attributes are used to describe instances in this dataset i.e., two

attributes per pulse number. There are total of 351 instances for this dataset, in which the Bad

class consists of 126 individuals and the Good class consists of 225 cases.

SPECT Heart Dataset

Single Photon Emission Computed Tomography (SPECT) heart contain 267 records

from SPECT images. Two classes in this dataset, one is normal and the second is abnormal.

There are 267 SPECT images set of patient’s features in the dataset. The counts for continuous

binary feature pattern is 22. All attributes have continuous integer values from 0 to 100. No

missing values in this dataset. Out of 267 cases 55 cases were classified as Class 1, and 212

cases were classified in the second class. The total dataset is divided into 90:10 for training and

testing datasets. The SPECT Heart dataset contains 267 instances with class distribution:

Normal and Abnormal, where 55 instances are abnormal and 212 instances are normal.

Page 69: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

63

Banknote Authentication Dataset

The data were obtained from the images taken from specimens of banknotes as genuine

and fake. An industrial camera was used for its digitization. The dimensions of the concluded

images were 400x 400 pixels. Resolution of these images was almost 660 dpi due to distance

to the investigated object and object lens. Features were extracted using wavelet transform. The

source data used 1372 samples with two problems to check class, whether the banknote is

genuine or forged for authentication. Class 1 contains 610 cases and the rest of 762 cases are

under class 2. The Banknote Authentication dataset contains 1372 individuals with class

distribution: Forged and Genuine, where 610 instances are genuine and 762 instances are

forged, out of these 1235 instances are used for training and 137 instances for testing. Forged

are considered as true positive and genuine as true negative.

EXPERIMENTS AND RESULTS

In this section, results are explained using different fitness function on different dataset.

Performance of each classifier is evaluated using three statistical measure i.e. classification

accuracy, specificity and sensitivity. Specificity is specialized for majority class and sensitivity

is for minority class.

Analysis of Average Class Accuracy Fitness Function

In this section the results of different datasets are presented through Average Class

Accuracy Fitness Function. Average Class Accuracy Fitness Function is explained in previous

section. The weighting factor W control the contribution of specificity and sensitivity in fitness

evaluation. The weighting configuration for W is between 0.1 and 0.9 with interval of 0.2. The

results of different datasets achieved through this method are presented in Table 1. As expected,

sensitivity is high for W > 0.5 and specificity is high for W < 0.5. Based on these results it can

be said that a weight favouring the majority class results in best overall classification accuracy.

Analysis of other GP Fitness Function on Test Data

This section focuses on the comparison of different fitness function using datasets from

the UCI machine learning dataset repository [33]. Fitness function tries to separate the two

classes. An overview of the datasets used is given in previous section. The experimental results

depending on their best accuracy, sensitivity, specificity and average running time are specified

in the Table 2. All the datasets are divided into training and testing data by the ratio of 90%

and 10%. The 90% data is used to train the classifiers. After training the classifier GP algorithm

is applied on test dataset to check its accuracy on testing data. All the results are calculated

over 20 runs for 100 generation and 70 individuals. Table 2 shows the average accuracy with

standard deviation for 20 runs, as well as the best accuracy, sensitivity and specificity for each

fitness function.

For Pima dataset, using the GP (ANN) as fitness function obtained the highest accuracy

of 94.8052% whereas Gaussian distribution and standard accuracy achieved 88% and 88.31%

Page 70: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

64

respectively. GP (ANN) is also best suitable for ILPD dataset. Through this method we

achieved the best accuracy of 94 %. Although GP (ANN) produced the highest accuracy for

both datasets, but it does not provide a good balance between sensitivity and specificity.

Specificity that is related to majority class is higher than the sensitivity.

Table 1: Analysis of Average Class Accuracy Fitness Function on Test Data Over 20 Runs

Dataset Weight W Average

Accuracy

Best

Accuracy Sensitivity Specificity

Training

time

Pima

0.1 94.8563±0.6231 95.9778 62.96 89.40 2.6hrs

0.3 87.9533±0.9740 89.7111 67.78 96.60 1hr 50min

0.5 85.7963±1.1924 86.5926 82.59 89.00 1hr 38min

0.7 84.2207±1.0071 85.4047 89.63 71.60 1.5hrs

0.9 91.1067±3.0290 93.8000 98.52 24.40 3hrs

ILPD

0.1 98.3333±0.3723 98.0952 83.33 100 1hr 40min

0.3 94.9286±1.0885 95.7143 83.09 100 1.5hr

0.5 92.3389±0.9631 93.4874 87.62 97.06 1hr 13min

0.7 91.3137±3.0546 94.9020 92.38 88.83 37min

0.9 95.1261±3.5796 97.6471 98.33 65.30 3hrs

Ionosphere

0.1 100±0 100 100 100 6hrs

0.3 99.3182±1.1409 100 97.73 100 5hrs

0.5 96.9697±3.9800 100 93.94 100 4.5hrs

0.7 95.6643±3.3654 100 95.45 96.15 3hrs

0.9 96.4161±2.6295 100 97.73 84.62 3.5hrs

SPECT

Heart

0.1 89.1191±4.1164 93.3333 35.00 94.76 1hr 20min

0.3 84.8333±4.9348 96.6667 78.33 87.62 1hr 20min

0.5 88.4524±5.8604 97.6190 95.00 81.90 2.3hrs

0.7 91.5476±4.7847 95.7143 98.33 75.71 1.8hrs

0.9 97.9524±1.7250 99.0476 100 79.52 2.5hrs

Banknote

0.1 91.0326±1.5806 91.9672 20.98 98.81 31min

0.3 86.2532±6.4236 99.0789 86.72 86.05 8min

0.5 86.4420±10.3486 98.0263 93.28 79.61 10 min

0.7 85.4761±6.6701 98.8185 87.54 80.66 5min

0.9 89.7591±5.0515 95.6299 93.61 55.13 6min

Page 71: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

65

Standard accuracy method and Gaussian distribution method are best for this dataset

because these methods provide a desirable stability between sensitivity and specificity.

Minority class is accurately classified through these methods, and the obtained accuracy

through these methods is also good that is 91%. For Ionosphere dataset, we achieved the best

accuracy that is 100% through GP (ANN) and also using Average Accuracy method. It

accurately classified the minority class because the sensitivity that is related to minority class

is also 100%. Gaussian distribution obtained an accuracy of 96.57% with the best value (from

the 20 runs) of 100% for this dataset.

From Table 2, it is clear that Average Accuracy method and GP (ANN) are best suitable

for SPECT Heart dataset. We achieved the best accuracy through GP (ANN) that is 96.2963%

and 99.0476 % through Average Accuracy method for 𝑊 = 0.9. For this dataset, sensitivity is

always higher than the specificity. GP (ANN) is best suitable for Banknote Authentication

dataset. We achieved 100% accuracy through GP (ANN) method. Sensitivity and specificity

for this data is also 100%. Gaussian distribution is also best for this dataset. Both methods

provide a good balance between sensitivity and specificity. These result shows that the best

accuracy, sensitivity and specificity are achieved by using GP (ANN) with 10 hidden layers.

Table 2: Analysis of GP Fitness Function on Test Data Over 20 Runs

Dataset Fitness

Function

Average

Accuracy

Best

Accuracy Sensitivity Specificity

Training

Time

Pima

Gaussian 86.8831±1.4292 88.3117 77.04 92.20 1hr 21min

Acc 86.4935±1.8569 88.3117 74.81 92.60 55min

ANN 93.5065±0.8214 94.8052 71.60 91.67 3hrs

ILPD

Gaussian 91.6949±4.0307 96.6102 91.91 91.18 1hr 22min

Acc 91.5254±2.2599 93.2203 91.43 91.77 1hr 10min

ANN 92.6553±1.7505 94.9153 66.67 91.27 3hrs

Ionosphere

Gaussian 96.5714±3.9955 100 95.91 97.69 1.4hrs

Acc 94.8572±4.4263 100 95.00 94.62 1hr

ANN 100±0 100 100 100 4hrs

SPECT

Heart

Gaussian 82.9630±1.9126 85.1852 71.67 86.19 40min

Acc 84.4445±3.4035 88.8889 71.67 88.57 52min

ANN 95.6790±1.5120 96.2963 90.48 78.97 3hrs

Banknote

Gaussian 94.8905±3.9682 97.8102 96.06 93.95 1.5hrs

Acc 86.8613±4.2030 95.6204 85.90 84.21 30min

ANN 100±0 100 100 100 3.5hrs

Page 72: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

66

Complexity Analysis

GP classifier may take a long training time on the order of hours or even days for

classification. All the fitness function takes a lot of training time. As our results show that the

Gaussian method takes approximately one and half hour to train the datasets. Standard accuracy

fitness function takes one hour for training the datasets, whereas GP with ANN and Average

class accuracy fitness function take approximately three to four hours for training. This training

time is for 20 runs. Based on the results GP with ANN and Average accuracy methods take a

lot of training time whereas the Standard accuracy fitness function takes less time to train the

datasets. The final solution produced by GP depends on the training time. The complexity of

the classifier depends on the GP returned solution and the complexity of the classifier used for

the testing phase.

CONCLUSION

The experimental results have shown that different fitness function used for

classification purpose behave differently on different datasets. Gaussian method and standard

accuracy method perform poorly for Pima Indian diabetes and SPECT heart dataset, resulting

in low sensitivity and higher specificity. Although the overall accuracy achieved by Gaussian

method and standard accuracy method is good, but the low sensitivity makes it trivial. Both

methods perform well for remaining datasets because it provides a balance between specificity

and sensitivity. The classification technique which has shown the high accuracy rate and

sensitivity for a dataset has been chosen as the best technique for that dataset. From results, it

can be concluded that GP with ANN is most suitable for given tasks. Overall ANN has

achieved remarkable performance with highest accuracies, and provides a good balance

between sensitivity and specificity for most of the datasets. Average accuracy method is close

to second. In all respect GP with ANN is performing well; Hence GP with ANN is

recommended for binary classification irrespective of dataset. As far as the complexity is

concerned, GP with ANN takes more training time, and ANN complexity increases with

increasing hidden layers size.

REFERENCES

[1] H. Jabeen and A. R. Baig, “Review of classification using Genetic Programming,” Int. J. Eng.

Sci. Technol., vol. 2, no. 2, pp. 94–103, 2010.

[2] P. G. Espejo, et al., “A survey on the application of Genetic Programming to classification,”

IEEE Trans. Syst. Man, Cybern. Part C Appl. Rev., vol. 40, no. 2, pp. 121–144, 2010.

[3] J. Eggermont, et al., “A comparison of genetic programming variants for data classification,” in

Proc. Third Symposium on Advances in Intelligent Data Analysis, 1999, pp. 281–290.

[4] C. Gathercole and P. Ross, “Dynamic training subset selection for supervised learning in Genetic

Programming,” in Parallel Problem Solving from Nature — PPSN III. PPSN 1994. Lecture

Notes in Computer Science, Y. Davidor, H. P. Schwefel, and R. Männer, Eds. Springer, Berlin,

Heidelberg, 1994, pp. 312–321.

Page 73: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

67

[5] H. Gray, “Genetic Programming for classification of medical data,” in Late Breaking Papers at

the 1997 Genetic Programming Conf., 1997, pp. 291–297.

[6] U. Bhowan, et al., “Developing new fitness functions in Genetic Programming for classification

with unbalanced data,” IEEE Trans. Syst. Man, Cybern. Part B Cybern., vol. 42, no. 2, pp. 406–

421, 2012.

[7] D. Andre, “Automatically defined features: The simultaneous evolution of 2-dimensional

feature detectors and an algorithm for using them,” in Advances in Genetic Programming,

Chapter 23, vol. 1, MIT Press Cambridge, MA, 1994, p. 477.

[8] W. A. Tackett, “Genetic programming for feature discovery and image discrimination,” in Proc.

5th Int. Conf. Genetic Algorithms, ICGA-93, Morgan Kaufmann Publishers, 1993, pp. 303–309.

[9] S. Handley, “Automatic learning of a detector for alpha-helices” in Proc. 5th Int. Conf. Genetic

Algorithms, ICGA-93, Morgan Kaufmann Publishers, 1993, pp. 271–278.

[10] D. Andre, “Evolution of mapmaking: learning, planning, and memory using Genetic

Programming,” in Proc. First IEEE Conf. Evolutionary Computation. IEEE World Congress on

Computational Intelligence, 1998, pp. 250–255.

[11] S. G. Handley, “The Automatic generations of plans for a mobile robot via Genetic

Programming with automatically defined functions,” in Advances in Genetic Programming, vol.

18, Kenneth E. Kinnear, Ed. MIT Press, Cambridge, MA, 1994, pp. 391–407.

[12] S. Das, et al., “A Genetic Programming application in virtual reality,” in Proc. 1994 IEEE 3rd

Int. Fuzzy Systems Conf. 1994, pp. 480–484.

[13] J. M. Daida, et al., “Computer-Assisted Design of image classification algorithms: Dynamic and

Static Fitness Evaluations in a Scaffolded Genetic Programming Environment,” in Genetic

Programming 1996: Proc. First Annual Conf. 1996, pp. 279–284.

[14] J. R. Koza and J. P. Rice, Genetic Programming: On the Programming of Computers by Means

of Natural Selection. MIT Press, 1992.

[15] J. R. Koza, et al., Genetic Programming IV: Routine Human-Competitive Machine Intelligence.

Kluwer Academic Publishers, 2003.

[16] H. Guo and A. K. Nandi, “Breast cancer diagnosis using Genetic Programming generated

feature,” Pattern Recognit., vol. 39, no. 5, pp. 980–987, 2006.

[17] Y. A. Christobel and P. Sivaprakasam, “A new Classwise k Nearest Neighbor ( CKNN ) Method

for the classification of diabetes dataset,” Int. J. Eng. Adv. Technol., vol. 2, no. 3, pp. 396–400,

2013.

[18] R. Malhotra and M. Khanna, “An empirical study for software change prediction using

imbalanced data,” Empir. Softw. Eng., vol. 22, no. 6, pp. 2806–2851, 2017.

[19] B. Nikpour, et al., “Proposing new method to improve gravitational fixed nearest neighbor

algorithm for imbalanced data classification,” in 2nd Conf. Swarm Intelligence and Evolutionary

Computation (CSIEC), 2017, pp. 6–11.

[20] B. Krawczyk, “Learning from imbalanced data: Open challenges and future directions,” Prog.

Artif. Intell., vol. 5, no. 4, pp. 221–232, Nov. 2016.

[21] N. S. Mohamad, et al., “Banknote authentication using Artificial Neural Network,” Sci. Int., vol.

26, no. 5, pp. 1865–1868, 2014.

Page 74: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

PJCIS (2017), Vol. 1, No. 2 : 57-68 Data Classification Using Variation

68

[22] Q. Chen, et al., “Feature selection to improve generalization of Genetic Programming for high-

dimensional symbolic regression,” IEEE Trans. Evol. Comput., vol. 21, no. 5, pp. 792–806, Oct.

2017.

[23] M. W. Aslam and A. K. Nandi, “Detection of diabetes using Genetic Programming,” in 18th

European Signal Processing Conf. (EUSIPCO-2010), 2010, pp. 1184–1188.

[24] D. P. Muni, et al., “Genetic Programming for simultaneous feature selection and classifier

design,” IEEE Trans. Syst. Man Cybern. part B, vol. 36, no. 1, pp. 106–117, Feb. 2006.

[25] M. W. Aslam, et al., “Automatic digital modulation classification using Genetic Programming

with K-Nearest Neighbor,” Mil. Commun. Conf. 2010 - Milcom 2010, pp. 1731–1736, 2010.

[26] G. Patterson and M. Zhang, “Fitness functions in Genetic Programming for classification with

unbalanced data,” in AI 2007: Advances in Artificial Intelligence. AI 2007. Lecture Notes in

Computer Science, vol. 4830, M. A. Orgun and J. Thornton, Eds. Berlin, Heidelberg: Springer,

2007, pp. 769–775.

[27] H. F. Gray, et al., “Genetic Programming for classification of brain tumours from Nuclear

Magnetic Resonance biopsy spectra,” in Proc. First Annual Conf. Genetic Programming, MIT

Press, Cambridge, MA, 1996, pp. 424–430.

[28] J. Doucette and M. I. Heywood, “GP classification under imbalanced data sets: Active sub-

sampling and AUC approximation,” in Lecture Notes in Computer Science (including subseries

Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 4971 LNCS,

2008, pp. 266–277.

[29] S. M. Winkler, et al., “Using enhanced Genetic Programming techniques for evolving classifiers

in the context of medical diagnosis,” Genet. Program. Evolvable Mach., vol. 10, no. 2, pp. 111–

140, Jun. 2009.

[30] S. S. Haykin, Neural networks: A comprehensive foundation, 1st ed. Prentice Hall, 1994.

[31] R. Rojas, Neural Networks- A Systematic Introduction. Springer, 1996.

[32] D. E. Rumelhart and J. L. Mcclelland, “Learning internal representations by error propagation,”

in Parallel distributed processing: Explorations in the microstructure of cognition. vol. I, J. A.

Feldman, P. J. Hayes, and D. E. Rumelhart, Eds. MIT Press,Cambridge, MA, 1986.

Page 75: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume
Page 76: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Guidelines For Authors

Pakistan Journal of Computer and Information Systems (PJCIS) is an official journal of

PASTIC meant for students and professionals of Computer Science & Engineering, Information

& Communication Technologies (ICTs), Information Systems, Library and Information Science.

This biannual open access journal is aimed at publishing high quality papers on theoretical

developments as well as practical applications in all above cited fields. The journal also aims to

publish new attempts on emerging topics/areas, original research papers, reviews and short

communications.

Manuscript format: Manuscript should be in English, typed using font Times New Roman and

double spaced throughout with 0.5 inches indention and margins of at least 1.0 inch in Microsoft

word format (doc or docx) or LaTex. The manuscripts should be compiled in following order:

Abstract, Keywords, Introduction, Materials and Methods, Results, Discussion, Conclusion,

Recommendations, Acknowledgement and References. Follow the format guidelines provided in

the following table:

Type Characteristics Letter case

Title Font size 16, bold, single line spacing

centered

Sentence case

Author names Font size 12, bold, centered, single line

spacing

Uppercase

Institutional

affiliations

Font size 10, centered, single line

spacing

Sentence case

All headings Font size 16, bold, centralized and

numbered

Uppercase

Body text Font size 12 and justified Sentence case

Captions

(Table/Figures)

Font size 12 and bold Sentence case

Title: This should contain title of the articles by capitalizing initial letter of each main word.

Avoid abbreviations in the title of the manuscript.

Author’s Name: Title should be followed by complete author names, e-mail addresses, landline,

fax and cell numbers. In case of more than one author with different Institutions, use numbering

in superscripts (1, 2, 3 etc) to separate the author's affiliation. Do not use any other symbol such as

*, † or ‡. For multiple authors, use comma as separator.

Author’s Affiliation: Mark the affiliations with the respective numbering in superscripts (1, 2, 3

etc) used in the authors field. PJCIS encourages the listing of authors’ Open Researcher and

Contributor Identification (ORCID).

Page 77: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

Corresponding author: One author should be identified as the corresponding author by putting

asterisk after the name as superscript.

Abstracts: Abstract must be comprehensive and self explanatory stating brief methodology,

important findings and conclusion of the study. It should not exceed 300 words.

Keywords: Three to eight keywords depicting the article should be provided below the abstracts

separated by comma.

Introduction: The introduction should contain all the background information a reader needs to

understand the rest of the author’s paper. This means that all important concepts should be

explained and all important terms defined. Introduction must contain the comprehensive

literature review on the problem to be addressed along with concise statement of the problem,

objectives and valid hypotheses to be tested in the study.

Material and Methods: An adequate account of details about the procedures involved should be

provided in a concise manner.

Results & Discussion: Results should be clear, concise and presented in a logical sequence in

the text along with, tables, figures and other illustrations. If necessary, subheadings can be used

in this section. Discussion should be logical and results must be discussed in the light of previous

relevant studies justifying the findings. If necessary, it may be split into separate "Results" and

"Discussion" sections.

Recommendations: Research gap may be identified and recommendations for future research

should be given here.

Acknowledgement: In a brief statement, acknowledge assistance provided by people,

institutions and financing.

Abbreviations: Abbreviations used should be elaborated at least first time in the text inside

parenthesis e.g., VPN (Virtual Private Network).

Tables/Figures: Caption must have descriptive headings and should be understandable without

reference to the text and should include numbers [e.g., Figure 1: Summary of quantitative data

analysis]. Put citation at the end of the table/figure or in the text, if it has been copied from

already published work. Photographic prints must be of high resolution. Figures will appear

black & white in the printed version however, they will appear coloured in the full text PDF

version available on the website. Figures and tables should be placed exactly where they are to

appear within the text. Figures not correctly sized will be returned to the author for reformatting.

References: All the references must be complete and accurate. When referring to a reference in

the text of the document, put the number of the reference in square brackets e.g., [1]. All

references in the bibliography should be listed in citation order of the authors. Always try to give

url or doi in case of electronic/digital sources along with access date. References should follow

IEEE style, Details can be downloaded from Journal’s home page.

http://www.pastic.gov.pk/pjcis.aspx

Publication Ethic Policy: For submission to the Pakistan Journal of Computer and Information

Systems please follow the publication ethics listed below:

Page 78: Pakistan Journal of Computer and Information Systemspastic.gov.pk › downloads › PJCIS › PJCIS_V2_2.pdf · Pakistan Journal of Computer and Information Systems Contents Volume

• The research work included in the manuscript is original.

• All authors have made significant contribution to the conception, design, execution,

analysis or interpretation of the reported study.

• All authors have read the manuscript and agree for submission to the Pakistan Journal of

Computer and Information Systems.

• This manuscript has not been submitted or published elsewhere in any form except in the

form of dissertation, abstract or oral or poster presentation.

• All the data has been extracted from the original research study and no part has been

copied from elsewhere. All the copied material has been properly cited.

Journal Review Policy: PJCIS follows double blind peer review policy. All the manuscripts are

initially evaluated by the internal editorial committee of the PASTIC. Manuscripts of low quality

which do not meet journal’s scope or have similarity index > 20% are rejected and returned to

the authors. Initially accepted manuscripts are forwarded to two reviewers (one local and one

foreign). Maximum time limit for review is six weeks. After submission of reviewer’s report

final decision on the manuscript is made by the chief editor which will be communicated to the

corresponding author through email.

Submission policy: Before submission make sure that all authors have read publication ethics

policy for PJCIS and agree to follow them. There is no submission or processing charges for

publishing in Pakistan Journal of Computer and Information Systems. Manuscript complete in all

respect should be submitted to [email protected] or [email protected]

Editorial Office: Correspondence should be made at the following address:

Editor in Chief

Prof. Dr Muhammad Akram Shaikh

Director General

Pakistan Scientific & Technological Information Centre (PASTIC)

Quaid-e-Azam University (QAU) Campus

Islamabad

Please send all inquiries to [email protected]