{"title":"Summary: Process Modelling and Empirical Studies of Software Evolution","authors":"R. Harrison, M. Shepperd, J. Daly","doi":"10.1109/ICSE.1997.610472","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610472","url":null,"abstract":"INTRODUCTION Much progress is being made in both the areas of process modelling and software metrics. However, neither of these concepts is complete without the other: processes cannot be improved if no assessment of quality is available, and metrics are useless if they cannot be applied in order to assess the evolution of systems. Bringing together researchers and practitioners from both of these fields should stimulate some very interesting interactions.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"30 2-3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120993736","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Primer on Empirical Studies","authors":"D. Perry, A. Porter, L. Votta","doi":"10.1109/ICSE.1997.610453","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610453","url":null,"abstract":"INTRODUCTION STRUCTURE OF THE TUTORIAL Many researchers and practitioners want to use empirical methods, but don’t feel confident doing so. One fear is that the methods are expensive to use and hard to use right. This fear may be fueled by methodology Introduction We begin by characterizing various ways of doing empirical studies and indicate the scope of our approach and the layout of the tutorial. Models of Empirical Studies We first layout the space of empirical studies distinarticles that overemphasize the “statistics” of empirical methods, without considering cost.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116116995","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Software and Business Process Technology","authors":"V. Gruhn, W. Schafer","doi":"10.1109/ICSE.1997.610444","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610444","url":null,"abstract":"The tutorial presents the state-of-the-art technology in software process and business process technology and its exploitation in an industrial context. The technology presented includes languages, tools, and substrates (data base and operating system functiouality) being used to model, analyse, and execute business and software processes. The industrial context is based on building, using, and selling a complete workflow environment including tools for modeling, analysing, and executing workflows. This environiiient called LEU (LION Environment) is used in various industrial sectors like real estate, software process, and insurance. It has been built by especially exploiting available software process tcchnology and adapting thc tcchnology to other business contexts. LION is a 400 person software house. LEU is its key strategic product in the workflow area. Besides presenting state-of-the-art technology, the tutorial demonstrates in particular that software process technology is applied successfully in the general workflow area.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121402052","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Comprehension and Evolution of Legacy Software","authors":"V. Rajlich","doi":"10.1109/ICSE.1997.610465","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610465","url":null,"abstract":"This tutorial presents an overview of legacy systems comprehension and evolution. Software comprehension typically consumes more than one-half of the programming effort with the legacy systems. Software evolution is a change in requirements and it is the most common type of change in legacy systems.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121620815","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Platforms for Software Execution: Databases vs. Operating Systems vs. Browsers","authors":"R. Selby","doi":"10.1109/ICSE.1997.610414","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610414","url":null,"abstract":"Software researchers and practitioners face the following question regarding the future direction of software: When we develop a software application, should we develop it so that it runs on top of an operating system, a World-Wide-Web browser, or a database? The underlying issue is which of these three “platforms” will become the de facto software execution platform in the future. Or will some hybrid or alternative emerge? The stakes are high for application developers, users, and researchers.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130959859","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Software Process Improvement Approach Tailored for Small Organizations and SmaU Projects","authors":"J. G. Brodman, D.L. Johnson","doi":"10.1109/ICSE.1997.610455","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610455","url":null,"abstract":"Over the past five years, Judith Brodman and Donna Johnson have worked with over 200 small businesses, small organizations, and small projects throughout the US\"\" to tailor the SEI'S CMM to address the problems that these groups are experiencing with their software process improvement initiatives based on the CMM.. The problems that they have with the CMM as a model for their use are summarized as follows:","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116716508","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Workshop on Softiare Engineering for Parallel and Distributed Systems","authors":"G. Agha, Stefano Russo","doi":"10.1109/ICSE.1997.610486","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610486","url":null,"abstract":"INTRODUCTION Parallel and distributed computing is increasingly dominating real-world applications. It is critical to a wide range of applications, either because they require greater computational resources (CPU cycles or memory accesses) than are feasible on a sequential computer, or because they are naturally distributed. Thus, parallel and distributed computing i s central to a range of areas fi-om high performance scientific computing to industrial process control. More recently, the growth of internet and intranet (wide area enterprise integration) has given new impetus to research and development in this field. The problem of developing and maintaining software is widely recognized as the central problem of parallel and distributed computing. Many areas of Computer Science, such as programming languages, concurrency theory, and algorithms, are now dominated by research in parallel and distributed computing. Developments in industry, such as programming languages for remote execution and distributed object architectures, have also underscored the central role of P&D systems. Researchers in software engineering for P&D systems have traditionally been quite fi-agmented. The goal of the Workshops on Software Engineering for Parallel and Distributed Systems (PDSE) is to bring together researchers working on formal methods, testing, tools, design methodologies, coordination architectures and other issues. Conferences and workshops in related areas such as the Workshop on Distributed Debugging, the Conference on Formal Methods for Open Object Oriented Distributed Systems, and the Symposium on Principles and Practices of Parallel Programming, have provided useful forums that although relevant, are either more narrowly focused or t too diffuse for software engineering researchers. FOCUS OF THE WORKSHOP The workshop PDSE‘97 is the second in a series: the first was held in Berlin in March 1996 [1,2]. PDSE’96 was Owanised mainly by Innes Jelly and Ian Gorton and was","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127140317","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Distributed Software Architectures","authors":"J. Kramer, J. Magee","doi":"10.1109/ICSE.1997.610441","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610441","url":null,"abstract":"We motivate the need for architectural description languages in general, concentrating on Darwin, an architectural description language specifically designed for the specification and construction of distributed software systems.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133159896","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Simplifying the Evolution of Java Programs","authors":"L. Seiter, K. Lieberherr, D. Orleans","doi":"10.1109/ICSE.1997.610452","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610452","url":null,"abstract":"We present an in-depth look at the ability of existing models and languages to support different forms of reuse and evolution. The intended tutorial participants are experienced object-oriented programmers and analysts who want to improve the adaptability of their models and programs. The design patterns described by Gamma, Helm, Johnson, and Vlissides [l] in 1994 ensure that a certain system aspect can vary over time. In this tutorial we help the participant recognize an underlying principle common to many existing design patterns, namely the ability to allow the implementation of an object or class to vary dynamically. We present a key concept in supporting dynamic evolution: the context class. At the design level we present a simple extension to the Unified Modeling Language [a] for describing context classes. At the implementation level we demonstrate how to develop Java [3] programs using context objects. We demonstrate how context objects can be used to easily model and program patterns such as the Adapter, Bridge, Chain of Responsibility, Decorator, Iterator, Observer, State, Strategy, and Visitor. Tutorial Content We present techniques for achieving dynamic behavior in a static, class-based model and language. We focus on two forms of behavior evolution: 1. Dynamically altering the structure and behavior of a single object. 2. Dynamically altering the structure and behavior of a class (affecting all class instances) during the execution of some task. We present the public-doma.in nrogramming tool DemePermission to make digitalhard copies ofall or part ofthis material for personal or clnssrooni use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copygiven that copyright is by peniiission of the ACM, Inc. To copy othcnvise. to republish, to post on servers or to redistributz to list<, requires specific permission andor fee ICSE 97 Boston MA USA Copyright 1997 ACM 0-89791-914-9/97105 ..$3.50 right notice, the title of the puhlication and its date appear, and notice is ter/Java [4] which implements a special kind of context object, called a visitor. The Visitor pattern is used to specify operations to perform during composite-object traversal [l]. A visitor allows behavior to be added to a composite structure, without changing the existing composite class definitions. Visitors reduce the number of operations directly embedded within a class, thus preventing class definitions from becoming cluttered. Visitors group related operations performed on multiple classes (which need not be related through inheritance) together into one program component, supporting a task-based style of programming. Various techniques have been proposed for implementing visitors. However, static, class-based languages like C++ and Java do not have direct support for allowing the implementation of a class instance to vary dynamically. To enable the direct expression of visitor objects and to express tr","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133101939","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"An Introduction to OMG/CORBA","authors":"W. Emmerich","doi":"10.1109/ICSE.1997.610445","DOIUrl":"https://doi.org/10.1109/ICSE.1997.610445","url":null,"abstract":"An increasing number of applications are now being developed in a distributed setting. The main focus of this half-day tutorial is on OMG/CORBA, a widely recognised middleware standard for heterogeneous and distributed application integration. The tutorial discusses CORBA's object model and its representation in the OMG interface de nition language (IDL). Programming language bindings to IDL are discussed; static and dynamic invocations are distinguished and CORBA services and facilities are sketched. The tutorial closes with an indication of recent standardisation e orts undertaken by the OMG.","PeriodicalId":127923,"journal":{"name":"Proceedings of the (19th) International Conference on Software Engineering","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1997-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125076235","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}