You are on page 1of 52

52 pages including cover

Knowledge Digest for IT Community


Volume No. 40 | Issue No. 12 | March 2017 ` 50/-
ISSN 0970-647X

Software Engineering

Cover Story
History of Software Engineering: Status of
Software Component, Reusability and Quality 6

TECHNICAL TRENDS SECURITY CORNER


www.csi-india.org

Future of Software Engineering 10 Pseudo Code Attack in Software


Engineering 18
research front
Article
An Essence of Soft Computing Techniques
The Role of Software Engineering 20
On Software Development Life Cycle 13
CSI CALENDAR 2016-17

Sanjay Mohapatra, Vice President, CSI & Chairman, Conf. Committee, Email: vp@csi-india.org

Date Event Details & Contact Information

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

For Computer Society of India


Security Corner
Pseudo Code Attack in Software Engineering 18
Design, Print and S Hemalatha & P C Senthil Mahesh
Dispatch by
GP Offset Pvt. Ltd.
Articles
The Role of Software Engineering 22
Hardeep Singh & Parminder Kaur
Formal Methods in Software Engineering 24
A Sowmya Mitra
Real – Time System: A challenge for Testers 27
Nancy Goel & Shaily Jain
Risk Management in Effort Estimation of Agile Methodologies 30
S Rama Sree & Ch. Prasada Rao
Logical Hierarchy Requirement Target Planning (Lhrtp ) technique to overcome 33
risk on Software Projects
R. Saranya
Technological advances in Software Engineering 37
Please note: V Vetriselvi
CSI Communications is published by Computer
Society of India, a non-profit organization.
Views and opinions expressed in the CSI
Communications are those of individual
authors, contributors and advertisers and they
may differ from policies and official statements
of CSI. These should not be construed as legal
or professional advice. The CSI, the publisher,
the editors and the contributors are not
responsible for any decisions taken by readers PLUS
on the basis of these views and opinions.
Although every care is being taken to ensure
CSI Regional Student Convention – A Report 42
genuineness of the writings in this publication,
CSI Communications does not attest to the
Pre-Convention Tutorial on Data Science – A Report 44
originality of the respective authors’ content.
Brain Teaser 45
© 2012 CSI. All rights reserved.
Instructors are permitted to photocopy isolated CSI Reports 46
articles for non-commercial classroom use
without fee. For any other copying, reprint or Student Branches News 48
republication, permission must be obtained
in writing from the Society. Copying for other Printed and Published by Mr. Sanjay Mohapatra on Behalf of Computer Society of India, Printed at G.P. Offset Pvt. Ltd.
than personal use or internal reference, or of
articles or columns not owned by the Society
Unit-81, Plot-14, Marol Co-Op. Industrial Estate, off Andheri Kurla Road, Andheri (East), Mumbai 400059 and Published from
without explicit permission of the Society or Computer Society of India, Samruddhi Venture Park, Unit-3, 4th Floor, Marol Industrial Area, Andheri (East), Mumbai 400 093.
the copyright owner is strictly prohibited. Tel. : 022-2926 1700 • Fax : 022-2830 2133 • Email : hq@csi-india.org Chief Editor: Prof. A. K. Nayak

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,

“Before software can be reusable it first has to be usable.”


– Ralph Johnson

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.

With kind regards,


Editorial Team, CSI Communications

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.

With best wishes to one and all,

Dr. Anirban Basu


President, CSI

Dr. Anirban Basu, Bangalore, president@csi-india.org

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

History of Software Engineering: Status of


Software Component, Reusability and Quality
Munishwar Rai Kiranpal Singh Virk
Ass. Prof., M. M. Inst. of Computer Tech. & Business Management, Ass. Professor, Guru Nanak Khalsa College,
Maharishi Markandeshwar University, Mullana (Ambala), Haryana Yamuna Nagar, Haryana

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

SIMULA 1965 Eiffel 1986 C# 2000 Swift 2014


Forth 1970 Perl 1987 Scala 2003 Erlang 2016 Fig 1 : Software Problems and their
Algol 68 1970 Sources

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

Table 2 : Sources of Software Problems Components’. It would be appreciative


of the fore-vision of Mcilroy by
Source Description quoting what he said about software
1 Internal Requirements Specification, Design, Source Code, components in 1968: “My thesis is that
Complexity Maintenance Strategies the software industry is weakly founded,
2 Essential Related with the domain for which software solution is and that one aspect of this weakness is
Complexity developed the absence of a software components
sub-industry. We have enough experience
3 Human Errors Human psychology, behavior aspects to perceive the outline of such a sub-
4 Project Variability Repeatable and Unique aspects of the project industry”. E. W. Dijkstra’s paper on
Fig 1 : Software Problems and their Sources ‘Structure Programming’ [6] talked
about software components and ‘Go
4. Decade-wise History boundaries between software and To Statement Considered Harmful’ [7]
In this section, we would try to know hardware being drawn more clearly. were landmarks. Quality attributes like
the milestones in software engineering. The hardware related practices like correctness, portability, adaptability,
With each decade status of software ‘measure twice, cut once’ were no longer scalability, reliability, completeness
component, reusability and quality is seem to be applicable on software were deliberated upon in NATO
also discussed separately. Starting with development. However, the thought conferences [1][6].
1950, software was considered second of making software development a 1970-1979: The NATO conference of
to hardware. The journey of over 66 years separate independent entity brought 1968 and 1969 became the foundations
saw software emerged as a separate its own sets of problems. First was to for initiative for amalgamation of best
independent industry. This transition assume software was easier to change approaches of different disciplines
has seen how the software industry than hardware. Another misconception that were used in 1950s and solutions
disassociated itself from core practices was assumed that software unlike suggested during 1960s. The decade
of other engineering disciplines. In later hardware does not wear out. Ease witnessed the emergence of the various
evolution of software industry, the same of modification lead to ‘code and concepts as shown in Table 3.
practices were incorporated in modified fix approach’. Doing away with civil Status of Software Component,
way. The base year for the journey of engineering fundamentals like, ‘strong Reusability and Quality : The biggest
software could be taken as 1950s. The foundation results in stable building’, paradox of 1970 came with the Royce
concentrated and conscious effort to resulted in structure less programs. Waterfall Model [8]. Although this
establish software as individual entity Critical design reviews of production model was not sequential as shown in
could not be traced beyond 1950. line manufacturing industry were Fig. 2, it was interpreted as sequential
1950-1959 : In this decade parked away. As the size and complexity process due to two main reasons, Firstly
computer meant hardware and of the software was growing, human- due to government process standards
computer professionals meant interaction issues gave the psychologist of that time. Secondly, Royce himself
electrical/electronic engineers angle to the engineering discipline. have drawn sequential life cycle to
or mathematicians. Software In 1963 the first time-sharing system forewarn the pitfalls as in Fig 3. In fact
professionals were second rung appeared (MIT, Stanford, McCarthy, DEC Royce had fore-warned about the pure
leaders. The prominent software project PDP- 1). It enhanced the user-computer sequential nature of waterfall model in
was SAGE (Semi-Automated Ground interaction .This resulted in evolution his words:“I believe in this concept, but
Engineering) for U.S. and Canadian from batch processing systems to time- the implementation described above is
air defense. This project brought sharing. This also meant the start of risky and invites failure.” After a good
engineers from cross disciplines like ‘Internet’ minus ‘websites’. However, start, the late 1970 saw its own set of
communications, electrical, radar and websites came later in 1989. In 1968 limitations. With the growing domain
computer. The hardware oriented focus NATO Science Committee [1] organized complexity (or essential complexity in
of the industry could be gauzed from the first conference in Germany on software Table 1) for which software solutions
fact that leading professional societies engineering to discuss the issues being were being designed, quality factor
of software professionals are IEEE faced by. The top computer brains were like scalability and productivity became
(Institute of Electrical and Electronics invited to discuss the past, present and prominent issues. The metrology aspect
Engineers) Computer Society and ACM future of the software industry. It was of the quality was also suggested by
(Association of Computing Machinery). widely discussed and accepted that McCall [11] and Boehm [10] in their
Status of Software Component, there are successful stories like OS/360, respective software quality models.
Reusability and Quality : The software sort routines, payroll applications. 1980-1989 : The quality and
sizes were small and with no Status of Software Component, standardization saw the compliance
predecessors. Therefore, there was no Reusability and Quality: This decade of standard maturity models (SW-
need for component and reuse. The coined the term ‘Software Component’. CMM, ISO-9001) in software processes
only quality aspect was to deal with the In the invited address of NATO due to mandatory requirement of
project management. conference [1], M.D. Mcilroy coined government for software bidding. The
1960-1969: The decade saw the the idea of ‘Mass Produced Software domain complexity resulted in various

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

Table 3 : The Concepts of 1970s


Concept Author Concept Author
Mathematical Proof C. Floyd Psychology of Computer Programming Weinberg
Programming Calculus E. W. Dijkstra Mythical Man Months Brooks
Top-Down Structured Programming Mills Pascal Wirth
Coupling & Cohesion Constantine Software Evolution Dynamics Lehman and Baldy
Information Hiding Parnas Reusable Product Line Toshiba
Abstract Data Types W.A. Wulf Structured Design & Programming Jackson
J.V. Guttag
W.C. Lim
Boehm Quality Model B. W. Boehm Waterfall Model W.W. Royce
McCall Quality Model J. A. McCall

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

aspect oriented programming were based Applications 7. References


widely applauded. The Y2K problem ƒƒ Multi-Language Programming [1] P. Naur and B. Randell, “Software
of previous century initiated the idea ƒƒ Components Distribution via Engineering: Report of a conference
Remote Services sponsored by the NATO Science
of integration process and enterprise
Committee,” NATO Softw. Eng. Conf.,
level development.J2EE, .NET were the ƒƒ Heterogeneous environments
no. October 1968, p. 231, 1968.
prominent examples. ƒƒ Dynamic Isolation & resilience [2] B. Boehm, “A View of 20th and 21st
Status of Software Component, ƒƒ Development & Monitoring Tools Century Software Engineering,” Proc.
Reusability and Quality : Components Service-oriented Component- 28th Int. Conf. Softw. Eng. SE - ICSE
were taken to a new level with SOA based Applications provides a ’06, pp. 12–29, 2006.
(Service Oriented Architecture) in framework to construct modularized [3] F. P. Brooks, “No Silver Bullet —
2009. Scalability and Security came up applications consisting of software Essence and Accident in Software
components that uses software Engineering,” IEEE Computer 4, No. 2,
as major quality concerns. Software
pp. 10-19, 1987.
Fortress Model was suggested in 2003 services provided by other components.
[4] N. G. Leveson, “The Role of Software
where in every aspect of software was Component-based applications SOA are in Recent Aerospace Accidents,”
in analogy of a fortress. slowly and sturdily making “ubiquitous 19th International System Safety
computing” a success. Security issues Conference, 2004
2010-2016 : The sustained growth
in reusable components and the use of [5] J. Greenfield and K. Short, “Industrializing
of cloud computing saw every service,
vulnerable third-party components and Software Development”, http://
software, database to be cloud oriented. code in new applications has become softwarefactories.com/index.html
The supply chain management such a major security issue [12]. Except [6] J. N. Buxton and B. Randell, “Software
remains the core competency issue for the white papers of technology engineering techniques,” Rep. a Conf.
for commercial applications. Machine Spons. by NATO Sci. Comm., April, 1969.
organizations like IBM, Cohorte, [7] E.W. Dijkstra, “Go To Statement
Learning, IoT (Internet of Things), Infosys, Stelligent etc, very few research Considered Harmful,” Communications
product line engineering and light papers are available that considers of the ACM, Vol. 11, No. 3, pp. 147-148,
weight programming are the happening the concurrent status of the software 1968.
things of this decade. component reusability in the industry. [8] W. W. Royce, “Managing the
Status of Software Component, Development of Large Software
Reusability and Quality : Software quality 6. Conclusions Systems: Concepts and Techniques,”
model ISO 25010 has taken under its There have been two approaches Proceeding of WESCON, 1970.
of software development. One approach [9] N. Wirth, “A Brief History of Software
fold the previous works on software
is to eliminate the four sources that Engineering,” IEEE Ann. Hist. Comput.,
quality models especially the work of
contribute to software problems. This vol. 30, pp. 32–39, 2008.
Barry Boehm, and James McCall. [10] B. W. Boehm, J. R. Brown, and M. Lipow,
is not even theoretically practical as
5. Future Challenges domain complexity would increase in “Quantitative evaluation of software
One of the major challenges to future also with software engineering quality,” in 2nd Int. Conf. Softw. Eng., pp.
software industry is to provide high 592–605, 1976.
travelling in unchartered waters. Second
[11] J. A. McCall, P. K. Richards, and G. F.
degree quality and functionality at low approach is to accept the fact that the Walters, “Factors in software quality:
cost and that too with-in the shortest four sources cannot be eliminated and Concept and Definitions of Software
possible time. There is still an open word around it. The history clearly points Quality,” RADC AFSC, Griffis Air Base,
challenge in building system with to the fact that new domains will be New York, RADC-TR-369, Vol I (of
software components to accurately more complex, human interaction could three),. November 1977.
predict the quality attributes by the be minimized but not eliminated, newer [12] Cobb M. (2013, Nov.), “Open source
produced system. Today’s typical methods, architecture, languages and code reuse: What are the security
implications?” [Online], Available:
application is a result of integration of technologies would be developed. The
http://searchsecurity.techtarget.com/
various technological advancements only front of improvement lies in good answer/Open-source-code-reuse-
that may include: quality models with focus on metrology What-are-the-security-implications/
ƒƒ Service-Oriented Component- aspects. n

About the Authors


Dr. Munishwar Rai [CSI-00133605] is currently Kiranpal Singh Virk [CSI-I0175624] is working as
working as Associate Professor at MMICT&BM Asst. Professor with Dept. of CS, Guru Nanak Khalsa
(MCA department) of MM University, Mullana, India. College, Yamuna Nagar, Haryana, India. Currently he
He has around 19 years of teaching experience. His is pursuing Ph.D. from Maharishi Markandeshwar
area of interest is software Reusability, Data mining, University, Mullana (Ambala), Haryana, India. He is
Computer Organization and computer networks. He author of one book, and more than 10 papers. He is
is a life member of CSI. He has published more than a life member of CSI, and APG (Association of Punjab
20 papers in both international and national levels. Geographers), and member of IPDA (International
He is involved in various academic and automotives Professional Development Association). His research
administrative activities at MM University, Mullana. interest includes Software Engg., IT, and Wireless
(e-mail: munishwar.rai@mmumullana.org) Sensor Networks. (e-mail: kpsvirk@yahoo.com)

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

Future of Software Engineering


Vijay Sharma
VP, SilverOakHealth, Engineering for Bangalore based Digital Healthcare company

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

About the Author


Vijay Sharma [CSI-I1510163] Currently Vijay works a VP - Engineering for Bangalore based Digital Healthcare
company SilverOakHealth. In this role Vijay leads the Technology Team at Silver Oak Health. Vijay and his team
are responsible for design and delivery of next generation, world-class products, services and technologies
related to mental healthcare.

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

An Essence of Soft Computing Techniques on


Software Development Life Cycle
C Shoba Bindu E Sudheer Kumar K K Baseer
Professor, Department of CSE, JNTUA Assistant Professor, Department of CSE, Asso. Prof., Dept. of IT,
Sree Vidyanikethan Engineering College, Tirupati Sree Vidyanikethan Engineering College, Tirupati

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

Software User Interfaces Testing Production


Architecture Design Verification Monitoring
Algorithms
Events Validation
logic in size estimation is gathering size
data on previously developed programs
and dividing the historical product size
data into size ranges which will help
Product Monitoring Quality of Service to compare the planned product with
these prior products. Different specified
metrics used in FIS will help you to find
Quality
out the defects before testing phase in
software development process. Fuzzy-
based methodology allows to calculate
Fig. 2.1 : Integration of SCT in SDLC Phase the magnitude of risk on software
usability by using fuzzy-AHP. The below
Genetic algorithms are also amenable on the real world problem in the
Fig. 3.1 showcase about usage of
to complex objective functions that systems development life cycle such as
various techniques of soft computing
take performance and energy both into Organizations understaffed, Separation
on different levels of SDLC phases
account for optimization. Additionally, of duties.
to achieve several parameters in the
they can be easily modified to include 3. Impact of SCT on SDLC process of software development.
architectural parameters such as the Avoiding post release issues which NN with cluster analysis for
line size and associativity of a cache. in turn help us to entrap defects in early software development cost estimation
GA based approach [12] is discussed phases making it cheaper to fix. The will be a promising approach to provide
for the architectural selection problem human resource monitoring precedes more accurate results on the forecasting
which enables a software system to product monitoring which is highest of software development costs. Unlike
to autonomously search possible in requirement phase followed closely the traditional approach, where the
architectural instances (the search by coding, conceptualization and developer is saddled with the burden
space). GA has been used as one design thereby achieving quality focus of relating terms, a NN automatically
good solution for automatic test data in software development. Validation creates relationships among metric
generation for path coverage is an PY in kit can help developers to revisit terms. To identify the possible attacks
undecidable problem, which has a and update periodically on validation from the design and also to evaluate
great influence on path coverage of issues. PYISE tool is to upsurge the scenarios from software designs NN is
software testing. In MOGA [13] focused quality of the software by plummeting used. The introduction of fuzzy sets into

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

Fig. 3.1 : Achievable Parameters with SCT on SDLC

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

the McCall hierarchical software quality Conclusion: 2015.


measurement framework (hsqf) makes This study is to produce defect free [5] AfriyantiDwi Kartika and Kridanto
it possible to capture information product and to improve the software Surendro, “A fuzzy-based methodology
granules, to give meaningful “shape” to qualities. Focusing on quality and to assess software usability risk”, in
otherwise daunting collection of factors, monitoring the product to increase the Proceedings of the IEEE International
criteria and metrics their relationship system performance is very important. Conference: Information and
and relative importance. The neural net Also on the other hand, at the time of Communication Technology (ICoICT),
formalizes and objectively evaluates 2016.
tasks performing by users of a system it
some of the testing folklore and rules- is important to safeguard the software [6] Yogesh Singh, Pradeep Kumar Bhatia,
of-thumb that is system specific and quality and to enrich the speed and Arvinder Kaur, OmprakashSangwan,
often requires many years of testing accuracy of the range of tasks. All of “Application of Neural Networks in
experience. Software Engineering: A Review”, in
these needs in software development
Proceedings of Third International
This unique combination will help environment can be accomplished Conference, ICISTM 2009, Ghaziabad,
the project managers to efficiently plan with Soft Computing Techniques India, March 12-13, 2009.
the overall software development life (SCT’s). In future using of new metrics
cycle of the software product. A larger [7] A. Adebiyi, JohnnesArreymbi and Chris
such as software medium, software
Imafidon, “Applicability of Neural
search space is explored and architects system measurement, inclusion of Network to Software Security”, in
could be able to select better alternative architectural parameters to effectively Proceedings of the IEEE International
architecture model in the field of explore a hardware software co-design, Conference on Computer Modelling
performance prediction. Software test reduce information loss and provide and Simulation (UKSim), 2012.
is the main approach to find errors and greater design alternatives at later [8] Divya Kashyap, A. K. Misra, “Software
defects assuring the quality of software. stages, security capabilities into design, cost estimation using Particle Swarm
The estimated model parameters cost benefit analysis of models will Optimization in the light of Quality
were used to predict the faults in a drives in greater extent for defect free Function Deployment technique”,
software system during the testing and quality product. International Conference on Computer
process. The PSO technique provided Communication and Informatics
References:
sets of parameters with each software (ICCCI), 2013.
reliability model evaluated. [1] Baseer K.K, Rama Mohan Reddy.A,
[9] Adil. A. A. Saed, Wan M.N. Wan Kadir,
Usage of GA for the target routines, Shoba Bindu.C, “Quantifying Poka-
“Applying Particle Swarm Optimization
improving performance result in Yoke in HQLS: A new approach for
to Software Performance Prediction An
High Quality in Large Scale Software
simultaneous reduction in energy Introduction to the Approach” Malaysian
Development”, 49th Convention of CSI
requirements and also will effectively Conference in Software Engineering
on Emerging ICT for Bridging Future
explore a hardware software co- (MySEC), 2011.
(CSI-2014), December 12-14, 2014, CSI,
design. Using of GA on architectural Hyderabad, proceedings in Springer- [10] Alaa Sheta, “Reliability Growth Modeling
selection problem to find an optimal Advances of Intelligent Systems and for Software Fault Detection Using
instance to the current situation and Computing Vol.337, ISBN No: 978-3- Particle Swarm Optimization” IEEE
requirements within a short time. With 319, pp.293-301, 2014. Congress on Evolutionary Computation,
two phase approach is used in order CEC 2006.
[2] K. K. Baseer, A. Rama Mohan Reddy
to generate test data which can cover and C. Shoba Bindu, “Monitoring tool [11] Tania Banerjee and Sanjay Ranka, “A
the paths having the lowest coverable for mistake proofing quality software”, Genetic Algorithm based Autotuning
probability. Multi objective genetic IP India Patent: 2007/CHE/2015 A, Approach for Performance and Energy
algorithm (MOGA) is suggested for The Patent Office Journal, Issue No. Optimization”, Sixth International
19/2015, May 8, pp. 33133,2015. Conference on Green Computing and
recruitment of the staff, allocation of
Sustainable Computing (IGSC), 2015.
Jobs based on the skills they possess. [3] K. K. Baseer, A. Rama Mohan Reddy,
MOGA has been used to minimize the C. Shoba Bindu, “FPYM: Development [12] Dongsun Kim and Sooyong Park,
cost associated, minimize the time and Application of a Fuzzy based Poka- “Dynamic Architectural Selection: A
Yoke Model for the Improvement of Genetic Algorithm Based Approach”,
involved and to maximize the efficiency
Software Performance”, InderScience- International Symposium on Search
by proper usage. The automatic test Based Software Engineering, 2009.
Special Issue on Soft Computational
case generation will create random Approaches for Risk Exploration
population of solutions, evaluate the [13] D. Sundar, B.Umadevi and Dr. K.
in Global Software Development.
Alagarsamy, “An Optimized approach
solutions, select parents, create child (Accepted-Under Production stage).
for the Improvement of CMMI in Human
solutions, evaluate children, swap some
[4] H. B. Yadav and D. K. Yadav, “A Fuzzy Resource Management Using Multi
of the existing solutions with some of Logic based Approach for Phase-wise Objective Genetic Algorithms”, Second
the better solutions, repeat until the Software Defects Prediction using International conference on Computing,
termination criterion is met and return Software Metrics”,  Information and Communication and Networking
best solution. Software Technology, vol. 63, pp. 44-57, Technologies, 2010.        n

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

About the Authors


Dr. C Shoba Bindu [CSI-01174921], received her Ph.D degree in CSE from JNTUA, Anantapuramu, Andhra
Pradesh. She is currently extending her services as Professor in department of CSE, JNTUA. Her research
interests are in the areas of Mobile and Adhoc Networks, Network security, Data Mining and Cloud Computing.
She can be reached at shobabindhu@gmail.com.

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 :

Computer Society of India


TM

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

Pseudo Code Attack in Software Engineering


S Hemalatha P C Senthil Mahesh
Professor/CSE , Panimalar Institute of Technology Professor/CSE , Jeppiaar Institute of Technology

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

code attack is also p[lay a vital role in


Software engineering to overcome the
DDoS Attacks, which can be detected
using joule meter.
References
[1] Yau, DK, Lui, J, Liang, F & Yam, Y 2005,
‘Defending against distributed denial-
of-service attacks with max-min fair
server-centric router throttles’, IEEE/
ACM Transactions on Networking
(TON), vol. 13, no. 1, pp. 29-42.
[2] Ye, B Qing, S, Okamoto, T & Zhou, J
2001, ‘Defeating Denial-of- Service
Attacks on the Internet’, in Information
and Communications Security, Springer
Berlin Heidelberg, vol. 2229, pp. 304-
315.
[3] Yu, S, Zhou, W, Doss, R & Jia, W
2011, ‘Traceback of DDoS attacks
using entropy variations’, Parallel and
Distributed Systems, IEEE Transactions
on, vol. 22, no. 3, pp. 412-425.
[4] Yu, Y, Li, K, Zhou, W & Li, P 2012,
Fig. 6.1 : Joule Meter ‘Trust mechanisms in wireless
sensor networks: Attack analysis and
multiple scenarios. The measurement calculation from the joule meter can be countermeasures’, Journal of Network
and Computer Applications, vol. 35, no.
of VM power allows developing power used to identify the pseudo code attacks
3, pp. 867-880.
budgeting techniques for virtualized present in the system or not.
data centers. [5] Zahariadis, T, Leligou, H, Karkazis,
7. Conclusion P, Trakadas, P, Papaefstathiou, I &
Managing and tracking PC sleep,
Among the various threats Vangelatos, C 2010, ‘Design and
combined with remote wakeup, allows
to networks, Distributed Denial of implementation of a trust-aware
optimizing desktop power consumption routing protocol for large wsns’,
in enterprise buildings. Separating service (DDoS) attacks have evolved
International Journal of Network
the impact of hardware components to be a major threat to the availability,
Security & Its Applications (IJNSA), vol.
on battery life allows .Users to trade- accessibility and operations of the 2, no. 3, pp. 52-68.
off power management settings for many Internet based Services. Recent
[6] Zayaraz, G, Thambidurai, DP,
improving battery life and enables researches claim that thousands
Srinivasan, M & Rodrigues, DP 2005,
developers to make appropriate of such attacks are launched every ‘Software quality assurance through
design trade-offs for their software week, causing severe damage to both COSMIC FFP’, ACM SIGSOFT Software
applications. Figure 6.2 shows the commercial and governmental sites. In Engineering Notes, vol. 30, no. 5, pp.
snapshot of the Joule meter. this thesis a new technique is described 1-5.
The read and write energy to detect and prevent DDoS.Pseudo n

About the Authors


Dr. S Hemalatha Professor/CSE , Panimalar Institute of Technology

Dr. P C Senthil Mahesh Professor/CSE , Jeppiaar Institute of Technology

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

The Role of Software Engineering


Hardeep Singh Parminder Kaur
Dept of Computer Science, Guru Nanak Dev University, Amritsar Dept of Computer Science, Guru Nanak Dev University, Amritsar
hardeep.dcse@gndu.ac.in parminder.dcse@gndu.ac.in

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

disciplined and quantifiable approach


to the development, operation and Fig. 2 : Types of Software
maintenance of software [IEEE][1,2].
The main aim of the SE is to follow
coding, testing, and maintenance ƒƒ Software Testing
a systematic approach to build high
phase of the software development. ƒƒ Software Implementation
quality software within specified time
The tools layer provides computerized ƒƒ Software Maintenance
and budget. The absence of SE leads to:
or semi-computerized support for the The above said various SD phases
ƒƒ Complex Code.
process and the method layer. Tools can be accomplished by selecting one
ƒƒ Inconsistent User Interface.
can be integrated in such a way that of the available software development
ƒƒ No Systematic Testing Strategies.
one tool can use information created process models as shown in Figure 3.
ƒƒ Lack of methodical, quantifiable
by another tool, known as Computer- These process models can be selected
methods.
Aided Software Engineering (CASE). according the type of application which
ƒƒ Requirement gathering remains
CASE tools helps in designing and is going to develop. The applications,
incomplete.
documenting traditional-structure which are small in size and with well-
ƒƒ Lack of systematic methods further
programming techniques. For example, defined requirements, are well handled
leads to weak or too complex
two prominent technologies using by Waterfall Model [3-4]. When developer
architecture.
CASE tools are PC-based workstations is not sure about the requirements,
2. SE Layers and application generators that provide then one of the Prototyping Models
SE works in different layers i.e. graphics-based interfaces to automate either Evolutionary or Incremental
Process Layer, Method Layer and Tools the development process. Prototyping is used [5]. Spiral model is
Layer as shown in Fig. 1. used when risk identification as well as
3. Types of Software
risk evaluation is required in each phase
Tool Now-a-days, variety of software of the development [4][6-7]. Large as
is available in the market as shown in well as complex programs are also
Method figure 2. System Software, Application handled by Spiral Process Model. Today,
Software, Engineering/Scientific development is done with Iterative
Software, Embedded Software, Product- and Incremental Model i.e. every
Line Software, Artificial Intelligence new release of software development
Software, Web Applications, Ubiquitous takes care about change in demand.
Computing, Netsourcing, Open-Source Agile Development [8], RAD Process
Fig. 1 : Layers of Software Engineering
Software are few types of the software. Model [9], Extreme Programming
The processlayer defines an outline Software development takes place [10], Component-based development
for a set of key process areas that must in various phases such as: [11] are some software development
be acclaimed for effective delivery of ƒƒ Requirement’s Engineering methodologies through which one
software on time. The method layer ƒƒ Software Design can develop a high quality product in a
covers requirements analysis, design, ƒƒ Software Coding desired time schedule.
www.csi-india.org
22
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

Incremental & Iterative Model Cyclomatic Complexity [15]. orientation with which we develop and
4. Software Engineering: The Future maintain our application.
Waterfall Model

As the usage and the demand References


Prototyping Model
of the software increase, the size [1] “IEEE Standard Glossary of Software
Spiral Model
and the complexity of the software Engineering Terminology,” IEEE std
Software
610.12-1990, 1990
Development systems are likely to increase as well,
Process V Model
[2] Ian Sommerville, “Software Engineering
Models most probably in the exponential (9th Edition)”, Pearson Education, 2010
Agile Model
manner. This possesses a tremendous [3] Royce, Winston (1970), “Managing
RAD Model challenge to the practitioners and the Development of Large Software
Big Bang Model
researchers of software engineering. Systems” (PDF), Proceedings of IEEE
Figure 3: Different Types of Software Development Process Models The major difficulty encountered is WESCON, 26 (August): 1–9
that the software processes are not [4] Jalote, Pankaj, “An Integrated Approach
scalable. As the size and complexity to Software Engineering, Third Edition,
SE also deals with two basic
Springer, Narosa Publishing House, 2016
objectives- High Quality and Low Cost. increase, the software processes need
[5] Smith MF, “Software Prototyping:
In order to control quality and cost, the to be expanded in a nonlinear fashion. Adoption, Practice and Management”,
processes leading to the development Moreover, not many professional are McGraw-Hill, London, 1991
of software need also be controlled. either ready or trained to handle such [6] Boehm, B, “Spiral Development:
However, as in other engineering processes. Experience, Principles, and
disciplines, anything which cannot Another situation which is likely to Refinements”, Special Report CMU/
be measured, cannot be controlled. emerge is the integration of systems SEI-2000-SR-008, July 2000
Therefore, a very significant aspect [7] Boehm B, “A Spiral Model of Software
with one another leading to a situation
Development and Enhancement”, ACM
of the Software engineering is the which is termed as System of Systems SIGSOFT Software Engineering Notes,
software measurements. It is dealt with (SoS) or Ultra Large Systems (ULS). ACM, 11(4):14-24, August 1986
in two dimensions i.e. Software Metrics This is multi-dimensional challenge [8] Larman, Craig (2004). Agile and
and the quantitative measurements. as we need to have new processes, Iterative Development: A Manager’s
Most often, these two terms are methods and tools to deal with these Guide. Addison-Wesley. p. 27. ISBN
interchangeably (Fig. 4). types of systems. 978-0-13-111155-4
The changing computing [9] Martin, James (1991). Rapid Application
Development. Macmillan. pp. 81–90.
Size-Oriented Metrics
ƒƒ Lines of Code(KLOC)
environment presents a challenge for SE ISBN 0-02-376775-8.
ƒƒ Defects per KLOC Computing. As steadily the computing [10] “Extreme Programming” USFCA-edu-
ƒƒ Cost per KLOC
is being shifted to cloud platform, the 601-lecture
ƒƒ KLOC per person- month
demand for scalable, reliable and secure [11] Crnkovic, Ivica, et al. “A classification
Software
Metrics Function-Oriented Metrics
applications is on the rise. The Service- framework for component models.”
ƒƒ Function Point(FP) oriented Architecture (SOA) is going to Software Engineering Research and
ƒƒ Defects per FP
play an important role in determination Practice in Sweden (2007)
ƒƒ Cost per FP [12] Chidamber, S. R. and Kemerer, C. F.,
ƒƒ FP per person-month of the nature of the application on this
“A Metrics Suite for Object Oriented
platform in the times to come. Design,” IEEE Transactions on Software
Fig. 4 : Software Metrics The integration of new technologies Engineering, vol. 20, 1994.
like Social Networks, Cloud Computing, [13] Abreu, F. B. e., “The MOOD Metrics Set,”
In Literature, there are various Big Data Analytics and Mobility is giving presented at ECOOP ‘95 Workshop on
software metrics suites discussed rise to new IT infrastructure (SCAM). Metrics, 1995.
by different Software Engineers e.g., Since this infrastructure is going to be [14] Lorenz, M. and J. Kidd, Object-Oriented
“C.K. Metric Suite” by Chidamber and Design Metrics, Prentice- Hall, 1994.
employed by most of the organisations,
[15] McCabe, T., “Cyclomatic Complexity
Kemerer [12], “The MOOD Metrics Set” the applications need to be built and and the Year 2000,” IEEE Software, May
by Abreu [13], Lorenz and Kidd Object- maintained and this SCAM Stack, for 1996.
Oriented Metrics suite [14], McCabe which, again, we need a change in the n

About the Authors


Hardeep Singh is working as a Professor in the Parminder Kaur is working as an Asst. Professor in
department of Computer Science at Guru Nanak the Dept. of CS at Guru Nanak DevUniversity Amritsar,
Dev University Amritsar, India. He has around 100 India. She has completed her Ph.D. from Guru Nanak
research papers in the International/ National Dev University Amritsar in the year 2011. She has
Journals as well as Conferences. His research around 35 research papers in the International/
interests include Software Engineering, Open-Source National Journals as well as Conferences. Her
Systems, Web Engineering, Information Systems, research interests include Software Engineering,
Service-oriented Architecture and Cloud Computing. Web Engineering, Semantic Web, Open-Source
Software and Software Security.

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

Formal Methods in Software Engineering


A Sowmya Mitra
Scientist, DRDO, Hyderabad

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

33 Formal Specification: Fig. 1 : Formal Methods – Overview


Characterization of an existing
www.csi-india.org
24
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

2. Methodology: formal specification language namely Function Contracts + C Program FRAMA – C


Using formal methods to prove ANSI/ISO C Specification Language (ACSL Annotated C code) Environment

the functional correctness of any logic (ACSL) to express the behavioural


as per the specifications, a step by properties of C programs. To formally Proof Obligations
Verification Conditions
Generation
step procedure is mandatory. These prove the properties, proof obligations Using Theorem Prover Based on WP calculus
steps can be generalised irrespective are submitted to external automatic (Alt_Ergo)

of the techniques used to reason theorem provers.


about the correctness. Methodology at ACSL is used to model function Fig. 3 : Analysis Flow
work assumes that the model of the contracts. A contract is an “opaque”
implementation is auto generated by specification of function behaviour.
4. Model checking using CBMC
the tool under consideration and hence Contract of a function defines
CBMC, a bounded program analysis
modelling the program under test is not 33 What the function requires from
tool for C programs formally verifies
considered here. The three basic steps the outside world
ANSI-C programs and checks the
are as follows:
33 What the function ensures to the properties like pointer safety, division by
ââ Step 1: Requirement Analysis:
outside world zero, array bounds and user-provided
Detailed requirement analysis is
33 provided the “requires” part is assertions. CBMC forms a transition
the first and the foremost important
fulfilled relation for a program and transforms
task where sound domain
it into SSA (Static Single Assignment)
knowledge about the system is
3.1 A small example form and unbound to a fixed length. The
a pre-requisite. Requirement
ACSL is used to model function specifications are also handled similarly
analysis can be represented in any
contracts for given C code. The and the final formula consisting of the
semi-formal notation. The outcome
below snippet describes pre and post conjunction of the program SSA and the
of this step results in identifying the
conditions modelled for foo function. specification negation is fed to a SAT
mapping between the input state
The function takes an integer value (Satisfiability) solver. The SAT solver
vector and the expected outputs.
as an argument and returns a negative checks for satisfiability, if the resulting
This forms the basis to model
or positive value based on value of x. formula is satisfiable, a counterexample
formal specifications.
The precondition states the range of x is produced, else verification success
ââ Step 2: Modelling Formal (-2n-1 to 2n-1 -1) with “requires” function is reported. It allows user input to
Specifications: This step involves contract. The post condition describes be modelled using non-determinism
specifying the requirements result w.r.t integer value using (nondet()) so that a program can be
analysed in the previous step using “ensures” contract. checked for a set of inputs rather than
formal notation as per the syntax a single input. Figure 4 shows the
3.2 Support for Modular Verification
and semantics of the specification Analysis flow for CBMC.
Theorem proving strongly supports
language used by the tool under 4.1 CBMC constructs for property
modular verification which can be
consideration. verification
used to model hierarchical function
ââ Step 3: Reasoning the correctness contracts. As per the principles of CBMC uses CPROVER primitives
of the code w.r.t the formal assume guarantee reasoning, in for modelling user defined assertions.
specifications. Given the code modular verification, the pre and post Nondeterminism: It is desirable to
and the specifications, the tool conditions of caller and callee have analyze C programs for any choice of
carries out reasoning about dual roles in callers proof. Figure 2 inputs. In CBMC, inputs are therefore
the correctness of code for its illustrates the principle used in modular modelled by means of nondeterminism,
specifications. verification and Fig. 3 analysis flow in where the values of input are not
FRAMA-C environment. specified. Example: int nondet_int();
The subsequent sections describe
Assumes & Assertions: CBMC
Theorem Proving and Model Checking Assumes:
Main Module
Ensures:
Pre-conditions of itself Pre-conditions of callee
assumptions, expressed as CPROVER_
techniques with specific tools used. Post-conditions of callee (Caller) Post-conditions of itself
assume, restricts the program traces
3. Theorem proving using FRAMA-C that follow the assumptions. It takes a
FRAMA-C: FRAmework for Modular Sub-Module1 Sub-Module2 Boolean expression.
Analysis of C is a tool for static analysis (Callee) (Callee)
The assert statement, expressed
of C programs. FRAMA-C platform as CPROVER_assert takes a Boolean
Fig. 2 : Modular Verification
gathers several analysis techniques into expression as argument. CBMC checks
a single collaborative framework. It is
built upon a set of plug-ins like Weakest int foo (int x) // C Code /*@ requires (x >= -2147483647); // precondition
Precondition (WP), Value Analysis (VA)
to perform static verification. The WP ensures \result >= 0; // postconditions
{ if (x <0) return –x;
plug-in uses weakest precondition ensures x < 0 ª \result == -x; // postconditions
computations to generate proof
obligations. FRAMA-C uses its own else return x; } ensures x >= 0 ª \result == x; // postconditions

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

About the Author


Mrs. A Sowmya Mitra (CSI-1510343) pursued her B.S in Information Systems from BITS, PILANI and is presently working as
a scientist in Software Quality Assurance group in DRDO. Her areas of interest are Software Engineering, Software testing,
IV&V and Formal Methods.

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

Real – Time System: A challenge for Testers


Nancy Goel Shaily Jain
Assistant Professor in Chitkara University, Himachal Pradesh Associate Professor in Chitkara University, Himachal Pardesh

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

and instead we must adopt statistical


testing approach with customize loads.
event result Flexibility can be obtained in E-t
systems because of its ability to handle
overburden and any change in the
system or its parts successfully disables
all prior test outcomes. Whereas any
type of modification in static scheduling
Task execution is not sensible. So, T-t systems are not
a good choice as it may results in re-
calculation, re-testing, and sometimes
Fig. 2 : Observation and reaction to an event in a time-triggered system. needs to redesign the systems.
Efficiency of R-T system can be
have two patterns such as Time- in values of various properties achieved by measuring the difference
triggered and Event-triggered [8]. for Time-triggered and Event- between worst case and average case
The main difference between these triggered systems both. An execution time. Here we consider
two is the performance which overview of how these two are in sporadic jobs. These jobs are scheduled
occurred when communication conflict with each other is shown in as periodic in T-t system. So we need
between RTS and environment figure 4 given below. to measure the difference between its
takes place. A Time-triggered Testability worst case and average case execution
system (T-t system) is explained Predictability time. If it is less or differ more then
in figure 2 given below that it TT Systems
there is resource wastage and that
is implemented by polling and remaining time is not useful. But in
uses static scheduling. Here case of E-t systems sporadic jobs are
overburden conditions cannot be scheduled on their occurrence. Here
handled because communication either an execution of more critical job
ET Systems
of systems with its environment is done by preempting the currently
is done at already defined areas executing job or less critical job has to
in time. In this system evaluated wait than the current job resulting in
Flexibility
outcome will not be moved back difference between its worst case and
Efficiency
to the environment until next average case execution time. Then this
communication point. Fig. 4 : Trade-off between testability/
predictability and flexibility/efficiency for will give outcome as higher efficiency
In an Event-triggered system (E-t the two design paradigms
and the remaining time may be used for
system) as shown in figure 3 given execution of less critical job by dynamic
below, an event can be done at any time, scheduling.
and an evaluated outcome can be moved While performing testing in T-t Predictability of a RTS has been
to the environment at the same time. It systems, Controllability is improved as increased in T-t system due to negligible
may face overburden conditions so it the tester only need to know about for order of events and static scheduling.
is designed to handle such conditions which observation time period an event Here execution of job is pre-determined
dynamically. Designers should keep it is to be initialized to the system due to and this property is very important
in notice that deadlines can be missed, static scheduling (jobs to be executed in with respect to hard critical RTS as
so design the system accordingly to same order). Whereas in E-t systems, these systems require more confidence
decrease the damage level. It is critical dynamically order of job execution in regarding its working in all conditions.
to promise for a low level of service in done which makes testing more hard Whereas due to dynamic scheduling,
such systems. and results may vary. So, we can say E-t system decreases the predictability
A.  There are many contradictions that here testing should not be done results in making regression testing
with systematic coverage exploration harder. That is why statistical test
methods are adopted for E-t system.
event result B. Various Tools attributes:
It is very difficult to obtain a trading
testing tool for automatic test execution
of RTS. One of its reason is the system
might be under Black Box testing where
Time support on time is must. Embedded
Task execution systems, Specialized application fields
with particular requirements are
reasons resulting hard to exist such tool
Fig. 2 : Observation and reaction to an event in a time-triggered system. that can bear the new technology [11].
www.csi-india.org
28
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

About the Authors


Ms. Nancy Goel is an Assistant Professor Dr. Shaily Jain [CSI-N1270613] is an Associate
in Chitkara University, Himachal Pradesh. Professor in Chitkara University, Himachal
She can be reached at nancy.goel@ Pradesh. Her interest areas are data mining,
chitkarauniversity.edu.in. networks, IOT and embedded systems. She can
be reached at shaily.jain@chitkarauniversity.
edu.in

Benefits for CSI members: Knowledge sharing and Networking


ƒƒ Participating in the International, National, Regional domains, both established and emerging
chapter events of CSI at discounted rates ƒƒ Delivering Guest lecturers in educational institutes
ƒƒ Contributing in Chapter activities associated with CSI
ƒƒ Offering workshops/trainings in collaboration with CSI ƒƒ Voting in CSI elections
ƒƒ Joining Special Interest Groups (SIG) for research, ƒƒ Becoming part of CSI management committee
promotion and dissemination activities for selected

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 in Effort Estimation of


Agile Methodologies
S Rama Sree Ch. Prasada Rao
Prof. in Dept. of CSE & Vice Principal at Assoc. Prof in the Department of CSE at
Aditya Engg. College, Surampalem, Andhra Pradesh Aditya Engineering College, Andhra Pradesh

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

About the Authors


Dr. S Rama Sree (CSI - F8000836) is a Professor in Department of CSE & Vice Principal at Aditya Engineering
College, Surampalem, Andhra Pradesh, India. From the last 15 years she has been involved in teaching the
under graduate and post graduate students. She held the administrative position as Head of the Department
of CSE for 12 years and currently working as Vice Principal. She published 35 papers in National/International
Journals & Conferences. She is a member of several Editorial & Review Boards of International Journals and
also member of several professional bodies. She reviewed two text books on C Programming. She received
Outstanding Faculty Award and Award for Research Excellence in 2016. Her research interests include Software
Cost Estimation, Software Reusability, Software Reliability, Software Prioritization, Software Defect Prediction,
Software Maintenance and Soft Computing. She can be reached at ramasree_p@rediffmail.com.
Ch. Prasada Rao (CSI-F8000837) is Assoc. Prof in the Department of CSE at Aditya Engineering College, Andhra
Pradesh. He is pursuing Ph.D from K L Universtiy, Vijayawada. His areas of interest are Software Engineering,
Compiler Design and Automata Theory. He can be reached at prasadarao.chatla@aec.edu.in.

Call for Paper for April Issue of the


CSI Journal of Computing
(e-ISSN: 2277-7091)
Original Research Papers are invited for the CSI Journal must be written using APA style in two columns format. The
of Computing, published on line quarterly (e-ISSN: 2277- article should be typed, double-spaced on standard-sized
7091) by the Computer Society of India (CSI). The Journal of (8.5” x 11”) with 1” margins on all sides using 12 pt. Times
Computing, offers good visibility of online research content on New Roman font and 8-12 pages in length. The standard
computer science theory, Languages & Systems, Databases, international policy regarding similarity with existing articles
Internet Computing, Software Engineering and Applications. will be followed prior to publication of articles. The paper
The journal also covers all aspects of Computational is to be sent to Prof. (Dr.) J. K. Mandal, Editor-in-Chief, CSI
intelligence, Communications and Analytics in computer Journal of Computing (csi.journal@csi-india.org) within 20th
science and engineering. Journal of Computing intended March 2017.
for publication of truly original papers of interest to a wide
audience in Computer Science, Information Technology and Prof. A. K. Nayak
boundary areas between these and other fields. The articles Hon. Secretary, CSI

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

Logical Hierarchy Requirement Target


Planning (Lhrtp) technique to overcome
risk on Software Projects
R. Saranya
Asst. Professor, Department of Computer Science, Central University of Tamilnadu

Requirements in software are defined to be demand or necessitate. Requirements elicitation for


software is able to gather predictable variations clearly over the anticipated duration of the software.
Requirement elicitation gather the requirement of system from users, consumers and other
stakeholders. The requirement elicitation comprises domain professionals, market experts, and others.
Requirements elicitation concentrates on the scope, clearly gathering the predictable difference, and
the adoption of use cases that define the variations that are expected to happen over the duration of
the software. Requirement elicitation involves identifying and prioritizing requirements as a process
is complex to balance large software projects with many stakeholders.

Keywords: Stakeholders, LHRTP, Requirement Elicitation, Mutual Filtering

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

(iii) Model-based Oracle Software


Generation (MOG) method
A framework is presented to elicit Recognize and prioritize stakeholder
the software requirements and also to
prioritize the software requirements. Predict Requirements
The proposed framework ranked
the requirements by the qualified
level of threat related with each Prioritize Requirements
requirement through AHP. As a further
enhancement, AHP is only utilized to Fig. 1 : Flow Diagram of LHRTP approach
only determine the importance weight
www.csi-india.org
34
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

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 (%)

from many users, prediction of user 100


interest is made very easily. The
80
scoring from the stakeholders’ and the StakeRare method
priority of the stakeholders are used to 60
prioritize the requirements in LHRTP
approach. To compute the importance SRE Framework
40
of a requirement in a large project, the
influence of the stakeholder’s role in 20 LHRTP technique
the project is identified, and then the
control of the stakeholders in their roles 0
is determined. 1 2 3 4 5 6 7
Software Requirement Identifier
Fig. 3 : Measure of 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

About the Author


Dr. R Saranya [CSI-I1503352] is working as Assistant Professor, Department of Computer Science, School of
Mathematics and Computer Sciences, Central University of Tamilnadu, Thiruvarur. Her Areas of specialization
are Cyber Security, Big Data Analytics, IoT. She has been awarded Mother Teresa Sadbhawana Award in
recognition of Sterling Merit Excellent Performance and outstanding contribution. E-mail: saranya@cutn.ac.in

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

Technological advances in Software


Engineering
V Vetriselvi
.Sc.,M.Phil.,SET, Asst. Professor ,Department of MCA, Shrimati Indira Gandhi College, Trichy-2. Email id: vetriselviramesh@gmail.com

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

About the Author


Ms. V. Vetriselvi, (CSI-N1285695) Asst. Professor, Department of MCA, Shrimati Indira Gandhi College, Trichy
has completed M.Sc. in Computer Science from Bharathidasan University, Trichy; M.Phil and is SET Qualified.
She has got 26 years experience as a faculty in Arts and Science Colleges. She is a Question Paper Setter for
Periyar University, Salem and Bharthiyar University, Coimbatore. She has published a Book Titled “Visual
Basic 5.0”

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

CSI Regional Student Convention


Chittaranjan Pradhan
Assistant Professor, School of Computer Engineering, KIIT University, Bhubaneswar

KIIT CSI Student Branch, KIIT University,


Bhubaneswar, Odisha organized one
Regional Student Convention under
CSI banner in region IV during 18-
19 February 2017. The theme of the
convention was on IoT and Information
Security. Mr. Sanjay Mohapatra, Vice
President, CSI, Prof. Brojo Kishore
Mishra, Regional Student Coordinator,
CSI Region-IV, Prof. Samaresh Mishra, 1st
Program Chair, Prof. Bhabani Shankar Event 2: Keynote Address
Prasad Mishra, Organizing Chair and Mr. Mr. Amit Keshri, Senior Architect,
Amit Keshri, Senior Architect, Infosys Infosys, Bhubaneswar has delivered
share the dais during the inauguration his talk titled, “IOT – Internet of Things:
ceremony of this convention. Smart Connected Products”. He has
discussed the current issues of IoT
and discussed the solution approach
by Infosys Ltd. Prof. Bhabani Shankar
Prasad Mishra managed this event.

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

Event 6: Technical Poster


Presentation
Students have participated and show
case the posters on the theme “Digital
India”. Shweta Patwari & Kumari
Vandana stood the 1st position. Aprajita
Singh and Gopal Jana secured the
joint 2nd position and shared the
prize money. Manabhanjan Pradhan
& Swapnil Singh and Rohini Seth &
Primula Mukherjee secured the joint
3rd position and shared the prize
2nd 3rd money. Prof. Chittaranjan Pradhan has
manged this event.

1st Joint 2nd

Joint 2nd Joint 3rd

Joint 3rd Joint 3rd

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

Pre-Convention Tutorial on Data Science


Prof. R.Nadarajan

Session 1 Statistical Learning: Statistical Graph Databases - Graph databases


Introduction to Data Science modeling will estimate the relationship support a very flexible and fine-grained
Speaker: Karthik Ramasubramanian: based on formal quantification from data Model. RDBMS provides results,
statistical inferences. The process Graph Databases provides answers.
Data Science – Three Pillars of Data of statistical inference quantifies the
Science (Hacking Skills, Math & process by which data is generated. Session 4
Statistical Knowledge and Substantive Speaker: Abishek Singh
experience) – Data Structure & Machine Session 2 BMI Calculation -
Learning – Big Data – Visualization – Speaker: Abishek Singh
Cloud – Internet of Things – Statistics Machine Learning Algorithm –
– Enlighten the facts and various K-means, Decision Tree & Neutral
fields where the Data Science is Network.
applied. Educated the problem solving
Visualization – GGPlots in R – Boxplot,
mechanism using data science and Image Processing – Face Detection –
Histogram, Scatterplot, Sankey Plot,
predefined algorithms. Facial key Points detection.
Cohort Charts, Bubble Chart. GGviz –
Case Study on Bmi Calculation Motion Charts. Use case: Predict Emotion, Recognition
Speaker: Abishek Singh Ensembles: Bias vs Variance trade off - – verification.
Challenges in insurance – Process of Bagging & Booting. Industry – Academia Collaboration: Fake
getting life insurance – Prediction of news detection, Persona identification,
Session 3
BMI. Computer vision & Emotion Detection.
Speaker: Karthik Ramasubramanian:
Statistics Big Data – Ecosystem – Future of Data Science: Deep Learning
Data descriptive: Structured, Semi – Internet of Things – Online Machine
Structured, Quasi structured, Learning (Mobile Devices & Real –Time
Unstructured data. Performance.

Machine Learning (ML): ML is Talent Graph: Technology Stack - Neo4j,


Titan, Python, Cloud APIs & MEAN
an algorithm that can learn this
technology stack
relationship without relying on any rule-
bases programming. ML will emphasis Machine Learning Probabilistic Graph
on how the final predictions will look Models, Regression Analysis, Natural
like if similar data is supplied in future. Language Processing(NLP).

Machine Learning Types

Semi-supervised
Supervised Learning Unsupervised Learning Reinforcement Learning
Learning

Continuous Continuous Categorical Target Target Variable not


Target Variable not available Categorical Target Variable
Target Variable Target Variable Variable available

Regression Classification Clustering Association Classification Clustering Classification Control

Housing Price Customer Market Basket Text Line-finding on


Medical Imaging Optimize Marketing Driverless Cars
Prediction Segmentation Analysis Classification GPS data
Contd. on next page
www.csi-india.org
44
C S I C o m m u n ic a t i o n s | MA R C H 2 0 1 7
Brain Teaser

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

reader: Venue: PSG College of Technology r c o


Date: 22.01.2017
• Dr. Sandhya Arora, Professor, Cummins college of Engineering for women, Pune b
7
k e r n e l
• N.Saiteja, B.Tech 3rd year, CSE, Gokaraju rangaraju Inst. of Engg. and Technology
o e
• Valli Rajasekhar, Chitrada, IRS, ONGC
• Mr. Deepu Benson, Amal Jyothi College of Engineering, Kerala
8
a b o o t

• Chandra Dasaka, CSI Hyderabad Chapter 9


h r i
• Prof. Kirti Patil, Asst. Professor, MET’s BKC Institute Of Engineering, Adgaon, Nashik 10
a n d r o i d
• Vishal Sanghai, 2nd Year, The LNMIIT, Jaipur
n s
• Shridhar B. Dandin, Professor, Department of Computer Science, B K Birla Institute of
Engineering and Technology
PRE-CONVENTION
PRE-CONVENTION BKBIET Campus,
TUTORIAL
TUTORIAL ONON PILANI
DATA
DATA SCIENCE
SCIENCE g

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

AHMEDABAD Chapter Chairman CSI Amravati Chapter, Dr. V S Gulhane, Vice


Chairman CSI Amravati Chapter, Dr. M A Pund, Hon
Secretary CSI Amravati Chapter welcomed him. A meeting
was conducted to discuss the issues related with CSI. Dr.
Sane guided the Chapter on the issues related with the
conduction of various programme and other issues in the
betterment of the society and student members. He also
appealed the members to update their profile on CSI
website and also to increase the number of life members.

BHOPAL Chapter

To address the growing cyber crimes and to tackle the


internet related frauds, the city’s cyber security experts
joined hands and organized Logout – 1st ever cyber
awareness conference of Gujarat on 22nd January, 2017
in Ahmedabad. The conference was co-organized by the
Computer Society of India, ComExpo Cyber Security Pvt Ltd
and other cyber security experts of the state where cyber
security experts educated attendees with various cyber
threats, internet issues and ways to deal with such issues.
Logout conference was attended by 650+ students, tech
professionals and netizens from around the Gujarat state. A one week faculty development program on Big Data&
Mr. Rakshit Tandon spoke about various cyber crimes and Hadoop was organized by Department of IT and School of
modes operandies used by cyber criminals and educated Information Technology of University Institute of Technology,
audience with online safety tips and cyber laws of India. Col Bhopal from 31st January 2017 to 4th February 2017 in
Vineet Kumar spoke about tactics used by hackers to commit association with CSI Bhopal Chapter. The expert talks
were delivered by eminent speakers like Dr. Vijay Kumar
phone hacking. He also gave an interactive presentation
(JNU New Delhi), Dr. Bhaskar Biswas (IIT BHU), Dr. Aruna
and explained models used by cyber criminals to commit
Tiwari (IIT Indore), Dr. Parag Kulkarni, Pune, Dr. P K Chande
online banking and ATM related frauds. Jayesh Solanki –
(Former Professor, IIM Indore), Dr. Ruchir Gupta (IIITDM
Chairman Computer Society of India, Ahmedabad Chapter
Jabalpur), Dr. Syan Ranu (IIT Delhi). Different topics related
introduced the audience with the awareness campaigns and
to Big Data such as machine learning, social networking,
other work being carried by CSI. He insisted on the needs
trajectories, big data analysis, etc were covered by speakers
of such more campaigns by Public-Private partnership to
during the program. The lab sessions were conducted by
raise the cyber awareness in the state and the country.
Mr. Abhishak Gaur in which he demonstrated the twitter
Ms. Ruzan Khambatta – A social-entrepreneur activist
analysis, map reduce program etc. The program was Co-
working for women’s safety talked about various initiatives
ordinated by Dr. Roopam Gupta, Dr. Anjana Pandey and Dr.
that are being carried out by NGOs, Police department and
Mahesh Pawar. More than 70 faculty and Research scholars
government department to tackle women’s safety issues.
from affiliated colleges of RGPV, Bhopal have participated
She highlighted one such activity
in the program and the program was very well appreciated
AMRAVATI CHAPTER by the participants. The program ended with a valedictory
function and Certificate Distribution by the Director of UIT,
RGPV Bhopal.

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

Tiruchirappalli Chapter conducted the guest lectures on


Security in Cloud on 10th January 2017. Speaker for this
program was Er. K Vignesh, Assistant Professor, MAM
College of Engineering, Tiruchirappalli.

Chapter in association with ACM Student Chapter organized


a one day Guest Lecturer on Marching Towards Web Wisdom
on 28th January 2017 at VIT University. Mr. Sabapathy,
Vice President, Technical Operations, Nine Stars Info
Technologies Pvt Ltd, Bangalore explained about web data,
characteristics of web data and different issues of web data.
Discussion about how machine learning techniques can
be applied to web data context. He explained the research
Tiruchirappalli Chapter conducted the guest lectures on directions in web data. 80 members participated in the guest
Information System and the Entropy on 14th February 2017. lecture. Organized by Prof. H R Viswakarma, Prof. K Govinda,
Er Parlgyan Singh, Systems Engineer, ICT, BHEL, Trichy was RVP VII.

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

Chapter in association SITE, VIT University organized one day


Guest Lecturer on Software Analytics on 15th February 2017
at VIT University. Dr. Anjaneyulu Pasala, Senior Research
Scientist, Infosys, Bangalore explained introduction to
analytical software tools and how these tolls can be used in
academia for research, how machine learning techniques
can be applied to web data, around 80 members participated
in the guest lecture. Organized by Prof. G Jagadeesh &
Prof. K Govinda, RVP VII.

from student branches

Region-I
The NorthCap University, Gurgaon The NorthCap University, Gurgaon

7-2-2017 - Awareness Program on competitions and 9-2-2017 - Event on gaming


opportunities
Region-I Region-III
Vivekananda Institute of Professional Studies, Delhi School of Computer Studies, Ahmedabad

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

17-2-2017 - Guest Lecture on What is Engineering 20 to 22-2-2017 - Certification on Programming in C

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

3-2-2017 – Distinguished Speaker Program on 18-2-2017 – Student Branch Inauguration


Autonomous Mobile Robots Developed at CAIR

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