SBES - Keynotes
|
Does Software Engineering Research have Impact on Software Engineering Practice? Alexander Wolf (Imperial College London,England) |
|
|
Development, maintenance and co-evolution strongly supported by computer Arndt von Staa (DI, PUC-Rio) |
|
Does Software Engineering Research have Impact on Software Engineering Practice?
Alexander Wolf (Imperial College London,England) Abstract Incontrovertible is the enormous change in software engineering practice that has occurred over the past decades. The worldwide software industry now generates hundreds of billions of US dollars in revenue annually and continues to expand in scope and revenue volume. Indeed, the software industry is increasingly acknowledged as a key driver of both social and economic growth. In view of this, it seems important to consider to what extent industrial and academic software engineering research has had impact on the practice of software engineering. A group has formed to consider this question, taking a scholarly and methodical look into the origins of several critical elements of the practice, including high-level programming languages, configuration management tools, distributed middleware, testing, and architecture. Who cares about the answer to this question? Obviously software engineering researchers, but also practitioners who are looking for help to do what they do better, and those in government and industry trying to decide how best to spend their precious little research budget.
Development, maintenance and co-evolution strongly supported by computer
Arndt von Staa (DI, PUC-Rio) One of the main activities involving software itself is maintenance, be it corrective or adaptive or other. Some authors claim that more than 70% of the resources spent with software are due to its maintenance. However, little is published about systematic maintenance and reverse engineering. Observing the software development panorama from the model driven point of view performing maintenance is even less frequently mentioned. There are even authors who propose to either not develop models, or to discard them once the software has been deployed. Obviously, it is much nicer to develop brand new software than to maintain it. This might be one of the reasons why so little is published about maintenance in the academic milieu. One of the great obstacles to performing maintenance and reverse engineering is co-evolution. Whenever something is changed several artifacts must be changed and verified for mutual consistency. For example, a small change in a piece of code might ripple through models, designs and test scripts among others. Obviously co-evolution when performed in a proper way by hand may turn out to be too costly and cumbersome. In this seminar I will discuss the macro architecture of a software engineering meta- environment that aims at supporting software development, maintenance and reverse engineering. The environment supports co-evolution and checking of a variety of artifacts such as: specifications, models, design, code, test scripts and documentation.
















