Software Engineering: Cover Story
Software Engineering: Cover Story
Software Engineering: Cover Story
Software Engineering
Cover Story
History of Software Engineering: Status of
Software Component, Reusability and Quality 6
Sanjay Mohapatra, Vice President, CSI & Chairman, Conf. Committee, Email: vp@csi-india.org
MARCH First International Conference on “Computational Intelligence, Communications, and Business Analytics (CICBA -
24-25, 2017 2017)” at Calcutta Business School, Kolkata, India. Contact: som.cse@live.com; (M) 94754 13463 / (O) 033 24205209
International Conference on Computational Intelligence, Communications, and Business Analytics (CICBA - 2017)
at Calcutta Business School, Kolkata, India. Contact (M) 9475413463 / (O) 03324205209, Email id : som.cse@live.com;
www.cicba-2017.in
APRIL 1st International Conference on Smart Systems, Innovations & Computing (SSIC-2017) at Manipal University Jaipur,
15-16, 2017 Jaipur, Rajasthan. http://www.ssic2017.com
Contact : Mr. Ankit Mundra, Mob.: 9667604115, ankit.mundra@jaipur.manipal.edu
MAY ICSE 2017 - International Conference on Soft Computing in Engineering, Organized by : JECRC, Jaipur, www.icsc2017.com
08-10, 2017 Contact : Prof. K. S. Raghuwanshi, hod.it@jecrc.ac.in, Mobile : 9166016670
JUNE Workshop on LAMP (Linux, Apache, My SQL, Perl/Python), Jaypee University of Engineering and Technology, Raghogarh,
05-30, 2017 Guna - MP, www.juet.ac.in Dr. Shishir Kumar (dr.shishir@yahoo.com) 9479772915
OCTOBER International conference on Data Engineering and Applications-2017 (IDEA-17) at Bhopal (M.P.),
28-29, 2017 http://www.ideaconference.in Contact : conferenceidea@gmail.com
DECEMBER Fourth International Conference on Image Information Processing (ICIIP-2017), at Jaypee University of Information
21-23, 2017 Technology (JUIT), Solan, India, (http://www.juit.ac.in/iciip_2017/) Contact : Dr. P. K. Gupta (pkgupta@ieee.org)
(O) +91-1792-239341 Prof. Vipin Tyagi (dr.vipin.tyagi@gmail.com)
CSI Adhyayan
A tri-monthly publication for students
Articles are invited for Oct-Dec. 2016 issue of CSI Adhyayan from student members authored as original text. Plagiarism is
strictly prohibited. Besides, the other contents of the magazine shall be Cross word, Brain Teaser, Programming Tips, News
Items related to IT etc.
Please note that CSI Adhyayan is a magazine for student members at large and not a research journal for publishing full-
fledged research papers. Therefore, we expect articles should be written for the Bachelor and Master level students of
Computer Science and IT and other related areas. Include a brief biography of Four to Five lines, indicating CSI Membership
no., and for each author a high resolution photograph.
Please send your article to csi.adhyayan@csi-india.org.
On behalf of CSI Publication Committee
Prof. A. K. Nayak
Chief Editor
www.csi-india.org
2
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
CSI Communications Volume No. 40 • Issue No. 12 • MARCH 2017
Chief Editor
Contents
Prof. A. K. NAYAK Cover Story
History of Software Engineering: Status of 6
Software Component, Reusability and Quality
Editor Munishwar Rai & Kiranpal Singh Virk
DR. DURGESH MISHRA
Technical Trends
Associate Editor Future of Software Engineering 10
PROF. Prashant Nair Vijay Sharma
Research Front
Published by An Essence of Soft Computing Techniques on Software Development Life Cycle 13
Mr. Sanjay Mohapatra C Shoba Bindu, E Sudheer Kumar & K K Baseer
3
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Editorial
Dear Fellow CSI Members,
The theme for the Computer Society of India (CSI) Communications (The Knowledge Digest for IT Community)
March, 2017 issue is Software Engineering, the art and science of engineering software systems.
In this issue, Cover Story article is “History of Software Engineering: Status of Software Component, Reusability
and Quality” by Munishwar Rai and Kiranpal Singh Virk. The article traces the chronological evolution of the
discipline.
Vijay Sharma has contributed to Technical Trends through the article, “Future of Software Engineering”. This
focuses on challenges and opportunities that lies ahead of the software engineering community.
The Research front is titled, “An Essence of Soft Computing Techniques on Software Development Life Cycle”.
Here, C Shoba Bindu, E. Sudheer Kumar and K K Baseer have descibed various techniques like Poka-Yoke,
Fuzzy Logic, Neural Networks, Particle Swarm Optimization and Genetic Algorithm in the SDLC context.
The Security Corner has S. Hemalatha and P C Senthil Mahesh giving us new insights on Pseudo Code Attack
in Software Engineering.
We have several articles which provide us information on various facets and research topics of software
engineering and software project management like the “Role of Software Engineering” by Hardeep Singh and
Parminder Kaur; “Formal Methods in Software Engineering” by A. Sowmya Mitra; “Risk Management in Effort
Estimation of Agile Methodologies” by S Rama Sree and Ch. Prasada Rao; “Real – Time System: A challenge
for Testers” by Nancy Goel and Shaily Jain; Logical Hierarchy Requirement Target Planning (Lhrtp ) technique
to overcome risk on Software Projects” by R. Saranya and “Technological advances in Software Engineering”
by V Vetriselvi.
This issue also contains Crossword, CSI activity reports from chapters, student branches and Calendar of
events. This issue also covers CSI Regional Student Convention organized by KIIT CSI Student Branch, KIIT
University, Odisha
We are thankful to Chair-Publication Committee and entire ExecCom for their continuous support in bringing
this issue successfully.
We wish to express our sincere gratitude to all authors and reviewers for their contributions and support to
this issue.
The next issue of CSI Communications will be on the theme “Big Data Analytics”. We invite the contributions
from all CSI members and researchers on this theme. We also look forward to receive constructive feedback
and suggestions from our esteemed members and readers at csic@csi-india.org.
www.csi-india.org
4
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
President’s
Message 01 March, 2017
Finally my terms as President of CSI is coming to an end! Now it is time to look back and
see what I had set to achieve and has been able to achieve.
CSI 2016 Convention organized by CSI Coimbatore Chapter during January 23-25, 2017
was a resounding success. The conference was very well arranged with high quality
papers, and invited talks. The ambience of the conference venue (the Le Meridian hotel )
was excellent. The registration had to be stopped as the halls were filled to capacity. The
Inauguration function was followed by Award Presentation to outstanding members and
IT personalities.
The three categories of awards (Fellowships, Hony. Fellows and Life Time Achievement)
were presented. My congratulations to all the winners. It was the first time that CSI-
IEEE Education Award was presented. The Award consisting of a plaque and US$500 was
presented to Dr. S T Selvi.
The meetings of all statutory committees were duly held and we had fruitful deliberations. I must congratulate all the Members
of the organizing Committee led by Mr. P R Rangaswamy, Mr. Ranga Rajgopal, Dr. Nadarajan, Dr. Subramanian and others for
working very hard and making CSI 2016 a memorable event.
A number of training programs are being planned for our Members. It includes certification trainings on Enterprise Architecture
with The Open Group, Internet Governance with ICANN etc.. We had a meeting with business delegation of Myanmar and we hope
to sign an MOU with Myanmar Computer Federation vey soon.
I am glad to inform you that our application to make CSI a Registered Education Provider of PMI (Project Management Institute)
has been successful and CSI Chapters will be able to offer PMP trainings.
Attempts are being made to improve different publications of CSI. CSI Journal of Computing will resurface in the month of April
2017 in soft copy form.
CSI Elections are going to start soon. It took time as we had to make some radical changes. When I was elected I had promised
to bring in transparency in different CSI activities. CSI elections every year is generating controversy every year. There have been
questions about the membership database, issues on the integrity of the vendor who has been entrusted to conduct the elections
since 2005 etc.. This year suggestions came up in the Think Tank meeting, National Council meeting, and in the AGM during
CSI-2016. Accordingly we have taken steps to incorporate the suggestions. You must have received communication from CSI that
a member need to validate his/ her identity by giving PAN or Aadhar number. The process has been completed we will have a
clean database for the elections. This year CSI elections will be conducted by NSDL, the most reputed agency in the country who
has been conducting e-voting. The agreement with NSDL has been signed and elections will start by March 15, 2017 and results
announced by end of this month.
There is no doubt that lot of improvements can be done in other aspects of working CSI. It is not possible to complete in one year.
The next President Mr. Sanjay Mohapatra will continue the work and hope the successive leaders continue from where we will
leave.
5
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
COVER STORY
1. Introduction of the software industry. Some gaps are models like CMM, ISO etc. However the
Software engineering as an created because the software engineers role was over stated could be traced to
engineering domain has come a long have not learnt from the past mistakes. year 2000 when Polar Lander of NASA
way from its origin to its present form. Some gaps are created because crash landed on Mars surface [4]. The
It has taken quite a while for software software engineers have failed to repeat reason of failure was simple - a software
engineering to establish itself as a the past successes. Some gaps are bug turned off the jets while the prober
discipline. It has been an interesting created because the software concepts was 40 metre high and it simply fell
journey all the way. The term ‘software are sometimes over stated. Let’s try down rather than landing. The bug was
engineering’ was officially accepted in to understand this ‘overstated’ thing eventually a missing control structure
1968 when NATO organized a conference with a example from history. In 1950 ‘if’. The detailed inspection of the cause
with the title ‘Software Engineering’ [1]. COBOL language was designed to be revealed that due to schedule deadline
The best brains of the computer science readable and understandable for non- approaching, launch was initiated with
were brought together to discuss the programmers. In 1990 it was projected incomplete testing. In other words,
issues faced by the software industry that 5th generation languages were analysis and modeling substituted for
like declining profits, beyond schedule designed to solve a problem without test and validation.
delivery of solutions, over budgeted writing programming code. In 2004, it 3. Sources of Software Problems
projects, low quality products etc. These was predicted that due to SOA (Service Number of concepts and ideas
issues were then collectively termed as Oriented Architecture), the computing have faded-in and faded-out since 1950.
‘Software Crisis’ or ‘Software Gap’. In world will not require programmers. Every concept has contributed to the
this conference it was widely accepted However, even in 2017 the success of growth of software engineering. Where
that software development has lagged lightweight programming languages some ideas have created success
behind in implementing good practices like Erlang, Lua, Forth, Squirrel,
stories, others have created failures. All
as other engineering disciplines do. The newLisp etc negates the above
failures when analyzed revealed some
solution suggested was a new discipline hypothesis of doing away with the
hidden problems and their sources. The
called ‘Software Engineering’ in which programmers. Table 1 clearly shows
sources which contribute to the various
science and mathematics are applied to that the programming languages had
issues of software development are
make the properties of software useful been there and would be there in future
shown in Table 2 and their relationship
to people. also.
in Fig 1. The overall software journey has
2. Programming Languages Before 1990 the focus on improving
been all about dealing with these four
Kolence [1], Boehm [2] and Wirth the software quality was through
sources. All concepts are suggested,
[9] stated that, in the rapid changing improving testing techniques and code
developed or improved while keeping in
software field, there are wide gaps in reviews. Post 1990s the role of analysis
mind the one or more of these sources.
expectations of the users and deliverance and design reviews in improving quality
was also emphasized with software Internal
Complexity
Table 1 : Year-Wise Programming Languages Making their Mark
Language Year Language Year Language Year Language Year
Fortran 1957 Pascal 1970 Haskell 1990 F# 2005
LISP 1958 C 1973 newLisp 1991 Clojure 2007 Essential Software Human
Complexity Problems Errors
Algol 58 1958 Ada 1980 Python 1991 Go 2009
Cobol 1962 Smalltalk 1980 Java 1995 Rust 2010
BASIC 1964 C++ 1985 Ruby 1995 Dart 2011
Project
LISP 1964 Objective-C 1986 JavaScript 1995 Julia 2012 Variability
www.csi-india.org
6
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
COVER STORY
7
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
COVER STORY
SYSTEM SYSTEM
REQUIREMENTS REQUIREMENTS
SOFTWARE
REQUIREMENTS SOFTWARE
REQUIREMENTS
PRELIMINARY
PROGRAM
DESIGN
ANALYSIS
ANALYSIS
PROGRAM
PROGRAM
DESIGN DESIGN
PRELIMINARY
DESIGNS
CODING CODING
ANALYSIS
PROGRAM
DESIGNS TESTING
CODING TESTING
TESTING OPERATIONS
USAGE OPERATIONS
Fig. 2: The Royce Waterfall Model (1970) Fig. 3 : The Royce Waterfall Model (1970)
software tools like IPSE (Integrated Training, reuse, prototyping, and the century the year would have been 00
Programming Support Environment), process improvement were suggested instead of 2000.
CASE (Computer-Aided Software to improve quality. Status of Software Component,
Engineering) Other achievements of this 1990-1999 : The late 1980 and Reusability and Quality: 1990s was also
decade were object oriented methods, earlier 1990 witnessed work of three reuse intensive with COTS (Components
software factories [5], 4GL, CAD/CAM. influential authorities on object oriented Of The Shelf) intensive software
In 1985 FSF (Free Software Foundation) aspects namely- Grady Booch’s OOAD development, agile methodology and
and GNU-GPL (General Public License) (Object Oriented Analysis and Design), eXtreme programming. The software
were established by Richard Stallman James Rumbaugh’s OMT (Object quality models namely- FURPS,
which became the milestone for Open Modeling Technique) and Ivar Jacobson’s Dromey and ISO 9126 were suggested
Source Software in 1990s. OOSE (Object-Oriented Software during this period. The component
Status of Software Component, Engineering). The mid 1990 saw the based architecture were concretely
Reusability and Quality: In 1986, Brooks amalgamation of OOAD, OMT and OOSE documented as COM, DCOM and
[3] suggested there is no ‘silver bullet’ into UML (Unified Modeling Language). CORBA.
in software engineering that will solve The emergence of ‘world wide web’ 2000-2010: The ‘google search
all problems. Another interpretation of further strengthened the OO methods. engine’ and the cloud computing wre
Brooks’ thought could be that till now Concurrent engineering along with FSF the main successful contributions
the overall objective of the improving and GNU-GPL of 1980s contributed of this decade. The other ones were
the software was to eliminate one or in Open Source Software. The famous Model Driven Architecture, Concurrent
more source of problem (refer Table ‘dot-com bubble’ speculation came to risk driven process, Domain specific
1). Instead of waiting for technological the end in 1999-2001. The famous Y2K software architectures, hybrid Agile
breakthrough we must go for (Year 2000) problem of converting the and plan driven methods – which took
Software Reuse, Rapid Prototyping legacy software compatible with twenty under its umbrella the initiatives of
and Incremental development. In first century has been a turning point. 1990 like eXtreme Programming. Object
1988, Barry Boehm suggested a risk- The main issue in Y2K problem was that oriented methods of 1980s were further
driven model known as ‘Spiral Model’ the legacy applications stored only the improved with design patterns and
to introduce concurrent engineering. last two digit of the year. At the turn of UML. The concept of web services and
www.csi-india.org
8
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
COVER STORY
9
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Technical Trends
Our dependence on software permeates nearly every aspect of our lives, it is a good time to ask
ourselves where this relationship is headed. But one thing is sure here that the softwares of tomorrow
will work completely on new challenges encountering altogether different constraints. This article
focuses on challenges and opportunities that lies ahead of the software engineering community. The
future is running at us with unprecedented pace and the best we can do is to embrace it with open mind
and accelerate our learning so that we are better prepared for tomorrows challenges.
1. Software Trainers techniques, but apply them. The created and destroyed very soon, most
With all the Machine Learning and programs will learn how to put the even lasting for just few days. As in the
Artificial Intelligence coming into the pieces together using through feedback case mobile apps for events, product
main stream, machines will need to and digital playgrounds, thus creating a launch specific website we will see lost
learn from vast amounts of data. Some path of self induced learning. of code will be used just for few days
time in the future they will self train 2. More code will Created and much and discarded later and never being
too, but that is at least a decade away, more will be Destroyed used again.
till then we will need humans to train With more open source projects 3. Binary is not the past but it is the
machines. Among us there will emerge coming up and more kids learning future
a new bread of software professionals programming at school level. Software With the entry of Internet of Things
known as Software Trainers, who will development is becoming highly in future in everyday life more and more
tell programs to exists on the world accessible to everybody, enabling devices and machines will communicate
and how to recognize objects. Trainers anybody to create software or apps. with each other, this communication
will tell programs what objects they With the introduction of Cloud, the will surpass the machine to human
would see, in exact shape, color and infrastructure for hosting data and communication in the order of both
size. They state exact sequence of software has virtually dropped to near scale and magnitude. Software code for
actions, what to process and when to zero, many instances of software can tomorrow will be used more for machine
process etc. Data engineering will play be created in a few hours, potentially to machine communication than for
a bigger role then compared to software scaling to millions of users, then human to machine. Passing data back
engineering. Software trainers don’t discarded a few days later. We will and forth in JSON packets with REST
need to understand machine learning see billions of disposable apps being protocols with lots of overhead of tags
will make the communication and thus
ultimately performance slow. If both
ends of the interface are machines then
why would they need to communicate
using text and pay for overhead of
JSON & XML when in the receiving end
it needs to converted back to binary?
Thus why not ship the bits directly? We
will see introduction of new tools and
software procedures which are targeted
towards producing machine understand
programs. The application code and the
transmission packets will become more
and more binary efficient signifying
leap in the communication protocols.
While maintainability and human
readability are important today, it might
get trumped by the need for extreme
[Image Source : https://cdn2.hubspot.net/hubfs/326641/CAPA.jpg] performance tomorrow.
www.csi-india.org
10
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Technical Trends
4. Smartphones will do everything the data. What if leaving your phone in as decrease the amount of programming
The little rectangular screens have the car for 4 hours triggers a reaction necessary to extract value from the
been revolutionizing every part of our where the mobile itself make a phone data store. The current generation of
lives for more than a decade, and the call or e-mails to tell you where it is?. database are becoming more and more
changes are beginning to get interesting. What if the mobile automatically start intelligent and consistently proving that
As we have added more sensors we playing some mood elevation music they are capable of doing much more
are able to collect and report much when it senses you are stressed? then just storing data. This trend will
more detailed information. There are The point is hat the smartphones continue and we will see more and more
various instances available where data aren’t going anywhere. But instead of a sophisticated operations to be pushed to
collected from these sensors is being focusing on the world within the phone’s the database layer. The future databases
used to provide medical assistance screen, the smartphone of tomorrow will will be equally capable of performing
when needed. The microphone can be tuned more than ever before to the aggregations, finding patters and even
pick up your heartbeat. The camera world around you and the programmers doing complex statistical functions.
can look at the back of your throat. The of today will play a great role in shaping This capability will provide immense
accelerometers can track your exercise. the future of smartphones. boost to over application performances
All of these can be linked to a cloud full 4. Databases will perform as it will lower the overhead of moving
of doctors who can pass your case onto increasingly sophisticated tasks data around.
someone who specializes in what ails been almost two decades since 5. Crowd-Sourced Documentation
you. The navigation apps are morphing when we have moved business systems will become the norm
into route reservation and planning apps to Database based storage system from Community of developers like Stack
that do everything but steer the car. The the file base storage. Our decision has Overflow will become the new norm
exercise tracking apps are becoming been good as databases have proved to for reference while books and official
tools that track all of the rhythms of our be most efficient way of handling data documentation will become the thing of
body from sleep to work and even more. ever known to us. The most common the past. Programmers are often able to
The gyroscope, accelerometer, architecture around database is that find the answer they are seeking quickly
magnetometer, and so forth are starting you have an Application Server handling using Stack Overflow then alternatives
to get more friends in the neighborhood. all business logic and you have set like reviewing documentation, seeking
Some new phones for instance are of Databases dumped with all kind assistance from a co-worker, etc. The
even coming equipped with sensors to of data ranging from texts, numbers, recent trends show that Stack Overflow
measure pressure, temperature, and passwords etc. The data of interest is questions are visited 2x-10x more often
humidity. Yes, the next generation of fetched from database processed and than official documentation. This is
smart devices will make the current results are saved back to database. driven by the fact that Stack overflow
set look basic. In the coming years we Simply extracting the information documentation has more depth and
will see a lot of software engineering from the database and handing it to breadth both in terms of numbers and
going into smartphones enabling a separate “big data” package will advancement then compared to any
them to do everything and giving the become increasingly time consuming official documentation available. The
device ultimate powers. Smartphones and require much more programming. immense knowledge available in crowd
of the future could use sensors and Leaving the data in the database and sourced documentation will not only
machine language to recognize other letting its engine perform the analysis help us in better situate our self in
objects around them. These devices will be much faster because it will limit tackling massive software challenges,
will not gather data but will also make the overhead of communication, as well but also enable long-tail developers
apt decisions and choices based on to quickly create software for reuse
and remix of other developer’s efforts.
Having access to immediate solution to
the problems faced by developers will
be helpful in diagnose and resolve the
issue at hand, significantly boosting the
engineering productivity.
6. Software will direct Policies
As more and more business and
consumer workflows will be captured
and executed in software, software will
finally become the way to establish new
policies and not politics. As in the case
of Uber, no government had any policy or
legislative acts pertaining to app based
transportation earlier but with the
[Image Source : http://code-epicenter.com/wp-content/uploads/2016/01/pvsd.jpg] introduction of Uber in their respective
11
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Technical Trends
states, governments came forward to and communications are dropping, The opportunity to add net new value
formulate a policy around this method making it increasingly more economical within the software ecosystem will
of transportation to regulate it. World to implement systems in software decrease due to shift of analytics and
of software is changing so fast that no rather than hardware. Mechanical cognitive capabilities from humans to
government can keep with the pace, devices in automobiles, airplanes, machines. To stay relevant we don’t only
thus we will ultimately see more and and power plants will be replaced by have to be good software developers
more policies and acts revolving around software components because software but we also need to engage our self in
consumers directed by app. is more adaptable, can provide more leveraging the full software ecosystem
Conclusion functionality, and can be upgraded more encompassing rapid iteration, instant
Information technology is about easily to accommodate future needs. All distribution and insightful monitoring.
to grow dramatically with significant industries including banking, insurance, We are at an inflexion point and we have
impact to both the global economy and telecommunications will use software to embrace the future with an open
everyday life. Computing power will to automate and personalize the mind while being ready for new set of
increase rapidly as the costs of hardware services they offer to their customers. challenges. n
Kind attention
CSI has the pleasure to announce 15% discount on the membership
fee for the new enrolment of the life members. This announcement
has been made on the eve of CSI Foundation Day celebration on
6th March 2017. This offers shall remain continue from 1st March
2017 to 31st March 2017. The discount membership fee shall be
` 8500 + 15% service tax = ` 9775/- in place of the actual
membership fee
` 10000+15% service tax = ` 11500/-.
Therefore all esteem members of CSI are requested to kindly
participate in the special membership drive to motivate their
friends and fellow professionals to take the benefits of this
opportunity.
For further details kindly refer to CSI
website : www.csi-india.org or write to
swapnil@csi-india.org or sonali@csi-india.org
Prof. A. K. Nayak
Hony. Secretary
www.csi-india.org
12
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
R esearch front
Software Engineering is a This study gives an essence and impact to model the neural architecture and
discipline that aims at producing high of SCT’s on Software Development Life computation of the human brain.
quality of software through systematic, Cycle (SDLC). A Neural Network (NN) consists
well planned approach of software 1. Introduction to SCT’s of simple neuron-like processing
development. To accomplish high The following are the suitable SCT’s elements. Processing elements are
quality software it is indispensable to used for the development of defect free interconnected by a network of weighted
produce defect free product. Defect is software in improving the quality: connections that encode network
the unexpected or undesired conduct Poka-Yoke: In software knowledge. NNs are highly parallel and
that occurs in the product. Anything development processes, Poka-Yoke exercise distributed control. NNs have
related to defect is a recurrent process concept is one of the methods to enrich been used as memories, pattern recall
not a particular state, whereas usability and quality. Poka-Yoke (PY) devices, pattern classifiers, and general
enlightening the qualities of software which is a Japanese term, Poka means function mapping engines. A classifier
like reliability, usability, availability, mistake and Yoke means prevent maps input vectors to output vectors
maintainability, cost, time and energy which is mistake preventing or mistake in two phases. Neural Network (NN)
is key role in software development. proofing technique. HP introduced can be used to build tools for software
These qualities are more loyal on the PY into their Common Desktop development and maintenance tasks,
requirements, analysis, architecture, Environment software and prevents it can perform better in estimations &
design, development, testing and hundreds of defects before it reaches predictions, and it is used in integrating
deployment. to their customers. Shigeo outlines security at the design level of SDLC and
In order to improve the software a method that uses sensor or other also can be used across a variety of
qualities on these cycles, shunning devices for hooking errors that may testing criteria.
mistakes or making alarm for each pass by operators or assemblers and Particle Swarm Optimization:
activity may be suitable choice. Each and it is said to be PY. A finest example of Swarm Intelligence (SI) is an innovative
every element of software is diligently Poka-Yoke design from manufacturing distributed intelligent paradigm for
related to software quality. The software industry is SIM card slot in cell phones. solving optimization problems that
quality decreases when the software The seamless example of Poka-Yoke originally took its inspiration from
complexity increases. Therefore, process in software application is Gmail the biological examples by swarming,
understanding, measuring, managing, email attachments feature. flocking and herding phenomena in
controlling and minimizing the software Fuzzy logic: This theory was vertebrates. PSO is a robust stochastic
complexity is a big challenge in software developed by Lofti A. Zadeh in the 60’s optimization technique based on the
engineering. It is important to focus and is based on the theory of fuzzy sets. movement of intelligent swarms. PSO
on quality, monitoring the product and It deals with the vagueness, uncertainty applies the concept of social interaction
system performance. On the other and imprecision of many real-world to problem solving. The basic concept of
hand, usability is important to safeguard problems and also to simulate human PSO lies in accelerating each particle
the software quality and to increase reasoning and its ability of decision towards its Pbest and Gbest locations
the speed and accuracy of the range making based on not so precise with a random weighted acceleration at
of tasks carried out by the users of a information present in the early phase. each time. PSO will be used to estimate
system because in software industries, Some of the promising key application the parameters for predicting software
the performance of the software is areas of Fuzzy Logic (FL) which have reliability, helps controlling the quality
mostly improved through usability. In been recognized are - Project Planning, and predicting cost of software, it will
order to accomplish all of these needs Software Reliability Prediction, Software help the project managers to efficiently
in software development environment, Usability, Software Quality Assessment, plan the overall SDLC of the software
some of the Soft Computing Techniques Performance Analysis of Software, Test product, can perform performance
(SCT’s) will helps in a better way. case Allocation, Software Reusability, prediction, trades-off between
These are Poka-Yoke, Fuzzy Logic, Software Fault Prediction and Size architectural designs alternatives,
Neural Networks, Particle Swarm Estimation. and also it can be used to effectively
Optimization, Genetic Algorithm, etc. Neural Networks: It was developed generate alternatives in spanned design
13
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
R esearch front
space and facilitate the design decision equivalent followed by phase scores will neural network is a well-known type
during the development process. be evaluated by both project manager of neural network commonly used
Genetic algorithm: These are often and team leader as well. In Fuzzy- in pattern recognition problems. The
used for optimization problems in which based Poka-Yoke Model (FPYM) [3] by McCall hierarchical software quality
the evolution of a population is a search using four metrics called, UGAM, IoI, measurement framework (HSQF) model
for a satisfactory solution given a set SM and SSM software performance expresses the intuition of developers in
of constraints. Genetic algorithms are attributes are defined and performance selecting particular factors and criteria
one of the best ways to solve a set of is analyzed to avoid and identify human leading to overall software quality
problems for which little information mistakes in the process of life cycle. measures. NN can be used across a
is given. Genetic algorithms use the Project managers who are using variety of testing criteria, test case and
principles of selection and evolution to project management models early in a coverage metrics, and fault severity
produce solution for various complex project provide numerical inputs which levels. Another area of software Testing
problems. The Genetic Algorithms also are not always feasible. Providing a in which NN has found attention is its
out performs the exhaustive search more expert knowledge based approach use as Test Oracle. Neural Networks
and local search techniques, so they to build the model using FL technique has been one of the technologies used
will work well in any search space. GA will help to represent the imprecision during software implementation and
can be applied to automatic test data in inputs and outputs. FL could also be testing phase of SDLC for software
generation for path coverage which used in size estimation which can be defect detection in order to intensify
is an undecidable problem, this will done in advance to make better plans, software reliability and it has also been
perform autotuning strategy that can and succour in tracking progress. used in area of application security
be used for optimizing performance In the model [4], the defects are and network security in technologies
or energy or a combination thereof, it predicted using metrics Requirement such as authentication system,
can be used as architectural selection Defect Density (RDD), Requirement cryptography, virus detection system,
in response to the current situation of Specification Change Request (RCR) misuse detection system and intrusion
various environment and also it focus and Requirement Inspection and detection systems (IDS).
on the real world problem in the SDLC Walkthrough (RIW) at requirement phase The below figure 2.1 will depicts
such as Organizations understaffed, followed by Cyclomatic Complexity (CC) you the broad way of understanding
Separation of duties. and Design Review Effectiveness (DRE) the integration of soft computing
to predict the defect at the end of design techniques in various phases of SDLC
2. Usage of SCT in SDLC phase and Programmer Capability (PC), which will help to deliver defect free,
In order to eradicate and capture Process Maturity (PM) metrics at the quality, reliability and high usability
issues the PY process implementation end of coding phase will get the total product to customers.
mainly depends on tester’s ability. Using number of defect predicted for the The Particle Swarm Optimization
Poka-Yoke Integration in Software software before testing phase. Using to tune parameters in Software Effort
Engineering (PYISE) helps stakeholders fuzzy-based methodology the model [5] Estimation which reduces the Mean
of software development to reckon helps to assess usability software risk Absolute Relative Error. The combination
success of work in progress [1]. More by taking into account the risk factors, of particle swarm optimization (PSO)
effort was spent towards requirements, risk likelihood and risk severity. Each and bagging technique for improving the
project conceptualization and coding of risk factors is evaluated using Fuzzy- accuracy of software defect prediction.
phases to triumph better achievements AHP (Analytic Hierarchy Process) to The integration of Quality Function
based on Phase scores and Phase wise probe multi-criteria decision making Deployment (QFD) technique and
achievements. Obligating validation from hierarchy criteria. PSO method to develop more precise
PY in kit is always a good suggestion NNs are the most common software cost estimation model [8]. The
for developers so that the validation software estimation model-building use of PSO in the field of performance
mistakes should be handled in your technique used as an alternative to prediction will systematically support
code. The HQLS-PY model [2] is to mean least squares regression [6]. NN the creation and evaluation of new
inject and integrate product monitoring on Cost estimation with cluster analysis architecture candidates [9]. PSO is
at the right place to ensure the quality increases the training efficacy of the used to compare and find the minimum
focus of the software based on the user network. NN has also been used to software test cases for testing the
experience and helps in alerting at the determine the most suitable metrics software. PSO out performs primarily
right time. The PYISE tool has additional for effort estimation. Deriving a metric for complex functions with big search
two phases which are rollout and post using a NN has several advantages. spaces. The use of Particle Swarm
implementation support. Each and every The developer needs only to determine Optimization (PSO) technique to
phase is having its own PY integration the endpoints (inputs and output) and estimate the parameters of software
activities and related scores along with can disregard the path taken. A three- reliability models [10].
weights score need to dispense by the layered feed-forward back-propagation In [11] energy benchmarking shows
project manager and achievements neural network is used software that there is a strong correlation between
scores need to assign by team lead or design [7]. The back-propagation performance and energy requirements.
www.csi-india.org
14
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
R esearch front
Software Development Life Cycle the number of defects and errors during
the development of software and also
Requirements Design Development Testing Deployment can be applied to appraise the project in
progress which helps in making process
Product
Requirements
systematic.
The benefit of fuzzy logic
Requirements & for software engineering project
Needs Validations
management is the flexibility available
Software Product Soft Computing Techniques in terms of the types of input and
Specifications
output variables which will not lead to
Coding Logic
over commitment. The concept of fuzzy
Phase
Parameter Effort, Size Architecture Defect Developers Performance Success Security Test Data Quality of
& Cost Selection Prediction on Quality Prediction of work Concern & Generation Services
Estimation Measure and Progress Reliability
Technique Optimization
Poka-Yoke
Fuzzy logic
Neural
Network
Particle
Swarm
Optimization
Genetic
Algorithm
15
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
R esearch front
www.csi-india.org
16
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
R esearch front
E. Sudheer Kumar received B.Tech and M.Tech in Information Technology from JNTUA, Ananthapuramu,
India. Currently, he is Assistant Professor in the department of CSE, Sree Vidyanikethan Engineering College,
Tirupati, India. His research interests include data science, software engineering, software architecture, and
other latest trends in technology. He can be reached at sudheerkumar.e@gmail.com
Dr. K K Baseer [CSI-I1182542] received his PhD from JNTUA, Ananthapuramu, India. Currently, he is working
as Associate Professor in the department of Information Technology, Sree Vidyanikethan Engineering
College, Tirupati, India. His research interests include Software Engineering, Software Architecture,
Data Science, Information Retrieval System and other latest trends in technology. He can be reached at
kamalapuramkhajabaseer@gmail.com
(ADVERTISING TARIFF)
Rates effective from April, 2014
CSI Communications
COLOUR
Colour Artwork (Soft copy format) or positives are MECHANICAL DATA
required for colour advertisement
Back Cover ` 50,000/- Full page with Bleed 28.6 cms x 22.1 cms
Inside Covers ` 40,000/- Full Page 24.5 cms x 18.5 cms
Full Page ` 35,000/- Double Spread with Bleed 28.6 cms x 43.6 cms
Double Spread ` 65,000/- Double Spread 24.5 cms x 40 cms
Centre Spread ` 70,000/-
(Additional 10% for bleed advertisement)
• Special Incentive to any Individual/Organisation for getting sponsorship 15% of the advertisement value.
• Special Discount for any confirmed advertisement for 6 months 10%.
• Special Discount for any confirmed advertisement for 12 months 15%.
• All incentive payments will be made by cheque within 30 days of receipt of payment for advertisement.
• All advertisements are subject to acceptance by the editorial team.
• Material in the form of Artwork or Positive should reach latest by 20th of the month for insertion in the following month.
All bookings should be addressed to :
Unit No. 3, 4th Floor, Samruddhi Venture Park, MIDC, Andheri (E), Mumbai-400 093.
Tel. 91-22-2926 1700 • Fax: 91-22-2830 2133 | Email: hq@csi-india.org
17
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
SECURITY CORNER
In recent technological development of hardware and software are relies on the software development.
Developing of software is depends on programming languages inventions. Programming languages
invention is adaptable to software metric calculation like line of code, code reduction, reusability etc.
During this metric calculation stages the different attacks can be performed to reduce the metric
values and delayed the proposal of software packages. There are many attacks are identified and
prevented in networks, this pseudo code attack is the novel method to perform increasing the metric
calculation in software coding. This article proposed the technique to introduce the pseudo code attack
and identifying the pseudo code attack present in the source code.
1. Introduction
Most software development system resource might be explored installed in the system memory. It
associations have some goal or desire in the similar manner, resulting in a affects the system performance in
to produce secure software that consumption of resources. diverse ways. With the arrival of pseudo
assures their products robustness The software development process code attack, the system operations are
and availability. During the software mainly focuses on developing of the new deviated from their normal working
development, there is either flaws or and innovative software’s to the society. procedure. The effects of pseudo code
faults are introduced from the design of When a new version is developed by the attack are as follows:
the software or from the implementation. software team, a new version is put in The pseudo code attack reduces
Failures and particularly vulnerabilities to the functional point analysis. This the server performance as it is installed
are maximizing the cost for the functional point analysis calculates in the system memory. It leads to
developers and need them to spend the number of read and writes cost increased cost of Full Functional Points.
more time on software maintenance involved in the new version. This will The pseudo code takes additional
instead of new features. Most of be compared with the older version to storage in the system memory. Hence,
the software developers depend on check the quality of the new one. If the the disk storage space is also increased.
testing to minimize their maintenance calculated cost is less or equal to the Consequently, this attack reduces the
cost and to generate software with old version, then the developed team disk speed of the system and causes
high availability and robustness. will release the software. delay in reading.
Unfortunately, testing mostly focuses From that, the Pseudo code attack
3. Research Issues and Challenges
on validating the proposed functionality is new type of DDoS attack. This attack
Developing a software security
and not on identifying the vulnerabilities. is automatically installed in the system
requirements are complicated and
There are several DDOS attacks memory. Whenever the functional point
have some issues which maximizes
are in the network field. These kinds of analysis calls, the newly generated
the difficulty of developing such
attacks are trying to reduce the system segment code will be added and moved
requirements. Some of the current
performance, in order to achieve to the original code. This results cause
issues and challenges for software
degradation of system aspects with in increasing the number of read and
developments are discussed as follows:
normal aspects. write operations on memory. This
The Pseudo code attack is the process will lead to show the FFP in Security is continually changing:
new kind of DDoS attack. This pseudo more cost. So the newly developed The procedure for generating
code attack is possible in software segment is put it to wait for release and requirements should be precise and
development process. This article evolutes the development state again. clear. Hence, the future security
discusses about the pseudo code attack This causes the delay in releasing of requirements should research provides
in DDOS. DDOS prevents the intended software. This pseudo code is not like insight into a new appearance of
usage of the software development. a virus or any malware program. Hence software threat.
The common DOS attacks are network it cannot be identified by any antivirus The security requirements should
based which attempt to exhaust the detection software. be declared in a positive tone:
system resources. The source code 2 Effects of Pseudo Code Attack Generally, Security requirements
which does not constantly releases a The pseudo code attacks are are declared in a negative tone
www.csi-india.org
18
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
SECURITY CORNER
that formulates the validation and stage after the requirements phase, Therefore, it is significant that
verification more difficult . For instance, and assures that the criteria of each software sizing can be done as
a negative requirement might be “The requirement are correctly being attained accurately and consistently as possible,
program shall not permit remote to that point in the development. The given the uncertainties intrinsic in size
exploits”, which is complex to validate. requirement testing is done at the estimation. Though, software sizing is
The process of validating and verifying end of the development stage during complex due to the number of reasons.
that requirement might require testing the testing stage, and assures the 1. It is executed in a number of
the program could not do, not what the inclusion of the requirement. A security different circumstances, some with
program should do. requirement should be both verifiable a huge deal of knowledge regarding
Security is continually changing: and testable for it to be probable to the system and some with about no
The procedure for generating track the progress of the requirement knowledge at all.
requirements should be precise and throughout the development stages, There are many alternatives for
clear. Hence, the future security and test to assure the requirement the structure and language utilized to
requirements should research provides was incorporated into the software articulate the design and requirements.
insight into a new appearance of development. Usually, software projects are
software threat. A development may only requisite a combination of reused, new, and
some software security requirements, modified mechanisms. A sizing method
The security requirements should should be able to include all three
be declared in a positive tone: but not all:
The requirements will cover phases, even when the modification
Generally, Security requirements and reuse take place in the design and
are declared in a negative tone up everything from system memory
to cryptography. But, some of the requirements as a substitute of just in
that formulates the validation and
applications may only require a subset the program code.
verification more difficult. For instance,
of those security requirements. A Software sizing measures,
a negative requirement might be “The
procedure should exist so that the Software sizing measures are utilized to
program shall not permit remote
security requirements desired for a normalize the other measures so that
exploits”, which is complex to
development can be selected based suitable comparisons can be prepared
validate. The process of validating and
on the non-security associated within or across the systems. Productivity
verifying that requirement might require
requirements. statistics cannot be calculated, without
testing the program could not do, not
Due to these kind of attacks, there a sizing measure. A sizing measure is
what the program should do.
are lot of issues are occurred during basic to any software measurement
The security requirements for program. During the estimation of cost
the software development. In order to
developing the software should be and schedule, the common use of sizing
formulate secure and scalable software,
language and platform independent: measure is probable; there are many
an appropriate model required to be
Any technique intended to provide other potentially precious applications,
developed. To overcome these issues,
common requirements becomes together with earned value, risk
the research focuses on developing a
less practical when associated identification, change management and
model based on the cosmic FFP and
with the particular language or progress measurement. Nowadays,
energy points analysis. It minimizes the
platform. Providentially, the software there are two software sizing measures
unwanted read and writes operations
requirements can be written with a are greatly widely used: They are,
occurred on the system. Based on
common tone to cover up all the possible Source Lines Of Code (SLOC) and
these approaches, a vulnerable DDoS
situations that a development might
face. Some of the requirements will be attack is prevented while developing the Function Points (FP). Even
less observable in certain languages, for software. though, each measure has diverse
example, any language that abstracts 4. Micro Motivation things and has very diverse
system memory management will The software sizing and energy characteristics.
not have necessities for unsuccessful points applied in software development SLOC – It is a measure of the
memory allocation attempts, etc. process. Also, the research issues and size of the software system that is
challenges in this software sizing are formulated. It is extremely dependent
The security requirements should
also discussed. on the software technology used to
be verifiable and testable for the
development process to work: 4.1 Software Sizing formulate the system design, structure
The standard idea behind the Software size estimation is and how the programs are coded. Also,
requirements-driven software important in providing a credible there are numerous well-documented
development contains generating the software cost estimate. Hence, issues and problems with SLOC. In
requirements that can be established at selecting the suitable method by which fact, Capers Jones declared that
each stage of the development process. to estimate size is significant. In most of anyone using SLOC is “consigning
It can be validated or tested during the the cases, the estimation risk depends professional malpractice.” In spite of
testing phase of software development . more on precise size estimates than on these issues, SLOC is still frequently
Verification is done at each some other cost-based parameter. used by very professional and reputable
19
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
SECURITY CORNER
organizations. the insubstantial products. One of measures are Function (size), quality,
In contradiction to SLOC, Function the major difficulties in the software complexity, efficiency, reliability. In
Points (FP) is a measure of distributed sizing is the availability of the data that the software development process
functionality which is comparatively is required to verify the usefulness of these metric is also getting affected
independent of the software technology any suggested models, measures and by means of denial of service attack
used to expand the system. At the same functional sizing approaches. Most of through micro motivation. This kind of
time as FP faces and solves many of the software sizing techniques was attack in software project level can be
the issues inherent in SLOC, and it has based on the small amount of data. identified by analyzing the energy point.
introduced a loyal following, it has its Some of the techniques for instance The energy point is calculated using the
own set of problems. Since, LOC and compute the size and cost based on 30 functional point .Functional point plays
FP have been the only broadly accepted UML files. Hence, the resulted approach a vital role in estimating the quality of
ways to size a software system; a in this situation does not have a high the software. Developed software is
developer’s dimension choices have reliability and it cannot be generalized. segmented into modules, each module
been very inadequate. The SLOC and There is an issue in the estimation are taken for energy calculation.
FP measures are exclusively powerful process in preserving the suitable and This research work is mainly
and useful. Each measure has its own proper dataset to check any kind of focuses on between energy point to
merits and drawbacks. sizing techniques, measures or any functional point. Developed modules
cost models. It results a real problem are the main sources in functional point.
4.2 Energy Points
in enhancing the software estimation. Functional point measurement is used
Most of the computer software
process. The nature of the development to identify the entry, exit , read and write
and hardware developers are focuses
process where all the software operation of the modules. This output
on solving problems with minimum
requirements are known, moreover to is in numerical value, which are passed
storage space and maximum speed.
the requirement creep issue also the to the energy point calculation. Energy
But energy use for computing is an
correlation among the cost factors and point calculation is produces the read
increasing concern. Some of the
how each factor may affect the result of and write energy in developed modules.
steps to minimize the energy points in the software sizing. Another challenge This read and write energy. is used to
software development are: is that there is no precise rules and identify the pseudo code DDoS attack
1. Run multiple application on shared standard for the whole process of present in the modules or not. MCRose
servers software development. It is still in cosmic FFP measurement is used for
2. Log less adhoc stage that does not restricted analysis the energy point calculation.
to the certain standard. Currently, The modules are passed to MCRose in
3. Delete historic data
the functional size measurement is real time , the entry, exit and number
4. Compile interpreted languages performed manually and hence it is of read /write of modules is taken for
5. Reduce data translation among time consuming. In order to speed up energy calculation.
components, the process and reduce the probability Joule Meter : Joule meter
of human errors, numerous attempts estimates the energy usage of a VM,
Here, Functional Points obtained are done to automate the functional computer, or software by measuring
are mapped to Energy consume in order size measurement techniques. A set of the hardware resources (CPU, disk,
to obtain the Energy Points. COSMIC related tools on the software memory, screen, etc.) being used and
The formula used to derive for market and research community. But converting the resource usage to actual
Energy Point Mapping is as follows: still, it is necessary to identify the tool power usage based on automatically
ER = 13.3 μ w/k vendors to fill the research gap analysis. learned realistic power models. Joule
EW = 6.67 μ w/k Hence, the proposed research focused meter can be used for gaining visibility
EP = (R * ER + W * EW) on developing a system based on the into energy use and for making several
Where R is each read operation cosmic FFP energy points for secure power management and provisioning
in Function Point and ER is the energy software development. decisions in data centers, client
required for read operation.
6. Proposed Method for Energy computing, and software design.
Where W is each write operation
Point Estimation The technology is especially
in Function Point EW is the energy
In the software development helpful for IT leaders managing power
required for write operation. management settings, PC users who
projects, estimated size and time is
5. Research Issues and Challenges the important measures of quality wish to get fine grained visibility into
Software sizing and software assurance .Quality of software by their computing energy use, and
energy point’s process face many means of mean time between failure enthusiast developers who wish to
challenges to attain an accurate and and a number of bugs per line of leverage power measurer for optimizing
proper estimate for many reasons. code. The measures are classified into their software and hosted service design
Since, software is insubstantial rather direct and indirect. Direct measures for power usage.
than the estimation procedure in are Cost, line of codes, speed memory The Joule meter modelling tool
nature is not simple particularly with size and number of errors. Indirect can be used to optimize power use in
www.csi-india.org
20
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
SECURITY CORNER
21
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
1. Introduction
Development of software was a
Net
simple activity in earlier days. But as sourcing
.COM Marketing System
technology improves, software becomes Software Software
more complex and size of software
projects becomes larger. To deal with Open Source Application
Software Software
complexities, Software Engineering (SE) Software
provides various methods and enables
the development of a reliable product AI Software
Engineering
Software
with desired quality. The notion of SE
was first introduced in 1968, defined Web Application Scientific
Product Line
as ‘the application of a systematic, Software
Software
Software
Incremental & Iterative Model Cyclomatic Complexity [15]. orientation with which we develop and
4. Software Engineering: The Future maintain our application.
Waterfall Model
23
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
Software based applications are system expressed in formal deduce a given logic. In such scenarios,
becoming ubiquitous in several mission specification language user intervention is required in terms
/ safety critical systems and main of assistance to theorem prover in
33 Formal Analysis / Formal
challenge is to provide formalism, its search for a proof. The guidance
Verification: Model Checking
techniques and tools to optimize rigor takes the form of setting intermediate
& State Exploration / Theorem
despite system complexity. In safety lemmas, axioms, logical predicates,
Proving & Proof Checking
critical / mission critical systems selecting heuristics and strategies at
failure might result in serious impact 33 Documentation various steps of the proof which makes
to an organization and even can cause The principal distinction between theorem proving technique a highly
catastrophes. Rigorous verification the two approaches stems from the human intensive job.
and validation is indispensable. choice of formalism used in reasoning Model Checking: Model checking is
Conventional V&V methods include process. an algorithmic method for determining
code walkthrough/code inspection, Theorem Proving: Theorem if a model M of a system satisfies a
static and dynamic testing. However, proving is one of the key approaches correctness specification P. A model
these traditional methodologies when to formal verification. Theorem proving of a program consists of states and
carried out rigorously can “Detect the reasons about program P correctness in transitions. A specification or property is
presence of Bugs” but never “Prove terms of pre and post conditions based a logical formula capturing the design
the absence of Bugs”. As a practical on Hoare Logic, i.e. {фPRE} P {фPOST}. intent. A model checking algorithm has
alternative, systems / subsystems This formula can be read as “if property two main inputs – a formal property in
need to be verified with mathematical ф PRE holds before program P starts, a property specification language, and
proofs termed as “Formal Methods”. ф POST holds after the execution of P. a finite state machine representing
Formal methods provide a foundation In Hoare’s calculus, axioms and rules the implementation. The role of the
for special environments leading to of inference are used to derive ф POST algorithm is to search all possible paths
models that are complete, consistent based on ф PRE and P. of the state machine for a path which
and unambiguous. Formal methods These techniques are most refutes one or more properties. If one
can prove “Always or Never” and major powerful where properties are written in exists, then the path trace is reported
approaches include Theorem Proving first order predicate logic. Correctness as the counter-example. Otherwise the
and Model Checking. of properties is established through set model checker asserts that the property
1. Introduction of stored theorems. There are many holds on the implementation. This kind
Formal Methods : Formal theorem provers in active use today. The of verification involves establishing
methods are the use of mathematically popular ones include ACL2, Coq, HOL, that the model semantically entails the
rigorous techniques and tools for the Isabelle, PVS, FRAMA-C etc. A common specification i.e. M╞P.
specification, design and verification aspect of all these theorem provers is Some of the software Model
of software and hardware systems. that they support complex logics and Checking tools are SPIN, BLAST,
By mathematically rigorous we are highly expressive. However, the SATABS, CBMC etc. Figure 1 illustrates
mean specifications are well formed expressive power lacks automation and an overview of Formal Methods.
statements in mathematical logic there is no fully automatic procedure to
and formal verification are rigorous
deductions in that logic. The various
phases in which Formal Methods can Formal Properties P
be applied to the chosen software are
as follows:
33 Defining Requirements Valid
Specification
33 Modelling: Mathematical
representation of a man-made
system most suitable for the
application
M Implementation
Engine
Invalid
25
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
whether this condition is true for successful. lack of automated theorem provers
each run of the designed code. If the for discharging proof obligations for
5. Conclusions
condition is true for each run, then it floating point properties makes it tough
reports Verification Successful. Formal method approaches to apply Theorem Proving methods for
namely Theorem Proving and Model floating point program verification.
4.2 A simple example
Checking as an alternative approach
int main() 6. References
to conventional testing methods
{ [1] The Science of Programming – David
greatly enhance software reliability. Gries
int a ,b; Corner case bugs for critical modules [2] Principles of Model Checking – Christel
__CPROVER_assume( 0 <= a <= of Mission / Safety critical software Baier & Joost-Pieter Katoen
5); could be detected and could prove the [3] A survey of automated techniques for
__CPROVER_assume( 0 <= b <= absence of errors. formal software verification – Silva,
6); However, in spite of advances in Vijay D., Daniel Kroening & George
__CPROVER_assert( 0 <= a+b <= the two key methodologies, reasoning Weissenbacher
11, “Success”); about the correctness of floating point [4] CPROVER User Manual – Kroening, D.,
return 0; programs is still challenging. Inherent
& E. Clarke
} [5] Practical Introduction to FRAMA-C –
large input space of floats leading David M ENTRE
In the above code value of ‘a’ lies to state space explosion stands as [6] ACSL by Example – Hans Pohl, Jens
between 0 to 5 , b from 0 to 6 and hence a bottle neck for model checking Gerlach
assertion ‘a+b’ displays verification methodologies. On the contrary, n
Kind Attention:
Prospective Contributors of CSI Communications
Please note that Cover Theme for April 2017 issue is Big Data Analytics. Articles may be submitted in the categories such as: Cover Story,
Research Front, Technical Trends, Security Corner and Article. Please send your contributions by 20th March, 2017.
The articles should be authored in as original text. Plagiarism is strictly prohibited.
Please note that CSI Communications is a magazine for members at large and not a research journal for publishing full-fledged research
papers. Therefore, we expect articles written at the level of general audience of varied member categories. Equations and mathematical
expressions within articles are not recommended and, if absolutely necessary, should be minimum. Include a brief biography of four to six
lines, indicating CSI Membership no., for each author with high resolution author photograph.
Please send your article in MS-Word format to to Associate Editor, Prof. Prashant R. Nair in the email ids csic@csi-india.org with cc to
prashant@amrita.edu
(Issued on the behalf of Editorial Board CSI Communications)
Prof. A. K. Nayak
Chief Editor
www.csi-india.org
26
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
Testing of a Real-Time System (RTS) is a big challenge for skilled and experienced Testers. Design
issues majorly affect the testing strategies and testability of the system. This article gives a brief
introduction to some of these issues and challenges faced by testers during testing Real-Time System
than testing non Real-Time System(non RTS).
I. Introduction: the time domain both as an important the value domain in RTS as used in
Time constraints are a big factor to define RTS. We have different non RTS is the DOI187b standard for
parameter in testing RTS though non classes (soft, firm, hard essential and testing avionics systems[7]. RTS need
RTS principles are also applicable for hard critical) of RTS based on cost of to be tested in both temporal domain
RTS. There are other issues related to missing a deadline [3]. While designing and value domain [8] which is the main
hardware and software design decision. RTS the type of events or different challenge in testing. Testing in temporal
As we know that Hardware and Software events and its frequency should be domain means input should be given to
design decisions have an intense effect considered. An event can be of periodic the test object at an accurate moment
on testing strategies of the system. type, sporadic or aperiodic type. A load and we need to control the temporal
There are twenty key areas in Test hypothesis is also calculated on the state of the test object at the beginning
Process Improvement (TPI) and one of basis of terms of types and frequencies of test execution. The result timing must
them defines that to involve testers at of the events [2]. be examined thoroughly because there
the earliest stage of project results in Testing: Dynamic execution of test is a probability of non-determinism
focus on testability [1]. So, it is required cases hold assessing and increasing also.
that testers and designers should work reliability [4] as its two main aspects Testability depends upon two
together as early as possible in the [5] . Testing itself defines assessing central concepts [8] known as
development process, resulting in high the reliability, based on selecting Observability i.e. utility provided by
quality product. the test cases; executing them on the system to detect what the system
II. Terminology used and basic operational distribution and supervising does, how and when it does it, and the
concepts: the number of confront failures. The other concept known as Controllability
Real Time System: Many systems failures are analyzed and the reason i.e. utility accessible to the user to
such as computer, including most behind it known as fault [5] is removed command the execution or re-execution
RTS can be viewed in Figure 1. In this thereby the reliability is supposed to of a test case. A system’s testability
figure event stands for input and task increase. There are different testing characterize the features of software
stands for initiating a computation. This methods (e.g. Boundary value analysis, needed for validating the software [9].
produces a result after abort. A task or State-base testing, Equivalence
partitioning, Syntax testing [6]) III. Factors affecting the design of a
job with respect to Real-time is a task RTS:
that must be executed or accomplished which helps in generating test suites
containing many test cases primarily 1. Scheduling: Sometimes more than
at meant time [2] and completes before two jobs or tasks will be possible
the deliberate point of time known as before uncovering failures.
A good example where same to execute simultaneously in RTS.
deadline. So there must be a sequence of
We include the value domain and strategies has been used for testing
job execution based on some set of
rules known as Scheduling. It can
event result be either dynamic where there is
Environment execution done without any prior
calculation and conflict of jobs
Computer could be solved with set of rules
System using priority approach known
Task execution as preemption; or it can be static
where execution of job is done with
prior calculation and is cyclic [10].
Fig. 1 : Simple model of a computer system.
2. Design pattern: For RTS we
27
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
A tool must have an attribute of flexible. [5] BS 7925-1 Software Testing Vocabulary,
measuring how much part has This is a big challenge for non British Standardisation Institute, 1998
been taken by it in examining when Real-Time Systems and Real-Time [6] B. Beizer, Software Testing Techniques,
the system was under testing. Systems both to diagnose and re- second edition, Van Nostrand Reinhold,
The timing of the input is important execute the system under test after ISBN 0-442-20672-0, 1990
for RTS and an introduction of an failure [12].This means testing in RTS [7] DO-178B Software Considerations
event is the required feature of a is more challenging due to the reason in Airborne Systems and Equipment
testing tool. of temporal and value domain test Certification, RTCA Inc, 1828 L Street
The input should be released to the cases which makes Observability and NW, Suite 805, Washington, DC 20036,
system under test at a predefined Controllability both harder to get. 1992, URL: http://www.rtca.org
time. Temporal domain’s testing of RTS also [8] W. Schütz, The Testability of Distributed
Tool either supports time-stamped affects prospective tools for automatic Systems, Kluwer Academic Publishers,
or timers for the events to take test execution which is essential for an ISBN 0-7923-9386-4, 1993
place. efficient test.
There should be clock [9] International Standard ISO/IEC
References: 9126. Information technology –
synchronization in case of a tool for
[1] T. Koomen and M. Pol, Test Process Software product evaluation – Quality
automatic test execution. Having a characteristics and guidelines for
Improvement A practical step-by-step
real-time network, synchronization their use, International Organization
guide to structured testing, Addison-
can be achieved either with a global Wesley and ACM Press, ISBN 0-201- for Standardization, International
clock used as a master clock 59624-5, 1999 Electrotechnical Commission, Geneva
frequency, or the local clocks are
[2] H. Kopetz and P. Veríssimo, Real Time [10] B. Lindström, J. Mellin, and S.F.
used with a clock synchronization Andler, Testability of Dynamic Real-
and Dependability Concepts, Chapter 16
protocol. Time Systems, Proceedings of Eighth
in Distributed Systems, second edition,
Advanced tools must support Addison-Wesley, edited by S. Mullender, International Conference on Real-Time
resynchronization of the test ISBN 0-201-62427-3, 1993 Computing Systems and Applications
execution whenever a failure has (RTCSA2002), Tokyo Japan, 18-20
been detected. Such tools can take [3] C.D. Locke, Best-Effort Decision Making March 2002, pp. 93-97
for Real-Time Scheduling, Technical
actions to re-install the system [11] L. Hayes, Automated Testing Handbook,
Report CMUCS-86-134, Department of
under test into a familiar state and Computer Science, Carnegie-Mellon Software Testing Institute; ISBN: 0-970-
restart the test case execution at a University, USA, 1986 74650-4, 1995
point from test suite after the failed [12] R. Iorgulescu and R.E. Seviora. A Method
test case. [4] P.G. Frankl, R. G. Hamlet, B. Littlewood,
and L. Stringini, Evaluating Testing for Continuos Real-time Supervision.
IV. Conclusion: Methods by Delivered Reliability, IEEE Software Testing, Verification and
Testing team must participate in Transactions on Software Engineering, Reliability, Vol. 7, pp 69-98, 1997
design decisions to make system more Vol. 24, No. 8, Aug., 1998 n
29
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
Risk management is one of prominent responsibility of the software project management. Software
Risk Management is very essential from the inception of the software project to the deployment and
retirement of the project. A software project is considered to be risky due to uncertainty of stakeholder’s
requirements, in accurate effort estimations, poor communication, etc. Most of the projects fail or
get cancelled due to non-identification of uncertain future events called risks and in accurate effort
estimations. There is a direct correlation between effort estimation and risk management. Effort
estimation should provide information on likelihood of project risks. It takes the input as output of other
risk analysis activities. The objective of this article is to provide some possible risk driven factors while
estimating the software effort in agile methodologies and try to provide the mitigation techniques.
Agile Methodologies:
Now-a-days, most of the companies of the applications. In Agile Approaches, effort estimations in software project
have been transforming from traditional planning and documentation need management when compared to Story
process to modern process models. The not be highly constructive and at the Points in Agile Methods. The Standish
main goal of any process model is to same time customer collaboration and Group reported in 2015 where 39% of
deliver the project with in time, budget, interaction is also highly improved. This software projects developed by Agile
high quality and which can meet all results in improvement of feedback. Methods are Successful and only 11%
specifications given by the customer. of the Software Projects developed by
Effort Estimation in Agile
The traditional or heavy weight process Waterfall model are Successful. Even
Methodologies:
model like waterfall , spiral, prototype, though Agile methods performs better
Project planning is very essential
unified process models etc., are not than traditional models, there is an
in software project management to
able to deliver the product to customer evidence of certain risk factors that can
make successful projects. Project
with in triple constraints of software impact the accuracy of effort estimation.
planning is the process or the series of
project management and it indicates
the failure of the software project. There steps to establish the scope, define the Risk Management:
could be a lot of other reasons for the objectives and develop the action steps Whether it is traditional process or
failure of software projects developed to obtain them. Project Management the modern process, Risk management
by conventional process models Plan includes Scope, Effort, Cost, will be playing a prominent role
where in poor management, lack of Time, Quality, Communication, in software project and process
customer involvement, in accurate Human Resources, Procurement, management. Risk management
effort estimations, fail to identify or Risk, Stakeholder planning etc. One constitutes risk planning, identifying,
predict the risk are the most frequent of the prominent activities in software analyzing, prioritization, monitoring
fit falls. To improve the success rate project management is to estimate the and controlling. The objectives of
of the software projects, 70% of effort accurately. In Software Project Risk Management are to reduce the
the companies are adopting Agile Management, Effort is measured in expensive of rework, minimize the
Methodologies. Agile Methodologies Person-Months, Man-Months, Man- probability or likelihood of impact of
are light weight process models which Hours, Man-Years, etc. Based on negative risks . Risk is an uncertain
are Scrum, Kanban, XP, DSDM, etc. the effort we can calculate the total future event or condition that can
Scrum and XP are very popular among development time and required cost influence the success of software
them and which are intended to develop for the completion of the project. KLOC, operation. If the risk occurs, it could be
the software projects quicker, faster FPA, UCP, Object Points, Class points, a negative impact (lost) or the positive
and with high quality. The agile models etc are used for effort estimations in the impact (opportunity). Risk can influence
have been inculcated with iterative traditional software development. But any of the software development
development and incremental delivery none of them have given the accurate activity like project planning, customer
www.csi-india.org
30
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
relations, environment establishment, Table.1 : Risk Management in Effort Estimation of Agile Methodologies
etc,. Risk management is an ongoing
activity from the inception of the project S. No Effort Factor Risk Identification Risk Mitigation
to deployment and retirement of the 1. Domain Experience Lagging in Domain Provide domain training by
software project. Risk Management Experience experts in specific domains
team should always be a proactive 2 Requirement Unclear and Inadequate Obtain clear requirements by
rather than reactive. Proactive teams Volatile Requirements frequent communication between
start of thinking the potential future team and customer. Construct
harms and also try to fix it . The Standish the prototype of the project to
Group 2015 chaos reported that only baseline the requirements
29% projects are successful, 52% are 3 Customer Insufficient customer Use of rich communication media
challenged and 19% are failed. One of Involvement involvement like video, web conferencing
the reasons to get fail is non-identifying when face-face interaction not
high risk factors while estimating the possible.
effort in the software development. 4 Platform Lack of knowledge Include training by experts who
The main objective of this article is to Experience about platform in which are familiar to that platform.
address the categories of risk factors software is developed.
that influence the effort estimation 5 Communication Lack of Communication Foster team collaboration by
in Software Agile Development. The Capability between team and client improving communication skills
estimations are always go hand in hand and language skills
with risks. New Teams Scrum master would not
pressurize new teams until 2 or 3
sprints to be completed
Risk Identification & Risk Avoidance &
Planning Risk Mitigation 6 Inadequate Requirement Conflicts Regular Requirement
Prioritization of Prioritization. Tool to give ratings
Requirements
7 Software Reliability Results in safety, Fault tolerant design, formal
Fig. 1 : Risk Management economic, security and validation and testing
environmental damage
Risk Management for effort Development Life Cycle (SDLC), Project The key responsibilities of Risk
estimation in Agile Approaches: Management, Group Awareness, Management are to Identify Risk Factors
The objective of the Risk External Stakeholder Collaboration, and mitigate the negative impact of the
Management in effort estimation is to and Technology Setup. Each category of risks. Risk Avoidance and Mitigation
identify the probable risk factors and risks is described by risk areas wherein approaches are the similar actions
take necessary action plans to reduce each risk area constitutes risk factors. to refer the risks. Avoidance is done
the impact of effort related risk in the In the literature, different Effort Factors before the project is initiated where
projects. If the risk occurs there is a and Risk Factors are identified. Key as mitigation would focus on actions
probability of over budget, over runs, Team Capability, Domain Experience, during the software development.
low quality and increase in rework which Platform Experience, Communication Mitigate the risk would require that the
leads to failure of the software projects. Capabilities, Requirement Volatile, manger either increases the project
Common risk categories in the software Customer Involvement….are the budget or the project performance.
project management are Software relevant effort factors.
Conclusion:
Off the Shelf Components
Calculate Size Agile models are producing the
of the Project Story Points
more number of successful projects
Skill Upgradation
comparatively traditional process
Risks
models like waterfall model, Unified
Process Model, etc. Predicting the
effort in the software development
Determine Effort
Resource Availability
is very essential in either traditional
or model process models. Accurate
Constraints
effort estimation leads to success
Computer Unit Cost of the projects. While estimating the
Development Cost effort so many risk may encounter.
Cost This article provides risk assessment
and risk control activities associated
Fig. 2 : Effort and Cost Management
with effort estimation in Agile software
31
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
development. We have noticed that Distributed Agile methodologies. [5] Cinzia Muriana, Giovanni Vizzini, Project
domain experience, communication [2] Mala.V.Patil, Software Effort Estimation risk management: A deterministic
capability, customer involvement are and Risk Analysis-A Case Study, ICTES quantitative technique for assessment
the most prominent effort factors while 2007. and mitigation, ScienceDirect 2017.
estimating the effort. In this article, [3] Ekananta Manalif, Luiz Fernando [6] Adam Trendowicz, Software Cost
possible risks were identified while Capretz, Ali Bou Nassif, Danny Ho, Estimation, Benchmarking, and Risk
Fuzzy-Excom Software Project Risk Assessment, 2013.
estimating the effort and also suggested
Management, ICMLA-2012.
the mitigation approach for each risk. [7] Adam Trendowicz, Ross Jeffery,
[4] Chandan Kumar and Dilip Kumar
References: Software Project Effort Estimation,
Yadav, A Probabilistic Software Risk
[1] Dr. S V Shrivastava, Dr. Urvasi Rathod, 2013.
Assessment and Estimation Model for
A Risk Management Framework for Software Projects, ScienceDirect 2015. n
www.csi-india.org
32
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
I. Introduction:
Software engineering concerns validate system requirements. The 2 describe the Logical Hierarchy
with wide use of engineering principles objective of requirement engineering is Requirement Target Planning (LHRTP)
to achieve cost-effective software with to describe the principal requirements technique which overcomes the exciting
potentiality to function on real machines. engineering activities such as method’s limitations, Section 3 gives
Requirement engineering in software elicitation, specification and validation. the experimental evaluation result of
development is more crucial. Everyone Requirement elicitation is the process LHRTP.
agrees that security is difficult. The of determining, understanding,
2. Existing methods for
requirements engineering principles reporting, and realizing the user
Requirement Elicitation:
are framed based on an idea that would requirements and constraints for the
engage the community overcoming system. Requirements specification is (i) Stake Rare Method
complex problems. Security is about the process of documenting the user’s Stake Rare [1] is a method that
the prevention of several difficulties due needs and constraints unmistakably is able to balance the large software
to the presence of attackers behaving and accurately. Requirements projects with many stakeholders using
malicious activities. Software security verification is the process of promising social networks and collaborative
is incredible due to the intrinsically the system requirements are absolute, filtering to identify and prioritize
complex task and the problem happens accurate, reliable, and understandable. requirements. Collaborative filtering is
because of three main reasons such as The security at the requirements utilized to prioritize the requirements
networks are everywhere, systems are stage is most essential concept for based on the stakeholder ratings.
easily extensible and system complexity understanding not only level of secure Stake Rare identified stakeholders
is rising. The principle objective of software but also a secure way to and request identified stakeholder
requirement engineering research guarantee user satisfaction with end to suggest other stakeholders and
is not just to point out the fact about product. In order to facilitate better stakeholder actions. Constructs a social
security risks keep on rising every day, understanding, each of elicitation network with stakeholders as nodes and
but rather to defeat attack, just as any specification and validation phases their suggestions as connections, and
other system property. Security should considers a significant aspect of the prioritizes stakeholders using a range
be tackled at the beginning of the requirements engineering stage. of social network calculations to decide
software lifecycle. Section1 shows the three commonly software project authority. Using the
Requirement engineering is a used methods for Requirement information gathered from surveying
processes used to find, analyze and elicitation and their limitations, Section and interviewing 87 stakeholders, the
33
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
report demonstrated that Stake Rare of the requirement and not to prioritize of assessment criteria. The assessment
forecasts stakeholder requirements requirement .Then prioritization is criteria compare and substitute with
accurately. performed to manage the requirements. respect to each criterion, and resolve
Stake Rare provides a more Prioritization through AHP results using the problem related to the prioritization
absolute and correctly prioritized list threat level analysis is not more suitable of larger projects for every decision
of requirements using collaborative for facing DOS attacks. Define an substitute to reach the effective
filtering. But Stake Rare involves certain automatically generated partial, passive objective.
challenges regarding collaborative user oracle from the agent design models. The first step in LHRTP approach
requirements and Fails to improve the Not yet develop for preventing fault at is to construct the chain-of-command
objectiveness and scalability of the initial stage of software requirement in such a way that the decision goal is
larger system specification. at the top level, assessment criterion
(ii) Security Requirements 3. Logical Hierarchy Requirement and sub-criterion are in the middle
Engineering (SRE) Target Planning (LHRTP) levels followed by the assessment
Here a process is proposed to Stakeholder is an individual or alternatives at the bottom. Once the
address the challenges of collaborative group who influence the success of chain-of-command is constructed,
user requirements elicitation. The failure of a project. LHRTP approach provides a structured
process promotes stakeholder This approach handle the framework for setting software
agreement, through exploiting team suggestions of the multiple requirements priorities on each level
dynamics to fetch a better understanding stakeholders’ and developed an using paired comparisons.
of requirements. However, the process effective framework for larger system. As shown in Fig. 2, the top-down
needs a further work to evaluate the The problem of information overload is approach represented with top, sub-
process within a larger-scale project. overcome by prioritizing according to criterion and bottom level. In order to
A framework for security requirements the requirements of the stakeholder. identify the criterion and sub-criterion
elicitation and analysis [2] is build The LHRTP approach uses to on larger projects, discussion were
based on constructing a context for the recognize and prioritize stakeholders conducted on separate academic,
system, denoting security requirements based on the influential factor in larger consulting, and governmental
as criteria, and emerging satisfaction project. Stakeholders are identified stakeholders. Each stakeholder from
metrics for the security requirements. from the list of stakeholders namely multiple groups has experts who were
The system context is expressed using stakeholders 1, 2, 3….n as they form the asked for their input requirements
a problem-oriented information, source of requirements. Furthermore, regarding the criterion and sub-
then is validated against the security they are prioritized, according to their criterion levels for removing the risk
requirements during building of a level of influence (i.e.,) scores in the factor. After thorough and intensive
satisfaction metrics. The accuracy of larger projects. planning with the experts, a refined list
security requirement is achieved using Fig. 1. Shows top-down approach of software criterion and sub-criterion
satisfaction metrics. Furthermore, which assesses the virtual importance were obtained.
framework needs to solve risk
analysis and understanding of formal
arguments. Constraints satisfies the Large Project
argument for security requirements.
System context using problem oriented
notation is validated against security
requirements. List of requirements
SRE Methods did not impose
structure on the requirements analysis
process and fail to adequately provide
for the description of Stake holder
activities Stakeholder1 Stakeholder2 Stakeholder3 Stakeholder n
Step 2:
Stakeholders of count ‘N’ is
Assessment
Goal Top level used to identify the substitute
Step 3: Build the top-down approach for
each stakeholder
Step 4: Top-Down approach follows with
Assessment Criteria 1 Assessment Criteria 2 global load to recognize and
prioritize the stakeholders
Sub criteria Step 5:
Mutual Filtering in TD-
level
REP approach predict the
Criteria 1:1 Criteria 1:2 Criteria 2:1 Criteria 2:2
requirements
Step 6: Analyze the global load for sub-
criterion and performance of
the substitute with respect to
the sub- criterion
Bottom level
Assessment alternative Step 7:
Obtain the global weights of
sub-criterion using the top-
Fig. 2 : Hierarchy Process Representation
down approach with objective
function. End
Mutual Filtering in LHRTP Technique The algorithm for LHRTP approach is:
4. Experimental Evaluation of
Mutual filtering performs the Begin
Requirements Elicitation Using
software prediction in addition to
Step 1:
Identify criterion, sub-criterion LHRTP
their scores in order to forecast each
from the list of requirements of Performance experiments are
user’s preference for un-scored items.
multiple stakeholders conducted with various conditions using
Mutual filtering recommender software
systems produce recommendations
for a given user on one or more items. Tabulation of System Success Rate
In mutual filtering, users are the
individuals who provide scores to a Software System Success Rate (success %)
system and receive recommendations Requirement
Identifier StakeRare method SRE Framework LHRTP technique
from the system. A scoring is a
statistical demonstration of a user’s 1 78 82 86
preference for an item. Filtering using 2 79 84 87
Top down approach is the set of score
3 82 87 92
that a particular user has provided to
the system. 4 84 88 93
The requirements that are highly 5 84 89 92
significant are recommended to 6 86 92 95
stakeholders in order to keep away
7 87 93 97
from information overload. Mutual
filtering filter large sets of data projects
for removing the inconvenience for 120
end users. By collecting information
System Success Rate (%)
35
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
JAVA platform for software requirements requirements in a chain of-command computational cost, and masquerading
elicitation. RALIC Dataset is used for form. The chain-of-command form of rate. The LHRTP approach is capable
performing the experiment on TD-REP structure improves the success rate in of resolving conflict, fulfillment of both
which contains the various datasets of TD-REP approach. tangible and intangible criteria from
stakeholders and their requirements different stakeholders’ view points, to
Conclusion:
on a real software project. The RALIC achieve different goals.
The software requirements
datasets consist of 61 stakeholders
elicitation overcomes the problems References
from OpenR, 50 stakeholders from
such as the information overload and [1] Soo Ling Lim., and Anthony Finkelstein.,
ClosedR, 76 stakeholders on 10 “StakeRare: Using Social Networks
prioritization of requirements using
RateP-Obj objectives, 76 stakeholders and Collaborative Filtering for Large-
a LHRTP based on Requirements
on 48 requirements (RateP-Req) 76 Scale Requirements Elicitation,” IEEE
Elicitation target Planning. This
stakeholders on 104 precise necessities Transactions on Software Engineering,
approach initially performed the
(RateP-SReq), 79 stakeholders on 10 2012
project objectives (RankP-Obj), and identification of larger project, analysis
of requirements, recognize and prioritize [2] Haley., Charles B.; Laney., Robin;
79 stakeholders on 51 requirements Moffett., Jonathan D. and Nuseibeh,
(RankP-Req). stakeholders, followed by prediction
Bashar., “Security Requirements
The Top-Down approach based and prioritization. The LHRTP approach
Engineering: A Framework for
on Requirements Elicitation target for software requirements elicitation Representation and Analysis,”
Planning (TD-REP) approach is process based on the suggestion of IEEE Transactions on Software
compared against the StakeRare multiple stakeholders and mutual Engineering,2008
method and Security Requirements filtering overcomes the inconvenience
[3] Silvia T. Acuña., John W. Castro., Natalia
Engineering (SRE) framework. during the interaction of end-users on Juristo., “A HCI technique for improving
Fig. 3 illustrates the system larger projects. The LHRTP approach requirements elicitation,” Information
success rate based on the software balance among the possibly different and Software Technology., Elsevier
requirement identifier. The software inputs obtained from individual journal, 2012
identifier starts with ‘1’ in LHRTP stakeholders in order to reach optimum [4] Qasem Nijem., “Software Requirements
and success rate improved by 9-12% result by overcoming the risk. The Elicitation Tools for Service Oriented
when compared with the StakeRare experiments of LHRTP approach are Architecture: Comparative Analysis,”
method [1] and 3-5% success rate conducted for different conditions using International Journal of Computing
improved when compared with the SRE JAVA platform to attain the maximum Academic Research (IJCAR) ISSN 2305-
Framework [2]. The topdown approach objective function value, scalability ratio, 9184 Volume 2, Number 3 (June 2015),
engages the multiple stakeholders in maximal success rate, 7.405% improved pp. 109-122
the process of assessing the software confidentiality rate with minimal n
Memorandum of Understanding
between Computer Society of India and Springer Nature valid upto 31st December 2020
Requirements :
Formulate strong Technical and Advisory Committees comprising of national and international experts (from renowned
Universities/corporates of repute) in the focus area of proposed conferences
Build communities around conferences
Define steps to check plagiarism
Focus on stringent peer-review process involving all the members mentioned in the Committees and by allowing
sufficient time for review
Interested Conference organizers can contact:
Ms. Suvira Srivastav, Associate Editorial Director, Computer Science & Publishing Development
Springer India, 7th Floor, Vijaya Buiding, Barakhamba Road, New Delhi, India.
Ph: +91-11-45755884, Email: Suvira.Srivastav@springer.com.
www.csi-india.org
36
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
A major challenge for software engineering today is to improve the software production process.
Nowadays, most software systems handcrafted, wade software project management is primarily based
on tenuous conventions. Software engineering faces the challenge of replacing the conventional mode
of operation by computer-based technology. This theme underlies the Software Engineering Institute
that the DoD has established at Carnegie, Mellon University. Among the contributors to software
development technology are ideas, such as object-oriented programming, hardware improvements
related to personal workstations, and programming environments that provide integrated sets of
tools for software development and project management. Facilities and tools are by themselves not
sufficient tc achieve an order of magnitude improvement in the software production process. Future
directions in software engineering must emphasize a constructive approach to the design of reusable
software and to automatic generation of programs. We will briefly explore the promising technology
that can be used to implement these ideas.
Introduction:
A major for the software all or part of this material is granted of software engineering techniques.
engineering field is to bring about a provided that the copies are not made The observation that tools and support
radical improvement in the software or distributed for direct commercial systems are by themselves not sufficient
production process which is plagued advantage, the ACM copyright notice and to bring about a radical improvement
toy low quality and inflexibility of its the title of the publication and its date in the software production process
products and serious overruns in appear, and notice is given that copying leads to an outlook on the future. The
terms of both cost and time. A decade is by permission of the Association major ideas and concepts for achieving
ago, when software engineering first for Computing Machinery. To copy the desired radical improvement in
emerged as a separate sub discipline, otherwise, or to republish, requires software production are reusability and
the initial focus mere on controlling a fee and/or specific permission. A automation. The last part of tiffs paper
the production process than achieving radical improvement requires a is dedicated to a discussion of these
a radical improvement by changing constructive approach that changes the subjects and shows how they can be
the process. The result of this control process itself instead of improving on applied in practice. It is the author’s
view has been a number of substantial existing practices. The purpose of this belief that the software production
activities in areas such as measuring paper is to review the current events in process can be improved substantially
system performance and programmer software engineering that support this if we can steer the development of
productivity and developing techniques constructive approach and to explore software engineering in the direction of
for program testing and symbolic future developments that may lead reusability and automation.
debugging. Today’s practice is still largely to a substantial improvement of the The nature of Software Engineering
dominated by this control view and its software production process. Current Engineering is the creation of
ensuing analytic approach to improving events that relate to software production mechanisms or objects that facilitate the
software production. although useful are rooted in the short but dynamic achievement of a goal. Civil engineers
for better understanding of the software history of software engineering. A brief build bridges for people to get to the
production process and suitable for analysis of the history is followed by a other sides electrical engineers build
finding gradual improvements, analytic discussion of one of the major events radios for the purpose of broadcasting
tools of the kind mentioned above are in the area at the present time, which news and musical entertainment,
generally not adequate to achieve an is the mechanization of the discipline programmers write database systems
order of magnitude improvement in into support systems arid tools that for people to store and retrieve
the Permission to copy without fee assist programmers in the application information. The .Oxford dictionary of
37
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
the American Language stresses the engineering was laid in the sixties with included the design of system version
fact that engineering is the application the invention and formulation of basic control and configuration management
of scientific knowledge and the control concepts in programming languages mechanisms. In addition, a substantial
of power to achieve the intended and operating systems. The design of effort was put into measurements
goal. The adjective “scientific” seems FORTRAN which introduced the concept of performance and productivity as
unnecessarily restrictive because of procedural abstraction was soon well as into models for controlling the
experience and transfer of know how followed by the design of Algol60 which software life cycle which includes the
are substantial factors in engineering introduced a wealth of new concepts production process from inception
without necessarily being scientific. An including data types, parameter and specification to implementation
interesting aspect of engineering is that evaluation 30 modes, recursive and successive releases. The waterfall
the goal of an engineering endeavor procedures, static and dynamic scopes, model is the best known among the
may be to facilitate achieving some dynamic data objects and a formal various models proposed for life cycle
other goal. This is the idea of a tool. The description of language syntax. Later management [Le80]. An alternative
mechanical engineer, for instance, may in the decade, SIMULA67 introduced approach to controlling the complexity
design a floating crane that is used by the concept of object-oriented of large software systems is taken
the civil engineer to build his bridge. The programming through classes and by the founders of a programming
goal of tile mechanical engineer is not subclasses, while Algol68 and Pascal methodology. Their activities give rise to
a particular bridge, but the process Of introduced user defined data types, the concept of structured programming
building bridges. The object he creates reference variables and disjunctive type and to various approaches to program
is not the beam that spans the river, but structures. Much of the engineering verification. Structured programming
the tool that enables the civil engineer during this period was concerned with is in fact a philosophy based on the
to put that beam in place. the optimization of parsing and code limitations of human beings in dealing
Software engineering is particularly generation and with the efficient use with the substance of programs. It
concerned with the general criteria that of hardware resources in timesharing builds on our strengths (rather than
determine the quality of a design and of operating systems. Around 1970, the our weaknesses) by promoting the
the resulting software product. Criteria focus of attention shifted from basic utilization of three of our abilities in
frequently discussed in the literature concepts in languages and systems and dealing with algorithms, enumeration,
are Correctness the correspondence their implementation to the construction induction and abstraction. Enumeration
of specification, design and of systems out of program modules. allows us to distinguish between
implementation Reliability the ability Programmers became more ambitious an oversee able number of cases,
to reproduce a result Performance the and wanted to construct systems that Induction allows us to make use of
ability to respond within tolerable time were hard to express in a single program. iteration and recursion, Abstraction
limits without excessive demands on At this point in time, the need arose allows us to ignore details at proper
storage capacity Adaptability the ability for programming-in-the-large which moments and to reduce complexity
to modify software to take advantage of concerns itself with program interface by viewing collections of objects as
hardware improvements or to respond specifications, the modification process atomic units. Program verification
to changing application requirements of program modules in the context of has been put on a solid basis in the
Extensibility the ability to extend the an evolving system, and the interaction last decade. The axiomatic approach
functionality of a system Friendliness between programmers in the context is particularly suitable for proving
the ability to interact with the user in of a software production project. This the correctness of programs based
terms of understandable messages development had the effect that software on their control structure. Algebraic
while not requiring irrelevant precision engineering shifted its focus from the verification is particularly well suited
of user input Reusability the use of construction of individual programs to for demonstrating the completeness
parts of a system in the design and the process that controls the creation of and consistency of a collection of
implementation of another system software systems. The transition from operations defined for an encapsulated
Fault. Tolerance the protection of pure programming-in-the-small to the data structure. The method of a
information integrity against hardware more ambitious programming in the denotation description of the semantics
or power failure Robustness the large is viewed by many as the actual is particularly suitable for showing
protection of information integrity birth of software engineering. The the consistency of a language design
against unintentional user mistakes and distinction between these two forms and for expressing the meaning and
malicious user acts Privacy/Security of programming was clearly stated interpretation of language constructs.
the protection of information against for the first time in a seminal paper Although program verification is well
unauthorized access and against the by DeRemer and Kron [DK76]. Some understood, a major drawback of the
effects of modification in someone of the most important initial results state of the art is our inability to apply
else’s data of software engineering were the the various methods to large systems.
The Evolution of Software modularity concept and Parnas’ hiding The attempts in that direction have
Engineering principle. Other constructive work in resulted in some interesting interactive
The foundation for software software engineering of that period verification systems that can handle
www.csi-india.org
38
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
small to medium size programs but in each tool. This common knowledge Information on existence of
not large systems consisting of many often takes the form of shared data programs is often hard to get.
components that are not always formats or of information stored in The fact that the meaning of a
collectively available. The state of a common database. An example of program is hard to derive from the
the art in program verification at tool integration is the combination of source code gives programmers the
the end of the last decade was one editor, compiler and debugger that all feeling that one might as well write the
of the causes for another change in operate on a common syntax tree. The program from scratch instead of trying
the direction of software engineering editor shares syntactic knowledge with to understand the designer’s reasoning
leading to the exploration of software the compiler and is able to enforce the behind an existing program text.
development tools and environments. syntax rules while a program is being Although documentation is of some
Two other causes were the analytic written. The debugger shares program help, its two major drawbacks are its
approach to improving the software structure knowledge with the compiler separation hem the source text and its
production process and the labor- and is able to translate problems back lack of rules that guarantee uniformly
intensive implementation of life into source representation through the and completeness. Formal
cycle support. The analytic approach common database. Tool integration is specifications are in fact far more
blocked further progress because of of great help to create environments hopeful for an accurate description of
the tacit assumption that the software that are more specifically task. Oriented what a program does, but 3re generally
production process was basically well than the traditional general-purpose even harder to understand than the
organized and needed only further local environments which are still most source text. A possible solution to this
optimization. The approach to life cycle common today. Tool integration is problem is to agree on a functional
support puts system development and almost totally lacking in the traditional description of programs that does not
project management entirely in the programming environment. Tools describe in detail what a program does,
hands of people with little or no support such as the text editor, the compiler, but describes the data structures it
from software technology. In the next the linking. Loader ned the debugger uses, the input values it accepts and the
section, we discuss the resulting events share at best some knowledge of the output values it produces. After going
of the present that are characterized by underlying file system. No information through the effort of understanding
a mechanization of life cycle support into is shared, however, about data formats someone else’s program, good
integrated programming environments. or data values and no information is intentions are often rewarded with
Programming Environments exchanged through a common database. disappointment because of the
A programming environment A text file is a Pascal program, for program’s dependency on the runtime
is a software system that supports instance, because the author believes environment. Even if a program is
the development and maintenance it is one, not because the text editor designed to run on a popular operating
of software products. The term checked that it really is. system such as UNIX rM2, the
“programming environment” does not Reusability and Automation: programmer who wants to make use of
refer so much to the activity of writing Programming environments, it in his environment will discover that
programs, but more to the manipulation software metrics and software the Program does not run because of
of programs for the purpose of system engineering methodologies are helpful, incompatible peripheral equipment or
generation, configuration and version but not enough to bring about an order local operating system extensions.
control, project management and of magnitude improvement in the Context dependencies are often hard to
documentation. Althoughthe term quality of our software products and in detect because documentation on these
“system development environment” matters is rarely provided. A
the predictability of the production cost
is actually more appropriate in this programming language such as Ada
and effort. Constructive and analytic
context, we will stay with tradition may alleviate this problem because of
techniques are both valuable and
and stick to the widely used term its precise description of package
should be further pursued to facilitate
“programming environment” to denote dependencies. Explicit description of a
the software production process.
systems that support the entire program’s dependency on other
However, one must expect no more than
spectrum of activities involving software programs is strongly recommended
a gradual improvement from applying
production. The goal is for programming over implicit dependencies that are
these techniques, because none of
environments to support the entire life generated by deep nesting of scopes
them necessarily changes the software
cycle and not just the programming and by an excessive use of global
production process itself. It seems that
fraction of life cycle. Traditional objects. It is often very hard to find out
a major problem in software production
programming environments lack some which programs written by other people
is the fact that most software is written
properties that seem very desirable in can be used again. Many programs are
from scratch. The reasons why this is
modern programming environments. designed as system modules and are
common practice are threefold.
These properties are tool integration burried deep down in a system
Programs are hard to read
and uniformity of the user interface. description. Names of program
Tools are integrated when they possess Programs are strongly tied to their modules often make little sense outside
common knowledge that can be applied context of the system context, while the purpose
39
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
of a program usually is described in particular context. Two direct unspecified. This facility supports the
relation to the modules it interacts with applications of reusability are the use of concept of reusability by allowing a
instead of in terms of its own program libraries and of shared code. programmer to define the details of a
independent functionality. The result is The best example of reused program data structure once and for all,
that a design always seems libraries is that of mathematical independent of what type of objects will
unnecessarily complicated to an subroutines. The IEEE Society has done be stored in that structure. A generic
outsider. This phenomenon causes the us a good service by standardizing a set package for queues, for instance, can
outsider to think that he could have of mathematical routines, including be instantiated for messages, for jobs,
done a better job than the designer of specifications of input/output precision. for arrival and departure schedules, etc.
the existing program. This lack of It would be extremely helpful if similar Other practical forms of reusability are
confidence in your fellow programmer standard packages were designed and through specification and through
is a major cause of unnecessary maintained for string processing, common design. Memory management
duplication of effort. The problem of window management and namespace and parsing techniques are the typical
acquiring information about the management. The Ada language made examples of common design that is
existence of programs is solved in part a useful contribution by including in the applied in many operating systems and
by encouraging the potential user to try language a standard package for file compilers. Although this form of
harder to find out what is available and handling and for text I/O. Users of reusability has the drawback of
how it is used. However, this is not a timesharing operating systems are very requiring implementation, it has the
reasonable proposition without counting familiar with the idea of sharing code. great 2UNIX is a trademark of Bell
on substantial help from the original Their programs routinely use common Laboratories. Advantage of building on
designer. The only way that one can operating system facilities for file a conceptual basis that can be taught in
realistically hope that people will try to handling, input/output and memory the classroom. Reusability can be
reuse software is to demand that management. It is in this context greatly enhanced by automation of the
designers of original programs take immaterial whether or not executable program generation process.
reusability into account from the start. If versions of code are shared. Even if Automation in this context means using
reusability is adopted as an original programs each use their own copy of a tools that translate a precise program
design objective, one may expect a common program, the fact that counts specification into a program form for
program documentation style to emerge is that the utility program was not which a compiler or interpreter exists.
that clearly explains a program’s written by the user, but taken, as is, The automation tools are commonly
independent functionality, its intended from an available pool. Practice has known as generator programs, or
use and its dependency on its context. A shown that reusability through code generators for short. The input of a
programming environment can play an sharing is greatly facilitated by generator is a program description and
important role in making software eliminating the context dependency its output is a program in a programming
reusable. It can provide facilities that factor. This can be done in one of two language or in some other form that
allow users to browse through libraries ways: either by writing a program that is can be translated into machine code.
that describe existing programs and independent of its context (this is The target of a generator might for
their usage. The better programming basically the Ada Language approach), example be intermediate code as
environment will provide, in addition, an or by having the various users work in generated by the front-end of a compiler.
engineering environment that is used the same context so that context This intermediate code is then
for transforming an existing program dependencies are irrelevant. Although translated into machine code by the
into one needed for a specific the latter seems to be a cop out, its code generator part of a compiler [. The
application, or for deriving a specific usefulness has been firmly established idea of a generator was first proposed
program from a general description. by the success of the UNIX operating for compilers in the form of a compiler-
Reuse of software is at this point in time system, The reason why many compiler. Reusability and automation
our best hope for improving the software companies are interested in can be very effective when applied to the
production process and its resulting standardizing on UNIX, as universities design of a family of systems that have a
product. It has the potential of reducing basically have done over the last decade, large part in common. Examples of
the cost and effort of the process and it is to capitalize on the available software such families are database management
has a good chance of increasing that runs on UNIX while avoiding the systems, compilers and programming
reliability through incremental problems o| having to translate and environments. The kind of facilities
modifications of programs of proven rewrite existing programs to run on which members of a system family
quality. However, the preceding different operating systems. The Aria typically have in common are the
discussion shows that the term language provides another form of facilities for database or file
reusability must not be given the narrow reusability through type abstraction management, for input/output and for
interpretation of reusing existing [Ad83]. Generic packages can be written maintaining the user interface.
programs without change, In fact, in Ada that specify the traversal and Conclusion:
reusability spans a spectrum of updating operations on data structures The main objective of software
applications that each makes sense in a while leaving the element type engineering is to help produce high
www.csi-india.org
40
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A R T I C L E
quality software systems within Measurements and support tools are out what is available and how things
reasonable bounds of time and cost. designed to correct flaws in an existing work. Time is ripe for a major effort to
The major factors that determine methodology, but do not address define the concept of reusable software
the quality of a software product in the more fundamental question of precisely and to develop techniques for
addition to its desired functionality methodology itself, There is a general creating reusable software.
are reliability, performance, flexibility feeling that current practices are References :
and friendliness of the user interface. inadequate (and will become more so in Reference Manual for the Ada
Software engineering is right now the near future) to satisfy the growing Programming Language. United
facing the challenge of solving the demand for reliable software that is States Department of Defense,
serious problems encountered in the produced on time and within budget. The January 1983. [Ah77] Aho, A. V. and
software production process which lead basic flaw.,~ of the current process are J. UIIman. Principles of Compiler
to cost and time overruns and products its labor intensive approach to project. Design. Addison Wesley, 1977.
that are lacking in many of the quality It seems that a significant improvement Barbacci, M. R.; A. N. Habermann;
factors. Tools most frequently used can be achieved if we can produce M. Shaw. The Software Engineering
for improving the software production reusable software and automate the Institute: Bridging Practice and
process are program measurement and generation of new software. Success in Potential. IEEE Software [2], 6.
software development support tools. the area of reusability may reduce the November 1975.
Measurement tools are helpful in finding production of new software to a fraction
the bottlenecks in the existing software of what is commonly written today, Brooker, R. A. and D. Morris, A
production methodology. Support tools while automation has the potential General Translation Program for
are helpful in alleviating the task of the of simplifying the production process Phrase Structure Languages.
Journal of the ACM 9, pp. 1-10,
people involved the production process. with an additional gain in reliability.
1962.
Both kinds of tools help to make the Reusability has no chance of being
production process more effective and successful unless taken into account as Buxton, J. N. Requirements
more reliable. The original design of a major design objective from the start. for Ada Programming Support
isolated support tools is gradually being A major obstacle to overcome is the Environments (Stoneman). US
replaced by integrated programming problem of information dissemination. Government, Department of
environments that behave more as With current software production Defense, February 1980.
intelligent assistants than as toolboxes. practices, it is extremely difficult to find n
Congratulations!
Brig. S V S Chowdhry (Retd) was recently conferred the prestigious Bharat Gaurav Award
by the India International Friendship Society. The Award was presented to him at an Awards
Ceremony at New Delhi on 21st December 2016 by Dr Bhisham Narain Singh, former
Governor of Tamil Nadu and Assam.
Brig Chowdhry was President of the CSI during 1992-94. He was also President of the IETE
during 1994-96. He has been honoured with the Lifetime Achievement Awards by the CSI and
the IETE.
CSI express hearty congratulation for the same
41
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A REPORT
2nd
3rd
During these two days of the convention,
around 200 participants & volunteers Event 5: ICT Quiz
were assembled. The following events Students have participated in the
were organized: Quiz competition based on ICT. Aditya
Agrawal, Manabhanjan Pradhan &
Event 1: Panel Discussion Mayank Agrawal secured 1st, 2nd & 3rd
All the guests were discussing regarding positions respectively. Prof. Nachiketa
the success of CSI Bhubaneswar Tarasia has managed this event.
chapter and the events to be organized Event 3: Keynote Address
under this chapter in the coming days. Prof. Sudhakar Sahu, Asst. Professor,
IMA Bhubaneswar has delivered his talk
titled, “Application of Crypto System”.
He has discussed the security issues
in the current era and some solutions
they are working at IMA, Bhubaneswar.
Prof. Bhabani Shankar Prasad Mishra
managed this event.
1st
www.csi-india.org
42
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A REPORT
43
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
A REPORT
Semi-supervised
Supervised Learning Unsupervised Learning Reinforcement Learning
Learning
CrossWord
Durgesh Kumar Mishra
Chairman CSI Division IV Communications
Professor (CSE) and Director Microsoft Innovation Center, Sri Aurobindo Institute of Technology,
Indore. Email – drdurgeshmishra@gmail.com
Test your knowledge on Software Engineering (Open Source Software)
Solution to the crossword with name of first all correct solution provider(s) will appear in the next issue. Send your answer to CSI
Communications at email address csic@csi-india.org and cc to drdurgeshmishra@gmail.com with subject: Crossword Solution –
CSIC March 2017 Issue.
Clues
1 2
3
Across
4 5 6 5. A project acronym for open source software
7. A repository of thousands of open source
7 projects
8. A Linux-based Open source platform for
mobile
9. A virtual learning system
8 10. A tool for automated website hosting
12. Quality control expert of an open source
9 sofware community
13. An open source mail transfer agent
10 14. Collection of tools which allows running UNIX
Applications on Windows Operating System.
Down
11 1. An integrated development environment
2. An open source distributed database system
12 3. A 3 D graphics and animation package
4. To give a limited version free and charge for
premium version
6. An error or flaw in computer program
8. A Freely-available web server
11. Developing a new program from some open
13
PRE-CONVENTION source code
TUTORIAL ON DATA SCIENCE
Venue: PSG College of Technology Date: 22.01.2017
14
Solution for February 2017 Crossword
1
s
2 3
m L h
We are overwhelmed by the response and solutions received from our enthusiastic readers 4
o d r i v e r
Congratulations! t
h
5
p
a
e
n
u
l
PRE-CONVENTION
All Nearby Correct answers to February 2017 month’s crossword received from the following p TUTORIAL
r o c e s s ON aDATA
6
m SCIENCE
x
Venue:
Venue:
PSG
PSG
College
College
of Technology
of Technology Date:
Date:
22.01.2017
22.01.2017
Glimpses of Pre-Convention Tutorial on Data Science
45
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
F rom chapters & di v isions
BHOPAL Chapter
NOIDA Chapter
Noida Chapter has organized a one day National Workshop
on the topic Information Security, Cyber Forensic & Big
Data in the campus of Monad University, Ghaziabad, UP on
26th November 2016. Prof. Ram Chandra, Hon VC, Monad
University has given the welcome address and elaborated
the aims & objectives. Prof. Manohar Lal has deeply
explained the use of computer education in India & its use
for protecting the cyber crime in the country. Inaugural
session was addressed by the following eminent speakers.
Dr. Shirish S Sane, Regional Vice President, Region-VI, Chief Guest Prof. K K Aggarwal in his inaugural address
visited Amravati on 13th February 2017. Dr. G R Bamnote, has said that UID is the biggest data base in the world and
www.csi-india.org
46
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
F rom chapters & di v isions
it has reversed the old statement. Invention is the mother the speaker for the event.
of necessity in the present internet age. He has also said
that we should protect our debit card, credit card & bank VADODARA CHAPTER
credentials by using strong password in the present age
of cashless economy. Mr. V K Shukla Add. Advocate UP
Government has said that the use of internet has become
very important for communication in offices & courts. Cyber
crime has also increased in the recent times. Internet has
encouraged the field of education, business and knowledge,
but at the same time it has also taught new techniques to
cyber criminals to hack the sensitive data. Mr. Anuj Agrawal
has given hands on training on memory forensic & data
forensic. He has also given tips to secure the login id &
password from cyber criminals. He has also given various
tips to protect from cyber criminals in case of theft of crime. Chapter celebrates The Computer Day on 22nd January 2017.
The workshop was coordinated by Dr. Payal Bhardwaj, & vote The event was organized in collaboration with Department of
of thanks was given by Dr. R C Tripathi, Organizing Secretary Computer Science and Engineering, The M S University of
& Chairman CSI Noida Chapter Baroda. Technical Fiesta comprised of total 16 competitions,
giving opportunity to students of every age i.e. from class 1st
in schools to final year of the University. The highest number
of participation was in Programming in C competition, with
45 participants from colleges, and from schools it was 51
teams. The topics for various competitions were IT and
socio-IT related theme. The topic of some of the School
competitions are pre-announced i.e. “Digital India” for
Web Designing, “Internet of Things” for PPT Presentations
“Demonitization / Cashless Transactions” for Collage
Making, “Clean India, Green India” for Poster Making. Three
Prizes for each competition were awarded. Total of 63 prizes
TIRUCHIRAPALLI Chapter were distributed for all the competitions, amounting to
` 38,000/- which were covered from Participation Fees and
Sponsorship. Several Senior CSI Committee Members and
CSI Professionals graced the occasion
VELLORE CHAPTER
47
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
F rom chapters & di v isions
from student branches
Region-I
The NorthCap University, Gurgaon The NorthCap University, Gurgaon
21-1-2017 – Prof. Hoda, Mr. Vyas, Mr. Saurabh Agarwal, Prof. 3 & 4-2-2017 - CSI State Level Student Convention (Gujarat)
Rattan Sharma, Mr. Jasmeet Sethi and Prof. Vinay Kumar on the them Digital India
during State Student Convention on Digital India
www.csi-india.org
48
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
F rom student branches
Region-III Region-V
Mody University of Science & Technology, Lakshmangarh Vasavi College of Engineering (Autonomous), Hyderabad
4-2-2017 to 7-2-2017 - Four day workshop on Cloud Computing 25-1-2017 – Contest on Crossword Puzzle
Region-V
NMAM Institute of Technology, Nitte Scient Institute of Technology, Hyderabad
28-1-2017 – Workshop on User Centered Design 17 & 18-2-2017 - Workshop on Python Programming
PVP Siddhartha Institute of Technology, Vijayawada Geethanjali Institute of Science & Technology, Nellore
4-2-2017 – CSI Student Branch Inauguration 11-2-2017 – One day workshop on MongoDB
Stanley College of Engineering & Technology for Women, Hyderabad
49
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
from student branches
Region-V
Adikavi Nannaya University, Rajahmundry Chalapathi Institute of Engineering and Technology, Guntur
14-2-2017 – Prof. M Mutyalu, VC inaugurated the Student 11 & 12-2-2017 - Second National Conference on Recent
Branch Advances in Computer Science & Engineering
CMR Technical Campus, Hyderabad
9-2-2017 - Seminar on Study abroad Awareness 16-2-2017 - Guest Lecture on Java App. Development with SDLC
NBKR Institute of Science and Technology, Nellore
30 & 31-1-2017 - Two days Workshop on Web Application 17-2-2017 - One Day Workshop on Data Science Research
Development
Amrita Vishwa Vidyapeetham (University), Bangalore GITAM University, Bangalore
www.csi-india.org
50
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
from student branches
Region-V Region-VI
Sasi Institute of Tech. & Engg., Tadepalligudem MGM’s Jawaharlal Nehru Engg. College, Aurangabad
11-2-2017 – Prof. Raghavendra Rao during Guest Lecture on Recent 28 & 29-1-2017 – Technical Student Convention
Trends in Data Mining
Region-VI
Shri Ramdeobaba College of Engg. and Mgmt., Nagpur Late G N Sapkal College of Engineering Anjaneri, Nashik
18 to 20-1-2017 – Polaris2K17, a National Level Technical 6-2-2017 – Prof. Wankhade, Mr. Sudhir Kulkarni, Mr. Rajesh
Symposium & Mr. Kaith during Microsoft Technology Day Celebration
Kavikulguru Institute of Technology and Science, Nagpur All India Shri Shivaji Memorial Society's Institute of IT, Pune
23-1-2017 – Motivational and Patent Registration Seminar by 5 to 18-12-2016 – Two Weeks Industrial Training Program
Mr. Vijay Mhaske
Guru Gobind Singh Polytechnic, Nashik
4-2-2017 – Mr. Sudhir Gorade during Guest lecture on 4-2-2017 – Mr. Ravi Bhave during Guest lecture on Database
Personality development Management System with SQL
51
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Registered with Registrar of News Papers for India - RNI 31668/1978 If undelivered return to :
Regd. No. MCN/222/20l5-2017 Samruddhi Venture Park, Unit No.3,
Posting Date: 10 & 11 every month. Posted at Patrika Channel Mumbai-I 4th floor, MIDC, Andheri (E). Mumbai-400 093
Date of Publication: 10th of every month
Region-Vi
K K Wagh Institute of Engg. Education & Research, Nashik All India Shri Shivaji Memorial Society's Institute of IT, Pune
16-2-2017 - Mr Sanjeev Mishra during Expert Talk on Secure 7 & 8-2-2017 – Regional Level Student Convention for
Socket Layer Region-VI
Region-ViI
S A Engineering College, Chennai Knowledge Institute of Technology, Salem
22-2-2017 – Mr Kathiresan is elaborating on the Mission and 17-2-2017 & 18-2-2107 – CSI State Level Student Convention
Benefits of CSI during CSI Awareness Programme
Valliammai Engineering College, Kattankulathur St Joseph's Institute of Technology, Chennai
10-2-2017 - Seminar on Internet of Things 2-2-2017 - Young Talent Search in Code Debugging & Poster
Design
Kongu Engineering College, Erode Kongu Engineering College, Erode
4-2-2017 - Web Designing using HTML and Java Script 18-2-2017 – Dr Thangarajan, HOD, CSE inaugurating the
Technical symposium ENVISTAS-2K17