pakistan journal of computer and information systemspastic.gov.pk › downloads › pjcis ›...
TRANSCRIPT
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
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.
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.
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.
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
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
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
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
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
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.
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
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.
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
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].
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].
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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.
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
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.
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
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
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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
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
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.
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
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
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
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.
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
44
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
45
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
46
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
47
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
48
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
49
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
50
PJCIS (2017), Vol. 2, No. 2 : 37-56 A Systematic Review of the Approaches
51
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.
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.
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.
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-
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.
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].
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
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.
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
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
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.
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%
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
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
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.
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.
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.
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).
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:
• 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]