Unformatted text preview:

Proc. of 1994 ICSE By David ParnasWho is Parnas?What is software aging?Purpose of this paperReaction of some computer scientistsParnas arguesWhy is Software aging significant?Causes of software agingSoftware aging Vs System slow downThe costs of software agingReducing the costs of Software agingPreventive medicineDesign for success is Design for changeDesign for success ..contd…DocumentationSecond opinions-reviewsAging is inevitable …Why?Software geriatricsStopping deteriorationRetroactive documentationRetroactive incremental modularizationAmputationMajor surgery -restructuringBarriers to progressConclusions for our professionPatriot missile failureDiscussions..comments…PowerPoint PresentationProc. of 1994 ICSE By David Parnas Software Aging Proc of 1994 ICSE – David Parnas Presented by Preethi Mahadev Date 03/07/2003Who is Parnas?•David Lorge Parnas received his B.S., M.S. and Ph.D. in Electrical Engineering - Systems and Communications Sciences from Carnegie Mellon University.•Professor Parnas is the author of more than 200 papers and reports.•He won an ACM "Best Paper" Award in 1979, and two "Most Influential Paper" awards from the International Conference on Software Engineering.• He was the 1998 winner of ACM SIGSOFT's "Outstanding Research Award.“•He received honorary doctorates from the ETH in Zurich and the Catholic University of Louvain in Belgium.What is software aging?Closely resembles the phenomenon of human agingi. Performance of the software system degrades with timeii. Software Aging cannot be preventediii. Software Aging can be slowed downPurpose of this paperi. To explain how an abstract mathematical product like software aging can ageii. To review approaches to deal with it•Treating aged software•Slowing down the deteriorationReaction of some computer scientistsSoftware aging doesn’t make sense“Software is a mathematical product and mathematics don’t decay with time.”Parnas argues “True but not relevant” Why?i. Old software has begun to cripple its once proud ownersii. Many products are now seen as a burdensome legacy from the pastiii. Old softwares have become essential cogs in the machinery of our societyWhy is Software aging significant?i. Growing economic importance of softwareii. Software is the major “capital” of many high tech firmsiii. Software aging is an impediment for further development of the systemsCauses of software agingi. Lack of movement•Failure to modify software to meet its changing needs•Unless updated, software is considered as old and outdatedii. Ignorant surgery•Changes made to the current system is harder to maintain•Nobody understands the modified productsleads to rapid decline in value of the softwareSoftware aging Vs System slow downCauses of System slow downi. Failure to release allocated memoryii. Files grow and require pruningiii. Swap space decreases and performance degradesAnalogy: Kidney failure and Dialysis type treatment as solutionCauses of Software aging i. Existing software no longer satisfies the ownerii. Changes made to the software makes it harder to maintainSystem degrading in performance can be easily cured than agingThe costs of software agingi. Inability to keep up: Lose customers because it is difficult to keep up with the marketii. Reduced performance: Software Aging degrades performance of the system on the wholeiii. Decrease in reliability: Too many errors due to inconsistent changes madeReducing the costs of Software agingInexperienced programmers have short term goalsWe should look far beyond the first release to the time when the product is oldPreventive medicine“ delay the decay”Ways of slowing deterioration:i. Design for successii. Documentationiii.Second opinions-reviewsDesign for success is Design for changei. Principle to be applied: Object Orientationii. We cannot predict actual changes, predictions will be about classes of changesiii.Confine the probable section of codeiv.Estimate the probability of types of changesDesign for success ..contd…The barriers of ” design for change”i. Impatient programmers and managers are more worried about meeting deadlines and starting a new one ii. Programmers tend to confuse design principles with languagesiii. Code is rarely designed to be easily changedDocumentationi. Important aspect of software engineeringii. Inconsistent or inadequate documentation are developed in most casesiii. Programmers and managers are driven by imminent deadlinesiv. For some, documentation is not interesting If not documented, we save a little and pay much more in futureSecond opinions-reviewsi. Often Commercial programs don’t have adequate reviewii. Many programmers have no professional training, so they neglect documentation and reviewsiii. Much software is produced as cottage industryiv. Often produced under time pressurev. Programmers resent the idea of being reviewed Every design must be approved by someone whose responsibilities are for long term future of the productAging is inevitable …Why?i. Changes may violate original assumptionsii. Documentation will never be perfectiii. There will be Issues that reviewers overlook iv. The idea of eliminating software aging is not practicalSoftware geriatricsPrevention is better than cure .But..How to deal with already old software?i. Stopping deteriorationii. Retroactive documentationiii. Retroactive incremental modularizationiv. Amputationv. Major surgery-restructuringStopping deteriorationi. Reviews must insure consistent changes ii. New documents must be created and reviewediii. Nipping the growth in the bud is by far preferable than retrenchmentRetroactive documentationi. Often documentation is neglected• Either because of haste to correct problems in software• Or to introduce new features into the softwareii. Side effect of documentation is improvement of software because it reveals bugs, redundancy etc.Retroactive incremental modularizationi. Each module must comprise of all the programs that are based on a particular design decisionii. Confining knowledge of a design decision that is likely to change to one moduleAmputationi. Code that is modified so often needs to be cut off from the main codeii. It can then be replaced by artificial stumpsiii. Amputation is controversialMajor surgery -restructuringi. Restructure , analyze and get rid of redundant


View Full Document
Download Software Aging
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Software Aging and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Software Aging 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?