{"title":"Towards incremental component compatibility testing","authors":"Il-Chul Yoon, A. Sussman, A. Memon, A. Porter","doi":"10.1145/2000229.2000247","DOIUrl":"https://doi.org/10.1145/2000229.2000247","url":null,"abstract":"Software components are increasingly assembled from other components. Each component may further depend on others, and each may have multiple active versions. The total number of configurations --- combinations of components and their versions --- deployed by end users can be very large. Component developers, therefore, spend considerable time and effort doing compatibility testing --- determining whether their components can be built correctly for all deployed configurations. In previous work we developed Rachet to support large-scale compatibility testing of components.\u0000 In this paper, we describe and evaluate methods to enable Rachet to perform incremental compatibility testing. We describe algorithms to compute differences in component compatibilities between current and previous component builds, a formal test adequacy criterion based on covering the differences, and cache-aware configuration sampling and testing methods that attempt to reuse effort from previous testing sessions. We evaluate our approach using the 5-year evolution history of a scientific middleware component. Our results show significant performance improvements over Rachet's previous retest-all approach, making the process of compatibility testing practical for evolving components.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"7 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123684355","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":"Towards verified synthesis of ProCom, a component model for real-time embedded systems","authors":"Etienne Borde, Jan Carlson","doi":"10.1145/2000229.2000248","DOIUrl":"https://doi.org/10.1145/2000229.2000248","url":null,"abstract":"To take advantage of component-based software engineering, software designers need a component framework that automates the assemblage and integration of developed components. It is then of prime importance to ensure that the synthesized code respects the definition of the component model's semantics. This is all the more difficult in the domain of embedded systems since the considered semantics usually aims at characterizing both functional properties (e.g. data and control dependencies) and non-functional properties such as timing and memory consumption.\u0000 The component model considered in this paper, called ProCom, relies on an asynchronous operational semantics and a formal hypothesis of atomic and instantaneous interactions between components. The asynchronous approach targets higher exibility in the deployment and analysis process, while the formal hypothesis helps in reducing the combinatory problems of formal verification.\u0000 In this paper, we present a code generation strategy to synthesize ProCom components, and a formalization of this generated code. This formalization extends the verification possibilities of ProCom architectures, and constitutes a step toward the verification that the produced code respects the operational semantics of ProCom.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115590174","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":"Rectifying orphan components using group-failover in distributed real-time and embedded systems","authors":"Sumant Tambe, A. Gokhale","doi":"10.1145/2000229.2000250","DOIUrl":"https://doi.org/10.1145/2000229.2000250","url":null,"abstract":"Orphan requests are a significant problem for multi-tier distributed systems since they adversely impact system correctness by violating the exactly-once semantics of applications and may waste resources. Orphan requests stem from the failure(s) of non-deterministic components involved in nested invocations of replicated components. Resolving this problem in the context of resource constrained, component-based, distributed real-time and embedded (DRE) systems that form end-to-end task chains is challenging because conventional transaction-based solutions cannot assure real-time properties of the DRE applications. To address these challenges, this paper presents a group-failover protocol that comprises three key capabilities: real-time failure detection and client failover, timely mitigation of orphan requests, and two novel application state consistency strategies to ensure the correctness of DRE systems by maintaining the exactly-once semantics even during failures. Our solution is implemented in the context of the CIAO real-time CORBA Component Model middleware. Empirical evaluations of the group-failover protocol in both fault-free and failure recovery scenarios for DRE task chains of different sizes demonstratesa low overhead and predictable performance.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115440573","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 method for data-flow analysis of business components","authors":"T. Inoue, S. Honiden","doi":"10.1145/2000229.2000237","DOIUrl":"https://doi.org/10.1145/2000229.2000237","url":null,"abstract":"Separation of concerns is an important aspect of component-based development (CBD), and managing data is a primary concern in enterprise systems. In CBD methods, such as Catalysis and UML components, this concern is addressed by business components. Although a business component is self-contained, having no direct dependency on any of the other components, the data propagation between components may lead to indirect data dependencies across the business components, and grasping such dependencies at design-time is crucial to maintaining data consistency. In this paper we propose a method for data-flow analysis (DFA) of the business component model, in which the operational behavior is described using the Object Constraint Language (OCL) pre-postconditions. Traditional DFA techniques are aimed at procedural descriptions, while OCL is a declarative language whose essential properties include nondeterminism and incompleteness. In order to extract a data-flow from the OCL descriptions taking account of their semantics, our proposed method applies the idea of abstract interpretation. We also analyze the safety of our abstract interpretation technique, and discuss the usefulness and scalability of the method from a practical viewpoint. The proposed method, when used in conjunction with the inter-procedural DFA techniques, would allow us to extract the propagation and dependency of data across the business components automatically.","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-06-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133574506","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}
Michael Eichberg, Karl Klose, Ralf Mitschke, M. Mezini
{"title":"Component Composition Using Feature Models","authors":"Michael Eichberg, Karl Klose, Ralf Mitschke, M. Mezini","doi":"10.1007/978-3-642-13238-4_12","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_12","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116641217","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":"Reliability Analysis of Component-Based Systems with Multiple Failure Modes","authors":"A. Filieri, C. Ghezzi, V. Grassi, R. Mirandola","doi":"10.1007/978-3-642-13238-4_1","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_1","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128643706","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 Empirical Study of the Component Dependency Resolution Search Space","authors":"G. Jenson, Jens Dietrich, H. Guesgen","doi":"10.1007/978-3-642-13238-4_11","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_11","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114774174","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":"(Behavioural) Design Patterns as Composition Operators","authors":"K. Lau, Ioannis Ntalamagkas, C. M. Tran, T. Rana","doi":"10.1007/978-3-642-13238-4_14","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_14","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124102190","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":"Reactive Model-Based Control of Reconfiguration in the Fractal Component-Based Model","authors":"G. Delaval, É. Rutten","doi":"10.1007/978-3-642-13238-4_6","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_6","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129522659","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 Self-healing Component Sandbox for Untrustworthy Third Party Code Execution","authors":"Kiev Gama, D. Donsez","doi":"10.1007/978-3-642-13238-4_8","DOIUrl":"https://doi.org/10.1007/978-3-642-13238-4_8","url":null,"abstract":"","PeriodicalId":399536,"journal":{"name":"International Symposium on Component-Based Software Engineering","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116601735","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}