首页 > 最新文献

18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.最新文献

英文 中文
A model-driven approach to non-functional analysis of software architectures 对软件架构进行非功能分析的模型驱动方法
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.
我们提出了一种使用模型驱动架构(MDA)技术来管理正式模型的方法,该技术通过与设计工具和从业者使用的存储库的集成来交付分析技术。专家建模知识是用特定于领域的语言和元模型约束获取的。这些都使用UML(统一建模语言)表示,并与设计和分析模型搭配使用,从而提供了一种灵活且可见的方法来管理语义关联。该方法依赖于允许在多个工具中部署的标准。我们用一个示例来演示我们的方法,在这个示例中,排队网络模型与UML设计模型相关联,以预测平均情况的性能。
{"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}
引用次数: 20
VUML: a viewpoint oriented UML extension VUML:面向视点的UML扩展
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.
我们现代社会的主要挑战之一是发展信息系统,使每个公民都能获得有关其文化、权利、教育等方面的信息。目前在电子学习、旅游、环境、卫生、运输等领域的网络上提供了许多这样的信息系统(服务器)。但是,这些系统的开发和维护并不以用户的个人资料(视点)为指导,因此,当必须添加/删除/更新视点时,这些系统很难适应、重用和维护。为了满足这些需求,我们提出了UML的扩展,称为VUML(基于视图的统一建模语言)。VUML提供了多视图组件的概念,其目标是根据用户的观点存储和交付信息。多视图组件由一个默认视图和一组通过扩展关系与基视图相关的特定视图组成。这种方法允许动态更改视点,并提供描述视图依赖关系的机制。为了便于重用和过渡到编码,我们提出了一种针对面向对象语言的实现通用模式。
{"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}
引用次数: 34
Automatic generation of content management systems from EER-based specifications 根据基于eer的规范自动生成内容管理系统
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.
ERW(实体-关系Web浏览器)是一个创新的开源系统,用于使用Web浏览器处理复杂的数据库。一旦在XML(扩展标记语言)中指定了增强的实体-关系模式的细节,ERW就会生成一个允许用户与数据库交互的完整应用程序。然后,规范渗透使得在保持模型驱动方法的灵活性的同时对应用程序进行大量定制成为可能。
{"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}
引用次数: 2
Testing database transaction concurrency 测试数据库事务并发性
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.
数据库应用程序通常被设计为由许多用户并发执行。通过将相关的数据库查询分组到事务中,DBMS(数据库管理系统)可以保证每个事务满足众所周知的ACID属性:原子性、一致性、隔离性和持久性。但是,如果以不正确的方式将数据库应用程序分解为事务,则由于潜在的脱机并发性问题,应用程序在并发执行时可能会失败。本文提出了一种数据流分析技术,用于识别事务执行的时间表,旨在揭示这种性质的并发性错误,以及控制DBMS或应用程序的技术,以便事务序列的执行遵循生成的时间表。这些技术已经集成到AGENDA中,这是一个用于测试关系数据库应用程序的工具集。提出了初步的实证评价。
{"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}
引用次数: 29
Detecting requirements interactions: a three-level framework 检测需求交互:一个三层框架
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.
本文讨论了需求交互的问题。我们引入了一个三层框架来检测不同成本、时间和复杂性层次上的需求交互。在第2层,我们使用半正式的方法来检测相互作用,这是本研究的主要贡献。此外,我们将现有的方法(例如非正式的和正式的)与我们的半正式方法结合起来,为开发人员提供一个全面的框架。该方法用两个案例研究来说明,一个来自电信领域,另一个是电梯控制系统。就花费在需求交互检测上的时间和精力而言,获得的结果是非常令人鼓舞的。
{"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}
引用次数: 3
A type system for statically detecting spreadsheet errors 用于静态检测电子表格错误的类型系统
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.
我们描述了一种在电子表格中检测用户错误的方法,使用单位的概念作为检查的基本元素。我们定义了标头的概念,并讨论了标头之间的两种关系,即is-a和has-a关系。有了这些,我们开发了一组规则来将单位分配给电子表格中的单元格。我们通过确保每个单元都有一个结构良好的单元来检查错误。我们描述了一个允许用户检查Microsoft Excel电子表格的系统实现。我们在实际示例中运行了我们的系统,甚至在发布的电子表格中发现了错误。
{"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}
引用次数: 96
An infrastructure to support meta-differencing and refactoring of source code 支持元差异和源代码重构的基础设施
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.
该研究旨在构建一个底层基础设施,通过细粒度语法级别差异方法支持重构和系统范围转换的(半)自动化构建。我们称这种差分方法为元差分,因为它对被差分的实体类型有额外的了解。一般的方法是建立在源代码的XML表示之上的,特别是J. Maletic等人(2002)的srcXML。这种表示显式地将高级语法信息嵌入到源代码中,这样就不会干扰程序的开发和维护。由于源代码和差异都用XML表示,因此可以使用转换语言XSLT对这些更改建模。我们建议开发一个环境(开发/维护),它可以根据程序的更改自动生成XSLT程序。
{"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}
引用次数: 7
A pragmatic study of binary class relationships 二元类关系的语用研究
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.
在建模和面向对象编程语言之间存在不连续。这种不连续性是建模语言中模糊概念和面向对象编程语言中缺乏相应概念的结果。它阻碍了软件实现和设计之间的转换,并阻碍了软件维护。这种不连续性对于二元类关系(如关联、聚合和组合关系)尤其严重。我们提出了一个解决方案来弥合二元类关系的实现和设计之间的不连续性:我们根据四个属性(排他性、调用地点、生命周期、多样性)提出了二元类关系的共识定义。我们描述了在Java源代码中检测这些属性的算法。
{"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}
引用次数: 2
Graph rewriting and transformation (GReAT): a solution for the model integrated computing (MIC) bottleneck 图形重写和转换(GReAT):模型集成计算(MIC)瓶颈的解决方案
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.
图语法和变换(GGT)作为一个理论研究领域已经有二十多年的历史了。然而,它只产生了少量的实际实现。GGT需要广泛的实际应用来发挥其潜力。另一方面,模型集成计算(MIC)从实用的角度发展起来,在工业和实践中得到了广泛的应用和认可。在MIC方法中,开发模型解释器既耗时又昂贵,是一个瓶颈。这减少了MIC对编程社区的影响。在本文中,我建议使用GGT方法来解决MIC的瓶颈问题。解决方案应该使用MIC技术,使其能够在下一代高级编程语言中发挥决定性作用。
{"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}
引用次数: 55
Tool-assisted unit test selection based on operational violations 基于操作违例的工具辅助单元测试选择
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.
单元测试是软件开发中的一个常见步骤,它提出了一个挑战。当手工制作时,单元测试套件通常不足以识别缺陷。主要的替代方法是使用各种自动单元测试生成工具中的一种:这些工具能够生成并执行大量的测试输入,这些测试输入广泛地执行被测单元。然而,如果没有先验规范,开发人员需要手动验证这些测试执行的输出,这通常是不切实际的。为了减少这种成本,可以使用单元测试选择技术来帮助选择自动生成的测试输入的子集。然后,开发人员可以验证他们的输出,为它们配备测试oracle,并将它们放入现有的测试套件中。在本文中,我们提出了单元测试选择的操作冲突方法,一种不需要先验规范的黑盒方法。该方法从现有单元测试套件的执行中动态地生成操作抽象。任何违反操作抽象的自动生成的测试都被标识为选择的候选。此外,这些操作抽象可以指导测试生成工具生成更好的测试。为了实验动态方法,我们集成了Daikon(一个动态不变量检测工具)和Jtest(一个商业Java单元测试工具)的使用。进行了一项实验来评估这种方法。
{"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}
引用次数: 66
期刊
18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1