ESEC/FSE-11Pub Date : 2003-09-01DOI: 10.1145/940071.940125
P. Guerra, C. M. F. Rubira, A. Romanovsky, R. Lemos
{"title":"A fault-tolerant software architecture for COTS-based software systems","authors":"P. Guerra, C. M. F. Rubira, A. Romanovsky, R. Lemos","doi":"10.1145/940071.940125","DOIUrl":"https://doi.org/10.1145/940071.940125","url":null,"abstract":"This paper considers the problem of integrating Commercial off-the-shelf (COTS) components into systems with high dependability requirements. Such components are built to be reused as black boxes that cannot be modified. The system architect has to rely on techniques that are external to the component for resolving mismatches between the services required and provided that might arise in the interaction of the component and its environment. The paper puts forward an approach that employs the layer-based C2 architectural style for structuring error detection and recovery mechanisms to be added to the component during system integration.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"150 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115636174","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940084
G. Vigna, Fredrik Valeur, R. Kemmerer
{"title":"Designing and implementing a family of intrusion detection systems","authors":"G. Vigna, Fredrik Valeur, R. Kemmerer","doi":"10.1145/940071.940084","DOIUrl":"https://doi.org/10.1145/940071.940084","url":null,"abstract":"Intrusion detection systems are distributed applications that analyze the events in a networked system to identify malicious behavior. The analysis is performed using a number of attack models (or signatures) that are matched against a specific event stream. Intrusion detection systems may operate in heterogeneous environments, analyzing different types of event streams. Currently, intrusion detection systems and the corresponding attack modeling languages are developed following an ad hoc approach to match the characteristics of specific target environments. As the number of systems that have to be protected increases, this approach results in increased development effort. To overcome this limitation, we developed a framework, called STAT, that supports the development of new intrusion detection functionality in a modular fashion. The STAT framework can be extended following a well-defined process to implement intrusion detection systems tailored to specific environments, platforms, and event streams. The STAT framework is novel in the fact that the extension process also includes the extension of the attack modeling language. The resulting intrusion detection systems represent a software family whose members share common attack modeling features and the ability to reconfigure their behavior dynamically.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124957510","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940079
D. Batory, Jia Liu, J. N. Sarvela
{"title":"Refinements and multi-dimensional separation of concerns","authors":"D. Batory, Jia Liu, J. N. Sarvela","doi":"10.1145/940071.940079","DOIUrl":"https://doi.org/10.1145/940071.940079","url":null,"abstract":"Step-wise refinement (SWR) asserts that complex programs can be derived from simple programs by progressively adding features. The length of a program specification is the number of features that the program has. Critical to the scalability of SWR are multi-dimensional models that separate orthogonal feature sets. Let n be the dimensionality of a model and k be the number of features along a dimension. We show program specifications that could be O(kn) features long have short and easy-to-understand specifications of length O(kn) when multi-dimensional models are used. We present new examples of multidimensional models: a micro example of a product-line (whose programs are 30 lines of code) and isomorphic macro examples (whose programs exceed 30K lines of code). Our work provides strong evidence that SWR scales to synthesis of large systems.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123744920","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940074
Ari Jaaksi
{"title":"Assessing software projects: tools for business owners","authors":"Ari Jaaksi","doi":"10.1145/940071.940074","DOIUrl":"https://doi.org/10.1145/940071.940074","url":null,"abstract":"Executives need to assess ongoing software projects. They need truthful information to decide if projects should be redirected, cancelled, or strengthened. They need to verify that customer requirements are satisfied and business goals are met.We present a set of tools for executives to monitor the status of ongoing software projects. These tools allow executives that are not experts of software engineering to assess requirements, software architectures, development projects, and development organizations. Our tools, used commonly at Nokia and elsewhere, utilize use cases, views to architecture, frequent builds, and testing statistics. The fact that many projects already utilize these tools for software creation makes it easy to extend their use to serve executives and business management. We explain how managers can use these tools to get information, how to interpret this information, and how to integrate the tools into the interaction between the managers and their project teams.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126648017","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940119
K. Thramboulidis
{"title":"Towards an engineering tool for implementing reusable distributed control systems","authors":"K. Thramboulidis","doi":"10.1145/940071.940119","DOIUrl":"https://doi.org/10.1145/940071.940119","url":null,"abstract":"The IEC model for distributed control systems (DCSs) was adopted for the implementation of a new generation engineering tool. However, it was found that this approach does not exploit all the benefits of the object and component technologies. In this paper, we present the enhanced 4-layer architecture that proved to be very helpful in the identification of the key abstractions required for the design of the new generation of function block based engineering tools. Despite being IEC-compliant, the proposed approach introduces a number of extensions and modifications to the IEC-model to improve the development process. The Unified Modelling Language is exploited during the requirements phase of DCSs, but the use of the FB construct is confected during the design phase.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129525184","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940101
J. Viljamaa
{"title":"Reverse engineering framework reuse interfaces","authors":"J. Viljamaa","doi":"10.1145/940071.940101","DOIUrl":"https://doi.org/10.1145/940071.940101","url":null,"abstract":"Object-oriented application frameworks provide an established way of reusing the design and implementation of applications in a specific domain. Using a framework for creating applications is not a trivial task, however, and special tools are needed for supporting the process. Tool support, in turn, requires explicit specification of the reuse interfaces of frameworks. Unfortunately these specifications typically become quite extensive and complex for non-trivial frameworks. In this paper we discuss the possibility to reverse engineer a reuse interface specification from a framework's and its example applications' source code. We also introduce a programming environment that supports both making and using such specifications. In our environment, the reuse interface modeling is supported by a concept analysis based reverse engineering technique described in this paper.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131057255","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940083
J. S. Bradbury, J. Dingel
{"title":"Evaluating and improving the automatic analysis of implicit invocation systems","authors":"J. S. Bradbury, J. Dingel","doi":"10.1145/940071.940083","DOIUrl":"https://doi.org/10.1145/940071.940083","url":null,"abstract":"Model checking and other finite-state analysis techniques have been very successful when used with hardware systems and less successful with software systems. It is especially difficult to analyze software systems developed with the implicit invocation architectural style because the loose coupling of their components increases the size of the finite state model. In this paper we provide insight into the larger problem of how to make model checking a better analysis and verification tool for software systems. Specifically, we will extend an existing approach to model checking implicit invocation to allow for the modeling of larger and more realistic systems. Our focus will be on improving the representation of events, event delivery policies and event-method bindings. We also evaluate our technique on two non-trivial examples. In one of our examples, we will show how with iterative analysis a system parameter can be chosen to meet the appropriate system requirements.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131080685","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940123
A. Ran, Raimondas Lencevicius
{"title":"Making sense of runtime architecture for mobile phone software","authors":"A. Ran, Raimondas Lencevicius","doi":"10.1145/940071.940123","DOIUrl":"https://doi.org/10.1145/940071.940123","url":null,"abstract":"Making sense of runtime architecture for mobile phone software.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130929952","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940116
Koushik Sen, Grigore Roşu, G. Agha
{"title":"Runtime safety analysis of multithreaded programs","authors":"Koushik Sen, Grigore Roşu, G. Agha","doi":"10.1145/940071.940116","DOIUrl":"https://doi.org/10.1145/940071.940116","url":null,"abstract":"Foundational and scalable techniques for runtime safety analysis of multithreaded programs are explored in this paper. A technique based on vector clocks to extract the causal dependency order on state updates from a running multithreaded program is presented, together with algorithms to analyze a multithreaded computation against safety properties expressed using temporal logics. A prototype tool implementing our techniques, is also presented, together with examples where it can predict safety errors in multithreaded programs from successful executions of those programs. This tool is called Java MultiPathExplorer (JMPaX), and available for download on the web. To the best of our knowledge, JMPaX is the first tool of its kind.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126346514","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-11Pub Date : 2003-09-01DOI: 10.1145/940071.940122
S. Balsamo, M. Marzolla
{"title":"A simulation-based approach to software performance modeling","authors":"S. Balsamo, M. Marzolla","doi":"10.1145/940071.940122","DOIUrl":"https://doi.org/10.1145/940071.940122","url":null,"abstract":"Quantitative performance analysis of software systems should be integrated in the early stages of the development process. We propose a simulation-based performance modeling of software architectures specified in UML. We propose an algorithm for deriving a simulation model from annotated UML software architectures. We introduce the annotation for some UML diagrams, i.e., Use Case, Activity and Deployment diagrams, to describe system performance parameters. Then we show how to derive a process-oriented simulation model by automatically extracting information from the UML diagrams. Simulation provides performance results that are reported into the UML diagrams as tagged values. The proposed methodology has been implemented into a prototype tool called UML-?. The proposed methodology will be illustrated on a simple case study.","PeriodicalId":404202,"journal":{"name":"ESEC/FSE-11","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131477087","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}