<pre>Several studies indicate that software maintenance is the most consuming<br>phase of the software life cycle, being responsible for 90% of the total<br>cost and around 60% of the total effort. Software maintenance can be<br>defined as the activity during which one or more software development<br>artifacts are modified in order to keep them available, free of failures,<br>with higher performance or in conformance with new or modified<br>requirements. According to some estimates, around 250 billions of lines of<br>code were in maintenance in 2000. In 1993, around 70 billion dollars were<br>spent in the software maintenance market, only in the USA.<br>Software maintenance occurs due to many reasons, such as: requirements and<br>environment changes, the discovery of failures in software code,<br>performance improvement needs, need of migration to more modern platforms<br>or technologies etc. Despite of being an established area, in accordance<br>with existing revised policies, the adoption of new development paradigms<br>(e.g.: model driven, aspects, components, and service–oriented), new team<br>organizations (e.g.: global software development, eXtreme Programming, and<br>open source), new scope restrictions (e.g.: short deliveries,<br>time–to–market, and variable scope) etc. bring a revival in the area with<br>new challenges. Although there are many software reengineering approaches<br>already proposed, these new software development scenarios rise the need<br>of new proposals, allowing to take advantage of business knowledge and<br>development effort of legacy systems in new developments. The high<br>software maintenance effort and these new development scenarios rise the<br>need of new and improved methods, techniques, approaches, metrics, and<br>tools for the area.</pre>
Abbrevation
IWMSWM\'2009
City
Ouro Preto
Country
Brazil
Deadline Paper
Abstract