ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503271.503268
K. Aberer, M. Hauswirth
{"title":"Peer-to-peer information systems: concepts and models, state-of-the-art, and future systems","authors":"K. Aberer, M. Hauswirth","doi":"10.1145/503271.503268","DOIUrl":"https://doi.org/10.1145/503271.503268","url":null,"abstract":"The limitations of client/server systems become evident in an Internet-scale distributed environment. P2P systems offer an alternative to traditional client/server systems: Every node acts both as a client and a server and \"pays\" its participation by providing access to its computing resources. Systems such as Napster and Gnutella have proven their practical applicability. In this tutorial we position the P2P paradigm in the design space of distributed information systems, present underlying models and concepts, and show the structure, protocols, and algorithms of current systems. Then we elaborate on the novel requirements for P2P algorithms (resource discovery, complexity, and scalability) and present future research areas.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"114 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115629367","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503235
G. Engels, J. Küster, R. Heckel, L. Groenewegen
{"title":"A methodology for specifying and analyzing consistency of object-oriented behavioral models","authors":"G. Engels, J. Küster, R. Heckel, L. Groenewegen","doi":"10.1145/503209.503235","DOIUrl":"https://doi.org/10.1145/503209.503235","url":null,"abstract":"Object-oriented modeling favors the modeling of object behavior from different viewpoints and the successive refinement of behavioral models in the development process. This gives rise to consistency problems of behavioral models. The absence of a formal semantics for UML models and the numerous possibilities of employing behavioral models within the development process lead to the rise of a number of different consistency notions. In this paper, we discuss the issue of consistency of behavioral models in the UML and present a general methodology how consistency problems can be dealt with. According to the methodology, those aspects of the models relevant to the consistency are mapped to a semantic domain in which precise consistency tests can be formulated. The choice of the semantic domain and the definition of consistency conditions can be used to construct different consistency notions. We show the applicability of our methodology by giving an example of a concrete consistency problem of concurrent object-oriented models.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128752217","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503243
William Dickinson, David Leon, Andy Podgurski
{"title":"Pursuing failure: the distribution of program failures in a profile space","authors":"William Dickinson, David Leon, Andy Podgurski","doi":"10.1145/503209.503243","DOIUrl":"https://doi.org/10.1145/503209.503243","url":null,"abstract":"Observation-based testing calls for analyzing profiles of executions induced by potential test cases, in order to select a subset of executions to be checked for conformance to requirements. A family of techniques for selecting such a subset is evaluated experimentally. These techniques employ automatic cluster analysis to partition executions, and they use various sampling techniques to select executions from clusters. The experimental results support the hypothesis that with appropriate profiling, failures often have unusual profiles that are revealed by cluster analysis. The results also suggest that failures often form small clusters or chains in sparsely-populated areas of the profile space. A form of adaptive sampling called failure-pursuit sampling is proposed for revealing failures in such regions, and this sampling method is evaluated experimentally. The results suggest that failure-pursuit sampling is effective.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"50 37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129049504","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503211
A. Hoek, Marija Mikic-Rakic, R. Roshandel, N. Medvidović
{"title":"Taming architectural evolution","authors":"A. Hoek, Marija Mikic-Rakic, R. Roshandel, N. Medvidović","doi":"10.1145/503209.503211","DOIUrl":"https://doi.org/10.1145/503209.503211","url":null,"abstract":"In the world of software development everything evolves. So, then, do software architectures. Unlike source code, for which the use of a configuration management (CM) system is the predominant approach to capturing and managing evolution, approaches to capturing and managing architectural evolution span a wide range of disconnected alternatives. This paper contributes a novel architecture evolution environment, called Mae, which brings together a number of these alternatives. The environment facilitates an incremental design process in which all changes to all architectural elements are integrally captured and related. Key to the environment is a rich system model that combines architectural concepts with those from the field of CM. Not only does this system model form the basis for Mae, but in precisely capturing architectural evolution it also facilitates automated support for several innovative capabilities that rely on the integrated nature of the system model. This paper introduces three of those: the provision of design guidance at the architectural level, the use of specialized software connectors to ensure run-time reliability during component upgrades, and the creation of component-level patches to be applied to deployed system configurations.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133355555","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503271.503264
E. Kirda
{"title":"Engineering of Web services with XML and XSL","authors":"E. Kirda","doi":"10.1145/503271.503264","DOIUrl":"https://doi.org/10.1145/503271.503264","url":null,"abstract":"The important role of Web services in businesses and organizations is undisputed today. The construction and management of large Web services is still a challenge. The life cycle of a Web service includes the analysis, design, implementation and maintenance stages and Web service engineering covers all phases of Web service life cycle. The majority of Web tools developed so far only address the implementation phase and lack support for the other stages. Furthermore, emerging requirements such as the support for mobile devices have introduced new challenges and problems developers have to deal with. The World Wide Web Consortium's eXtensible Markup Language (XML) and the eXtensible Stylesheet Language (XSL) are standards defined in the interest of multi-purpose publishing and content reuse and are increasingly being deployed in the construction of Web services. This tutotial shows how to design, implement, and manage adaptable XML/XSL-based Web services. It discusses and presents our experiences in maintaining and building the Vienna International Festival Web service. It gives a brief overview of popular Web engineering technologies and some tools we have developed. The tutorial also examines the common difficulties, non-difficulties, and solutions of Web service engineering and presents work being done in the area.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130060770","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503263
Martin Lippert, Stefan Roock
{"title":"Adapting XP to complex application domains","authors":"Martin Lippert, Stefan Roock","doi":"10.1145/503209.503263","DOIUrl":"https://doi.org/10.1145/503209.503263","url":null,"abstract":"Extreme programming (XP) works well for small software projects in not-too-complex application domains. In many of these projects the rather simple requirements engineering of XP (customers write story cards) has proved suitable. But today we are more often faced with complex application domains in which the classical XP techniques will not suffice. The tutorial shows how to adapt extreme programming to complex application domains and to demanding development tasks. We focus mainly on the requirements engineering part and show how to enhance XP with interviews, scenarios and system visions. We also integrate the management perspective into the \"planning game\" reconciling this perspective to users' needs. We propose a set of best-practice methods we have used in a number of industrial high-risk projects for different complex application domains.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"213 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121618224","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503232
Yunja Choi, Sanjai Rayadurgam, M. Heimdahl
{"title":"Automatic abstraction for model checking software systems with interrelated numeric constraints","authors":"Yunja Choi, Sanjai Rayadurgam, M. Heimdahl","doi":"10.1145/503209.503232","DOIUrl":"https://doi.org/10.1145/503209.503232","url":null,"abstract":"Model checking techniques have not been effective in important classes of software systems characterized by large (or infinite) input domains with interrelated linear and non-linear constraints over the input variables. Various model abstraction techniques have been proposed to address this problem. In this paper, we wish to propose domain abstraction based on data equivalence and trajectory reduction as an alternative and complement to other abstraction techniques. Our technique applies the abstraction to the input domain (environment) instead of the model and is applicable to constraint-free and deterministic constrained data transition system. Our technique is automatable with some minor restrictions.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126743349","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503244
A. Memon, M. Soffa, M. Pollack
{"title":"Coverage criteria for GUI testing","authors":"A. Memon, M. Soffa, M. Pollack","doi":"10.1145/503209.503244","DOIUrl":"https://doi.org/10.1145/503209.503244","url":null,"abstract":"A widespread recognition of the usefulness of graphical user interfaces (GUIs) has established their importance as critical components of today's software. GUIs have characteristics different from traditional software, and conventional testing techniques do not directly apply to GUIs. This paper's focus is on coverage critieria for GUIs, important rules that provide an objective measure of test quality. We present new coverage criteria to help determine whether a GUI has been adequately tested. These coverage criteria use events and event sequences to specify a measure of test adequacy. Since the total number of permutations of event sequences in any non-trivial GUI is extremely large, the GUI's hierarchical structure is exploited to identify the important event sequences to be tested. A GUI is decomposed into GUI components, each of which is used as a basic unit of testing. A representation of a GUI component, called an event-flow graph, identifies the interaction of events within a component and intra-component criteria are used to evaluate the adequacy of tests on these events. The hierarchical relationship among components is represented by an integration tree, and inter-component coverage criteria are used to evaluate the adequacy of test sequences that cross components. Algorithms are given to construct event-flow graphs and an integration tree for a given GUI, and to evaluate the coverage of a given test suite with respect to the new coverage criteria. A case study illustrates the usefulness of the coverage report to guide further testing and an important correlation between event-based coverage of a GUI and statement coverage of its software's underlying code.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"99 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133280838","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}
ESEC/FSE-9Pub Date : 2001-09-10DOI: 10.1145/503209.503230
A. Coen-Porisini, G. Denaro, C. Ghezzi, M. Pezzè
{"title":"Using symbolic execution for verifying safety-critical systems","authors":"A. Coen-Porisini, G. Denaro, C. Ghezzi, M. Pezzè","doi":"10.1145/503209.503230","DOIUrl":"https://doi.org/10.1145/503209.503230","url":null,"abstract":"Safety critical systems require to be highly reliable and thus special care is taken when verifying them in order to increase the confidence in their behavior. This paper addresses the problem of formal verification of safety critical systems by providing empirical evidence of the practical applicability of symbolic execution and of its usefulness for checking safety-related properties. In this paper, symbolic execution is used for building an operational model of the software on which safety properties, expressed by means of a Path Description Language (PDL), can be assessed.","PeriodicalId":259249,"journal":{"name":"ESEC/FSE-9","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131377258","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}