Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240311
J. Skene, W. Emmerich
We present an approach to managing formal models using model driven architecture (MDA) technologies that deliver analysis techniques through integration with the design tools and repositories that practitioners use. Expert modeling knowledge is captured in domain-specific languages and meta-model constraints. These are represented using UML (Unified Modeling Language) and collocated with designs and analysis models, providing a flexible and visible approach to managing semantic associations. The approach relies on standards to permit deployment in multiple tools. We demonstrate our approach with an example in which queuing-network models are associated with UML design models to predict average case performance.
{"title":"A model-driven approach to non-functional analysis of software architectures","authors":"J. Skene, W. Emmerich","doi":"10.1109/ASE.2003.1240311","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240311","url":null,"abstract":"We present an approach to managing formal models using model driven architecture (MDA) technologies that deliver analysis techniques through integration with the design tools and repositories that practitioners use. Expert modeling knowledge is captured in domain-specific languages and meta-model constraints. These are represented using UML (Unified Modeling Language) and collocated with designs and analysis models, providing a flexible and visible approach to managing semantic associations. The approach relies on standards to permit deployment in multiple tools. We demonstrate our approach with an example in which queuing-network models are associated with UML design models to predict average case performance.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115424802","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240341
Mahmoud Nassar
One of the main challenges of our modern societies is the development of information systems accessible to every citizen with respect to his culture, rights, education etc. A number of such information systems (servers) are now provided on the Web in e-learning, tourism, environment, health, transport, etc. But the development and the maintenance of those systems are not guided by users' profile (viewpoints) and thus such systems are very difficult to adapt, reuse and maintain when a viewpoint must be added/removed/updated. To meet these requirements, we propose an extension of UML called VUML (View based Unified Modeling Language). VUML provides the concept of multiviews component whose goal is to store and deliver information according to users' viewpoints. A multiviews component consists of a default view and a set of specific views related to the base through an extension relation. This approach allows for dynamic change of viewpoints and offers mechanisms to describe views dependencies. To favor reuse and transition to coding, we propose an implementation generic pattern targeting object-oriented languages.
{"title":"VUML: a viewpoint oriented UML extension","authors":"Mahmoud Nassar","doi":"10.1109/ASE.2003.1240341","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240341","url":null,"abstract":"One of the main challenges of our modern societies is the development of information systems accessible to every citizen with respect to his culture, rights, education etc. A number of such information systems (servers) are now provided on the Web in e-learning, tourism, environment, health, transport, etc. But the development and the maintenance of those systems are not guided by users' profile (viewpoints) and thus such systems are very difficult to adapt, reuse and maintain when a viewpoint must be added/removed/updated. To meet these requirements, we propose an extension of UML called VUML (View based Unified Modeling Language). VUML provides the concept of multiviews component whose goal is to store and deliver information according to users' viewpoints. A multiviews component consists of a default view and a set of specific views related to the base through an extension relation. This approach allows for dynamic change of viewpoints and offers mechanisms to describe views dependencies. To favor reuse and transition to coding, we propose an implementation generic pattern targeting object-oriented languages.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"83 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121816276","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240316
S. Vigna
ERW (entity-relationship Web browser) is an innovative open-source system for handling complex databases using a Web browser. Once the details of an enhanced entity-relationship schema have been specified in XML (eXtended Markup Language), ERW generates a complete application that lets the user interact with the database. Then, specification percolation makes it possible to customize heavily the application while maintaining the flexibility of a model-driven approach.
{"title":"Automatic generation of content management systems from EER-based specifications","authors":"S. Vigna","doi":"10.1109/ASE.2003.1240316","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240316","url":null,"abstract":"ERW (entity-relationship Web browser) is an innovative open-source system for handling complex databases using a Web browser. Once the details of an enhanced entity-relationship schema have been specified in XML (eXtended Markup Language), ERW generates a complete application that lets the user interact with the database. Then, specification percolation makes it possible to customize heavily the application while maintaining the flexibility of a model-driven approach.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116938588","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240306
Yuetang Deng, P. Frankl, Zhongqiang Chen
Database application programs are often designed to be executed concurrently by many users. By grouping related database queries into transactions, DBMS (database management system) can guarantee that each transaction satisfies the well-known ACID properties: atomicity, consistency, isolation, and durability. However, if a database application is decomposed into transactions in an incorrect manner, the application may fail when executed concurrently due to potential offline concurrency problems. This paper presents a dataflow analysis technique for identifying schedules of transaction execution aimed at revealing concurrency faults of this nature, along with techniques for controlling the DBMS or the application so that execution of transaction sequences follows generated schedules. The techniques have been integrated into AGENDA, a tool set for testing relational database application programs. Preliminary empirical evaluation is presented.
{"title":"Testing database transaction concurrency","authors":"Yuetang Deng, P. Frankl, Zhongqiang Chen","doi":"10.1109/ASE.2003.1240306","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240306","url":null,"abstract":"Database application programs are often designed to be executed concurrently by many users. By grouping related database queries into transactions, DBMS (database management system) can guarantee that each transaction satisfies the well-known ACID properties: atomicity, consistency, isolation, and durability. However, if a database application is decomposed into transactions in an incorrect manner, the application may fail when executed concurrently due to potential offline concurrency problems. This paper presents a dataflow analysis technique for identifying schedules of transaction execution aimed at revealing concurrency faults of this nature, along with techniques for controlling the DBMS or the application so that execution of transaction sequences follows generated schedules. The techniques have been integrated into AGENDA, a tool set for testing relational database application programs. Preliminary empirical evaluation is presented.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117120735","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240336
M. Shehata, A. Eberlein
This paper deals with the problem of requirements interaction. We introduce a three level framework to detect requirements interactions at different levels of cost, time, and complexity. Level 2 where we use semiformal methods to detect interactions contains the main contribution of the research. Also we combine existing approaches (e.g. informal and formal) with our semiformal approach to provide a comprehensive framework for developers to use. The approach is illustrated using two case studies, one from the telecommunications domain and the other one being a lift control system. The results obtained are very encouraging with regards to the time and effort spent on requirements interaction detection.
{"title":"Detecting requirements interactions: a three-level framework","authors":"M. Shehata, A. Eberlein","doi":"10.1109/ASE.2003.1240336","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240336","url":null,"abstract":"This paper deals with the problem of requirements interaction. We introduce a three level framework to detect requirements interactions at different levels of cost, time, and complexity. Level 2 where we use semiformal methods to detect interactions contains the main contribution of the research. Also we combine existing approaches (e.g. informal and formal) with our semiformal approach to provide a comprehensive framework for developers to use. The approach is illustrated using two case studies, one from the telecommunications domain and the other one being a lift control system. The results obtained are very encouraging with regards to the time and effort spent on requirements interaction detection.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116753361","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240305
Yanif Ahmad, Tudor Antoniu, S. Goldwater, S. Krishnamurthi
We describe a methodology for detecting user errors in spreadsheets, using the notion of units as our basic elements of checking. We define the concept of a header and discuss two types of relationships between headers, namely is-a and has-a relationships. With these, we develop a set of rules to assign units to cells in the spreadsheet. We check for errors by ensuring that every cell has a well-formed unit. We describe an implementation of the system that allows the user to check Microsoft Excel spreadsheets. We have run our system on practical examples, and even found errors in published spreadsheets.
{"title":"A type system for statically detecting spreadsheet errors","authors":"Yanif Ahmad, Tudor Antoniu, S. Goldwater, S. Krishnamurthi","doi":"10.1109/ASE.2003.1240305","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240305","url":null,"abstract":"We describe a methodology for detecting user errors in spreadsheets, using the notion of units as our basic elements of checking. We define the concept of a header and discuss two types of relationships between headers, namely is-a and has-a relationships. With these, we develop a set of rules to assign units to cells in the spreadsheet. We check for errors by ensuring that every cell has a well-formed unit. We describe an implementation of the system that allows the user to check Microsoft Excel spreadsheets. We have run our system on practical examples, and even found errors in published spreadsheets.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128696662","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240342
M. Collard
The proposed research aims to construct an underlying infrastructure to support (semi) automated construction of refactorings and system wide transformation via a fine grained syntax level differencing approach. We term this differencing approach meta-differencing as it has additional knowledge of the types of entities being differenced. The general approach is built on top of an XML representation of the source code, specifically srcXML by J. Maletic et al. (2002). This representation explicitly embeds high level syntactic information within the source code in such a way as to not interfere with program development and maintenance. Because both the source code and the difference are represented in XML, the transformational language, XSLT, can be used to model these changes. We propose to develop an environment (development/maintenance) that automatically generates XSLT programs based on changes to a program.
{"title":"An infrastructure to support meta-differencing and refactoring of source code","authors":"M. Collard","doi":"10.1109/ASE.2003.1240342","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240342","url":null,"abstract":"The proposed research aims to construct an underlying infrastructure to support (semi) automated construction of refactorings and system wide transformation via a fine grained syntax level differencing approach. We term this differencing approach meta-differencing as it has additional knowledge of the types of entities being differenced. The general approach is built on top of an XML representation of the source code, specifically srcXML by J. Maletic et al. (2002). This representation explicitly embeds high level syntactic information within the source code in such a way as to not interfere with program development and maintenance. Because both the source code and the difference are represented in XML, the transformational language, XSLT, can be used to model these changes. We propose to develop an environment (development/maintenance) that automatically generates XSLT programs based on changes to a program.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129001834","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240320
Yann-Gaël Guéhéneuc, Hervé Albin-Amiot
A discontinuity exists between modeling and object-oriented programming languages. This discontinuity is a consequence of ambiguous notions in modeling languages and lack of corresponding notions in object-oriented programming languages. It hinders the transition between software implementation and design and hampers software maintenance. This discontinuity is particularly acute for binary class relationships, such as the association, aggregation, and composition relationships. We present a solution to bridge the discontinuity between implementation and design for the binary class relationships: we propose consensual definitions of the binary class relationships in terms of four properties (exclusivity, invocation site, lifetime, multiplicity). We describe algorithms to detect these properties in Java source code.
{"title":"A pragmatic study of binary class relationships","authors":"Yann-Gaël Guéhéneuc, Hervé Albin-Amiot","doi":"10.1109/ASE.2003.1240320","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240320","url":null,"abstract":"A discontinuity exists between modeling and object-oriented programming languages. This discontinuity is a consequence of ambiguous notions in modeling languages and lack of corresponding notions in object-oriented programming languages. It hinders the transition between software implementation and design and hampers software maintenance. This discontinuity is particularly acute for binary class relationships, such as the association, aggregation, and composition relationships. We present a solution to bridge the discontinuity between implementation and design for the binary class relationships: we propose consensual definitions of the binary class relationships in terms of four properties (exclusivity, invocation site, lifetime, multiplicity). We describe algorithms to detect these properties in Java source code.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130357941","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240339
Aditya Agrawal
Graph grammars and transformations (GGT) have been a field of theoretical study for over two decades. However, it has produced only a handful of practical implementations. GGT needs a widely used practical application to exploit its potential. On the other hand model integrated computing (MIC) has grown from the practical standpoint and is widely used and recognized in both industry and practice today. In the MIC approach, developing model-interpreters is time consuming and costly, proving to be a bottleneck. This reduces MIC's reach and impact on the programming community. In this paper I propose to use GGT methodologies to solve MIC's bottleneck problem. The solution should place the MIC technology such that it can play a defining role in the next generation of high-level programming languages.
{"title":"Graph rewriting and transformation (GReAT): a solution for the model integrated computing (MIC) bottleneck","authors":"Aditya Agrawal","doi":"10.1109/ASE.2003.1240339","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240339","url":null,"abstract":"Graph grammars and transformations (GGT) have been a field of theoretical study for over two decades. However, it has produced only a handful of practical implementations. GGT needs a widely used practical application to exploit its potential. On the other hand model integrated computing (MIC) has grown from the practical standpoint and is widely used and recognized in both industry and practice today. In the MIC approach, developing model-interpreters is time consuming and costly, proving to be a bottleneck. This reduces MIC's reach and impact on the programming community. In this paper I propose to use GGT methodologies to solve MIC's bottleneck problem. The solution should place the MIC technology such that it can play a defining role in the next generation of high-level programming languages.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127017093","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}
Pub Date : 2003-10-06DOI: 10.1109/ASE.2003.1240293
Tao Xie, D. Notkin
Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, developers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit test selection techniques may be used to help select a subset of automatically generated test inputs. Then developers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit test selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. Any automatically generated tests violating the operational abstractions are identified as candidates for selection. In addition, these operational abstractions can guide test generation tools to produce better tests. To experiment dynamic approach, we integrated the use of Daikon (a dynamic invariant detection tool) and Jtest (a commercial Java unit testing tool). An experiment is conducted to assess this approach.
{"title":"Tool-assisted unit test selection based on operational violations","authors":"Tao Xie, D. Notkin","doi":"10.1109/ASE.2003.1240293","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240293","url":null,"abstract":"Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, developers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit test selection techniques may be used to help select a subset of automatically generated test inputs. Then developers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit test selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. Any automatically generated tests violating the operational abstractions are identified as candidates for selection. In addition, these operational abstractions can guide test generation tools to produce better tests. To experiment dynamic approach, we integrated the use of Daikon (a dynamic invariant detection tool) and Jtest (a commercial Java unit testing tool). An experiment is conducted to assess this approach.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2003-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124132840","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}