M. Ciolkowski, O. Laitenberger, H. D. Rombach, F. Shull, D. Perry
{"title":"Software inspections, reviews & walkthroughs","authors":"M. Ciolkowski, O. Laitenberger, H. D. Rombach, F. Shull, D. Perry","doi":"10.1145/581339.581422","DOIUrl":"https://doi.org/10.1145/581339.581422","url":null,"abstract":"Presents some of the history of software inspections, walkthroughs and reviews. This shows that inspections are related to research efforts back in the 1970s. An example success story is briefly described to illustrate how research has impacted industrial software development practice in this area. The success story was the result of researchers and practitioners working closely together. Finally, challenges and questions as well as areas for further work are outlined. As a summary statement, one can say that, in the inspection area, research did have and still has impact on industrial practice.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"05 1","pages":"641-642"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89725196","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":"Dependability of embedded systems","authors":"J. Knight","doi":"10.1145/581339.581445","DOIUrl":"https://doi.org/10.1145/581339.581445","url":null,"abstract":"Almost all modem, engineered systems depend on computers for their correct operation. The cost, size, and power requirements of microprocessors have dropped to a point where it is both feasible and desirable to embed computers into everything from people to toasters. Obviously computers embedded in people must operate correctly because they are providing what is presumably some form of medical service. But even computers embedded in toasters have to operate correctly because incorrect operation might cause a fire. A serious though less obvious issue with embedded computers, even in appliances, is the financial loss from failure. Recalling a mass-produced appliance to repair a defective embedded computer, correcting the software for example, can be financially devastating for the manufacturer. Embedded systems control external equipment, and significant physical damage can occur as a result of defective software. It is important that software engineers understand the major elements of current technology in the field of dependability as it applies to embedded systems, yet this material tends to be unfamiliar to researchers and practitioners alike. Researchers are often concerned in one way or another with some aspect of what is mistakenly called software \"reliability\". All practitioners are concerned with the \"reliability\" of the software that they produce but researchers and practitioners tend not to understand fully the broader impact of their work. A lot of research, such as that on testing, is concerned directly with software dependability. Understanding dependability more fully allows researchers to be more effective. Similarly, practitioners can direct their efforts during development more effectively if they have a better understanding of dependability. Software by itself is benign. Only when it is being used in an application system does the role of software become fully defined. Thus software is just a component of a system, and the dependability of an embedded system depends on how systems engineering information is used in software specification and development.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"23 1","pages":"685-686"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83059800","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}
L. Bratthall, R. V. Geest, H. Hofmann, E. Jellum, Z. Korendo, R. Martinez, M. Orkisz, C. Zeidler, J. Andersson
{"title":"Integrating hundred's of products through one architecture: the industrial IT architecture","authors":"L. Bratthall, R. V. Geest, H. Hofmann, E. Jellum, Z. Korendo, R. Martinez, M. Orkisz, C. Zeidler, J. Andersson","doi":"10.1145/581339.581416","DOIUrl":"https://doi.org/10.1145/581339.581416","url":null,"abstract":"During the last few years, software product line engineering has gained significant interest as a way for creating software products faster and cheaper. But what architecture is needed to integrate huge amounts of products, from different product lines? This paper describes such an architecture and its support processes and tools. Through cases, it is illustrated how the architecture is used to integrate new --- and old --- products in such diverse integration projects as vessel motion control, airport baggage handling systems, pulp&paper and oil&gas, in a very large organization. However, in a large organization it is a challenge to make everyone follow an architecture. Steps taken to ensure global architectural consistency are presented. It is concluded that a single architecture can be used to unify development in a huge organization, where the distributed development practices otherwise may prohibit integration of various products.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"37 1","pages":"604-614"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80581405","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":"Tutorial: introduction to the rational unified process®","authors":"Philippe B Kruchten","doi":"10.1145/581339.581455","DOIUrl":"https://doi.org/10.1145/581339.581455","url":null,"abstract":"The Rational Unified Process® (RUP®) is a software engineering process framework. It captures many of the best practices in modern software development in a form that is suitable for a wide range of projects and organizations. It embeds object-oriented techniques and uses the UML as the principal notation for the several models that are built during the development. The RUP is also an open process framework that allows software organizations to tailor the process to their specific need, and to capture their own specific process know-how in the form of process components. Many process components are now developed by various organizations to cover different domains, technologies, tools, or type of development, and these components can be assembled to rapidly compose a suitable process. This tutorial will introduce the basic concepts and principles, which lie under the RUP framework, and show concrete examples of its usage.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"136 1","pages":"703"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84940788","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":"Mixin'Up components","authors":"V. Sreedhar","doi":"10.1145/581339.581366","DOIUrl":"https://doi.org/10.1145/581339.581366","url":null,"abstract":"Recently we proposed a language called ACOEL (A Component-Oriented Extension Language) for abstracting and composing software components. Components in ACOEL are black-box components, and each component consists of (1) an internal implementation containing classes, methods, and fields that is hidden to the external world, and (2) an external contract consisting of a set of typed input and output ports. Components in ACOEL interact with each other only via these ports. In this paper we extend ACOEL in two directions: (1) use mixins to customize the services provided by a component without exposing its internal implementation, (2) add support for virtual types and sub-type relation among components. We will show how mixins and virtual types together allows us to build adaptable applications based on black-box component principles.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"228 1","pages":"198-207"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73299709","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":"Advanced control flows for flexible graphical user interfaces: or, growing GUIs on trees or, bookmarking GUIs","authors":"P. Graunke, S. Krishnamurthi","doi":"10.1145/581339.581375","DOIUrl":"https://doi.org/10.1145/581339.581375","url":null,"abstract":"Web and GUI programs represent two extremely common and popular modes of human-computer interaction. Many GUI programs share the Web's notion of browsing through data- and decision-trees. This paper compares the user's browsing power in the two cases and illustrates that many GUI programs fall short of the Web's power to clone windows and bookmark applications. It identifies a key implementation problem that GUI programs must overcome to provide this power. It then describes a theoretically well-founded programming pattern, which we have automated, that endows GUI programs with these capabilities. The paper provides concrete examples of the transformation in action.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"82 7 1","pages":"277-287"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88060793","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":"Hyper/J™: multi-dimensional separation of concerns for Java™","authors":"P. Tarr, H. Ossher, Stanley M. Sutton","doi":"10.1145/581339.581447","DOIUrl":"https://doi.org/10.1145/581339.581447","url":null,"abstract":"This note presents an overview of this ICSE 2002 tutorial.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"62 1","pages":"689-690"},"PeriodicalIF":0.0,"publicationDate":"2002-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75632969","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}
Greg Butler, D. Batory, K. Czarnecki, U. Eisenecker
{"title":"Generative techniques for product lines","authors":"Greg Butler, D. Batory, K. Czarnecki, U. Eisenecker","doi":"10.1109/ICSE.2001.919165","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919165","url":null,"abstract":"A software product line leverages the knowledge of one or more domains in order to achieve short time-to-market, cost savings, and high quality software. The highest level of reuse comes by using domain-specific languages or visual builders to describe a member of the product line, and to generate the member from the description. Generative techniques can help us to capture the configuration knowledge for a product line and use it to generate concrete family members. This workshop focuses on technical issues of product lines, rather than economic issues.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"123 1","pages":"760-761"},"PeriodicalIF":0.0,"publicationDate":"2001-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79472781","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":"ICSE workshop on software visualization","authors":"Wim De Pauw, S. Reiss, J. Stasko","doi":"10.1109/ICSE.2001.919164","DOIUrl":"https://doi.org/10.1109/ICSE.2001.919164","url":null,"abstract":"This workshop looks at current work in the area of software visualization with an emphasis on software understanding through visualization. It explores new visualization techniques, addressing software problems through visualization, frameworks for gathering and analyzing data for software visualization, software visualization systems, and experiments and experiences with software visualization. In addition to providing an overview of current research in the area, it provides a forum for discussions and cooperation among researchers in this and related areas.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"22 1","pages":"758-759"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79392726","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":"Methods of Component-Based Software Engineering: Essential Concepts and Classroom Experience","authors":"K. Wallnau","doi":"10.1109/ICSE.2001.10033","DOIUrl":"https://doi.org/10.1109/ICSE.2001.10033","url":null,"abstract":"The crucial role of software components in the construction of enterprise information management systems is now manifest. Notwithstanding this, the implication of software components on software engineering methods is not well understood by many practitioners. This tutorial explores the implications of two classes of component-based development efforts. First, those efforts where components are custom-developed and deployed onto a pre-fabricated component infrastructure such as Enterprise JavaBeansTM, and second, efforts where commercial off-the-shelf components are integrated into an enterprise infrastructure upon which business logic can be deployed.","PeriodicalId":91595,"journal":{"name":"Proceedings - International Conference on Software Engineering. International Conference on Software Engineering","volume":"4 1","pages":"709-710"},"PeriodicalIF":0.0,"publicationDate":"2001-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89512119","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}