{"title":"System testing for object-oriented frameworks using hook technology","authors":"Jehad Al Dallal, P. Sorenson","doi":"10.1109/ASE.2002.1115018","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115018","url":null,"abstract":"An application framework provides a reusable design and implementation for a family of software systems. If the framework contains defects, the defects will be passed on to the applications developed from the framework. Framework defects are hard to discover at the time the framework is instantiated. Therefore, it is important to remove all defects before instantiating the framework. The problem addressed in this paper is developing an automated state-based test suite generator technique that uses hook technology to produce test suites to test frameworks at the system level. A case study is reported and its results show that the proposed technique is reasonably effective at detecting faults. A supporting tool that automatically produces framework test cases, executes them, and evaluates the results is presented.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129653662","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":"Automated validation of class invariants in C++ applications","authors":"T. Gibbs, B. Malloy, James F. Power","doi":"10.1109/ASE.2002.1115014","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115014","url":null,"abstract":"In this paper, we describe a non-invasive approach for validation of class invariants in C++ applications. Our approach is fully automated so that the user need only supply the class invariants for each class hierarchy to be checked and our validator constructs an InvariantVisitor, a variation of the Visitor Pattern, and an InvariantFacilitator. Instantiations of the InvariantVisitor and InvariantFacilitator classes encapsulate the invariants in C++ statements and facilitate the validation of the invariants. We describe both our approach and our results of validating invariants in keystone, a well tested parser front-end for C++.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122717119","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":"Identifying cause and effect relations between events in concurrent event-based components","authors":"M. Dias, D. Richardson","doi":"10.1109/ASE.2002.1115021","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115021","url":null,"abstract":"Concurrent event-based components present characteristics that impose difficulties in understanding their dynamic behavior, mainly for interpreting the cause and effect relations between input and output events in component interactions. In this paper, we propose a technique to help in the process of understanding the dynamic behavior of concurrent event-based components. It checks the event trace (generated by monitoring the component execution) against a specification of the component communication protocol (even with a possibly incomplete or incorrect specification). The technique identifies and presents the more probable cause and effect relations between the component events, providing also a measurement related to this probability.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121021802","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":"Analyzing dependencies in large component-based systems","authors":"M. Vieira, D. Richardson","doi":"10.1109/ASE.2002.1115020","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115020","url":null,"abstract":"Component-based development has become an important area in the software engineering field. In spite of this, there has been little effort to understand and to manage the different forms of dependencies that can occur in systems built from components. Dependencies reflect the potential for one component to affect or be affected by the elements (e.g., other components) that compose the system. Understanding dependencies is an essential requirement to perform important tasks, such as evolution and testing, during a component-based system's life cycle. In this paper, we present a technique to analyze dependencies in large component-based systems.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133961873","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":"Automatic verification of any number of concurrent, communicating processes","authors":"M. Calder, Alice Miller","doi":"10.1109/ASE.2002.1115017","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115017","url":null,"abstract":"The automatic verification of concurrent systems by model-checking is limited due to the inability to generalise results to systems consisting of any number of processes. We use abstraction to prove general results, by model-checking, about feature interaction analysis of a telecommunications service involving any number of processes. The key idea is to model-check a system of constant number (m) of concurrent processes, in parallel with an \"abstract\" process which represents the product of any number of other processes. The system, for any specified set of selected features, is generated automatically using Perl scripts.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133597487","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":"Enabling iterative software architecture derivation using early non-functional property evaluation","authors":"K. S. Barber, T. Graser, J. Holt","doi":"10.1109/ASE.2002.1115011","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115011","url":null,"abstract":"The structure of a software architecture strongly influences the architecture's ability to prescribe systems satisfying functional requirements, non functional requirements, and overall qualities such as maintainability, reusability, and performance. Achieving an acceptable architecture requires an iterative derivation and evaluation process that allows refinement based on a series of tradeoffs. Researchers at the University of Texas at Austin are developing a suite of processes and supporting tools to guide architecture derivation from requirements acquisition through system design. The various types of decisions needed for concurrent derivation and evaluation demand a synthesis of evaluation techniques, because no single technique is suitable for all concerns of interest. Two tools in this suite, RARE and ARCADE, cooperate to enable iterative architecture derivation and architecture property evaluation. RARE guides derivation by employing a heuristics knowledge base, and evaluates the resulting architecture by applying static property evaluation based on structural metrics. ARCADE provides dynamic property evaluation leveraging simulation and model-checking. This paper presents a study whereby RARE and ARCADE were employed in the early stages of an industrial project to derive a Domain Reference Architecture (DRA), a high-level architecture capturing domain functionality, data, and timing. The discussion emphasizes early evaluation of performance qualities, and illustrates how ARCADE and RARE cooperate to enable iterative derivation and evaluation. These evaluations influenced DRA refinement as well as subsequent design decisions involving application implementation and computing platform selection.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129309939","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":"Constructing CORBA-supported oracles for testing: a case study in automated software testing","authors":"P. Fenkam, H. Gall, M. Jazayeri","doi":"10.1109/ASE.2002.1115003","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115003","url":null,"abstract":"As the complexity of applications and therefore of their testing process grows, the importance of automating the testing activity increases. The testing process includes test case generation, test sequencing, oracle construction, test execution and result interpretation. Automatic generation of test cases from formal specifications has received considerable attention. Relatively little work has been reported, however, on constructing oracles for supporting efficient and automatic execution of such test cases. We present a technique for constructing a CORBA-supported VDM oracle for black-box testing starting from a VDM-SL specification. This specification is used to automatically verify the results of operations implemented in a high-level programming language. We present a case study of the technique applied to a Java application for generic access control. The technique is applicable to any CORBA-compliant programming language.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123764564","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":"Adapting applications on the fly","authors":"A. Ketfi, N. Belkhatir, P. Cunin","doi":"10.1109/ASE.2002.1115042","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115042","url":null,"abstract":"Summary form only given. Adapting a component-based application means adapting one or more of its components, and in general, adapting a component at run-time means disconnecting it from the application and connecting a new version of this component. Many approaches like OLAN and DCUP are based on component models in which each component is constituted by a functional part and a control part. This last part provides a set of services to administrate the component. In our approach we aim to separate the control part outside the component. The benefit is the possibility to apply our solutions to existing models that have not been designed to support the dynamic adaptation. Through a first experimentation on the JavaBeans component model, we define an adaptation process composed of several steps: (1) defining the mapping rules between the old and the new component (correspondence between properties and services); (2) passivating the old and the new components; (3) transferring the state of the old component into the new one according to the mapping rules defined before; (4) disconnecting the old component and connecting the new one; (5) activating the new component. These steps may constitute the basic activities of an adaptation machine.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129979237","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 model of planning and enactment support in complex software development projects","authors":"S. Goldmann","doi":"10.1109/ASE.2002.1115040","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115040","url":null,"abstract":"Summary form only given. We propose an approach to facilitating not only project enactment but also project planning and monitoring, by tracking all decisions made during project planning and enactment and managing dependencies between these decisions. In order to identify those dependencies relevant for a decision, we established an extendable model of planning and plan enactment, which explicitly describes the activities likely to occur while planning and enacting a software development project, as well as standard dependencies between these activities. We formalized this model by adapting an existing dependency management system, the Redux Model of Design, to record planning and plan enactment decisions and their dependencies. Furthermore, we are currently identifying heuristics to automatically capture typical dependencies, and defining rules to provide automatic planning support where possible. This approach allows to interleave planning and plan enactment, and to feed enactment data back into the plan, either by automatically reacting to enactment events and plan changes, or by notifying the appropriate person(s). Thus, we provide extensive support for the process of planning and enacting software development projects, in the form of dependency management, user notifications, and, where possible, automation of selective process steps.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130717642","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":"Generating expected results for automated black-box testing","authors":"Patrick J. Schroeder, Patrick Faherty, B. Korel","doi":"10.1109/ASE.2002.1115005","DOIUrl":"https://doi.org/10.1109/ASE.2002.1115005","url":null,"abstract":"In this paper we describe a technique for generating expected results for automated black-box testing. Generating expected results allows larger automated test suites to be created, moving us toward continuous product testing. Our technique uses a program's Input-Output (IO) relationships to identify unique combinations of program inputs that influence program outputs. With this information, a small set of test cases is executed and checked for correctness. Given the correctness of this set, the expected results for the larger combinatorial test set can be generated automatically. Included in the paper is an experimental study in which checking the results of 384 test cases allows us to generate expected results and fully automate nearly 600,000 test cases.","PeriodicalId":163532,"journal":{"name":"Proceedings 17th IEEE International Conference on Automated Software Engineering,","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129551400","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}