首页 > 最新文献

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

英文 中文
Visual constraint diagrams: runtime conformance checking of UML object models versus implementations 可视化约束图:UML对象模型与实现的运行时一致性检查
Christopher J. Turner, T. Graham, Christopher Wolfe, Julian Ball, David Holman, Hugh D. Stewart, A. Ryman
This paper presents visual constraint diagrams (VCD), an extension to UML (Unified Modeling Language) object diagrams for expressing constraints over object models. VCD allows designers to express well-formedness constraints that cannot be expressed using class diagrams alone; an example of such a constraint is that a linked list data structure cannot have any loops. VCD offers two advances over existing techniques: (1) they allow constraints to be expressed within the visual notation of UML, without resorting to complex textual notations such as OCL; and (2) VCD can be checked at runtime, increasing the value of design documents to developers. An editor and a checker for VCD have been implemented as part of the Rosetta software design tool.
本文提出了可视化约束图(VCD),它是UML(统一建模语言)对象图的一种扩展,用于表示对象模型上的约束。VCD允许设计人员表达不能单独使用类图表达的格式良好的约束;这种约束的一个例子是链表数据结构不能有任何循环。VCD提供了比现有技术更先进的两个方面:(1)它们允许在UML的可视化符号中表达约束,而不需要诉诸复杂的文本符号,如OCL;(2) VCD可以在运行时检查,增加了设计文档对开发人员的价值。在Rosetta软件设计工具中实现了VCD的编辑器和检查器。
{"title":"Visual constraint diagrams: runtime conformance checking of UML object models versus implementations","authors":"Christopher J. Turner, T. Graham, Christopher Wolfe, Julian Ball, David Holman, Hugh D. Stewart, A. Ryman","doi":"10.1109/ASE.2003.1240319","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240319","url":null,"abstract":"This paper presents visual constraint diagrams (VCD), an extension to UML (Unified Modeling Language) object diagrams for expressing constraints over object models. VCD allows designers to express well-formedness constraints that cannot be expressed using class diagrams alone; an example of such a constraint is that a linked list data structure cannot have any loops. VCD offers two advances over existing techniques: (1) they allow constraints to be expressed within the visual notation of UML, without resorting to complex textual notations such as OCL; and (2) VCD can be checked at runtime, increasing the value of design documents to developers. An editor and a checker for VCD have been implemented as part of the Rosetta software design tool.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"23 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":"114696541","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}
引用次数: 8
Automatically inferring concern code from program investigation activities 从程序调查活动中自动推断关注代码
M. Robillard, G. Murphy
When performing a program evolution task, developers typically spend a significant amount of effort investigating and reinvestigating source code. To reduce this effort, we propose a technique to automatically infer the essence of program investigation activities as a set of concern descriptions. The concern descriptions produced by our technique list methods and fields of importance in the context of the investigation of an object-oriented system. A developer can rely on this information to perform the change task at hand, or at a later stage for a change that involves the same concerns. The technique involves applying an algorithm to a transcript of a program investigation session. The transcript lists which pieces of source code were accessed by a developer when investigating a program and how the different pieces of code were accessed. We applied the technique to data obtained from program investigation activities for five subjects involved in two different program evolution tasks. The results show that relevant concerns can be identified with a manageable level of noise.
当执行程序演化任务时,开发人员通常花费大量的精力调查和重新调查源代码。为了减少这种努力,我们提出了一种技术来自动推断作为一组关注描述的程序调查活动的本质。我们的技术产生的关注描述列出了在研究面向对象系统的上下文中重要的方法和领域。开发人员可以依靠这些信息来执行手头的变更任务,或者在稍后的阶段执行涉及相同关注点的变更。该技术涉及将算法应用于程序调查会话的记录。该记录列出了开发人员在调查程序时访问了哪些源代码片段,以及如何访问不同的代码片段。我们将该技术应用于从涉及两个不同程序演变任务的五个受试者的程序调查活动中获得的数据。结果表明,相关的问题可以通过一个可控的噪音水平来识别。
{"title":"Automatically inferring concern code from program investigation activities","authors":"M. Robillard, G. Murphy","doi":"10.1109/ASE.2003.1240310","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240310","url":null,"abstract":"When performing a program evolution task, developers typically spend a significant amount of effort investigating and reinvestigating source code. To reduce this effort, we propose a technique to automatically infer the essence of program investigation activities as a set of concern descriptions. The concern descriptions produced by our technique list methods and fields of importance in the context of the investigation of an object-oriented system. A developer can rely on this information to perform the change task at hand, or at a later stage for a change that involves the same concerns. The technique involves applying an algorithm to a transcript of a program investigation session. The transcript lists which pieces of source code were accessed by a developer when investigating a program and how the different pieces of code were accessed. We applied the technique to data obtained from program investigation activities for five subjects involved in two different program evolution tasks. The results show that relevant concerns can be identified with a manageable level of noise.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"50 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":"122271458","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}
引用次数: 70
A programmable client-server model: robust extensibility via DSLs 可编程客户机-服务器模型:通过dsl实现健壮的可扩展性
C. Consel, Laurent Réveillère
The client-server model has been successfully used to support a wide variety of families of services in the context of distributed systems. However, its server-centric nature makes it insensitive to fast changing client characteristics like terminal capabilities, network features, user preferences and evolving needs. To overcome these key limitations, we present an approach to enabling a server to adapt to different clients by making it programmable. A service-description language is used to program server adaptations. This language is designed as a domain-specific language to offer expressiveness and conciseness without compromising safety and security. We show that requiring the deployment of new protocols or server implementations. We illustrate our approach with the Internet Message Access Protocol (IMAP). An IMAP server is made programmable and a language, named Pems, is introduced to program robust variations of e-mail services. Our approach is uniformly used to develop a platform for multimedia communication services. This platform is composed of programmable servers for telephony service, e-mail processing, remote-document processing and stream adapters.
客户机-服务器模型已被成功地用于支持分布式系统上下文中各种各样的服务。然而,它以服务器为中心的特性使其对快速变化的客户端特征(如终端功能、网络特性、用户偏好和不断变化的需求)不敏感。为了克服这些关键的限制,我们提出了一种方法,通过使服务器可编程来使其适应不同的客户机。服务描述语言用于编写服务器适配程序。这种语言被设计为一种特定于领域的语言,在不损害安全性的情况下提供表达性和简洁性。我们展示了这需要部署新的协议或服务器实现。我们用Internet消息访问协议(IMAP)来说明我们的方法。IMAP服务器是可编程的,并且引入了一种名为Pems的语言来编写健壮的电子邮件服务变体。我们的方法被统一用于开发多媒体通信服务平台。该平台由可编程的电话服务服务器、电子邮件处理服务器、远程文档处理服务器和流适配器组成。
{"title":"A programmable client-server model: robust extensibility via DSLs","authors":"C. Consel, Laurent Réveillère","doi":"10.1109/ASE.2003.1240296","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240296","url":null,"abstract":"The client-server model has been successfully used to support a wide variety of families of services in the context of distributed systems. However, its server-centric nature makes it insensitive to fast changing client characteristics like terminal capabilities, network features, user preferences and evolving needs. To overcome these key limitations, we present an approach to enabling a server to adapt to different clients by making it programmable. A service-description language is used to program server adaptations. This language is designed as a domain-specific language to offer expressiveness and conciseness without compromising safety and security. We show that requiring the deployment of new protocols or server implementations. We illustrate our approach with the Internet Message Access Protocol (IMAP). An IMAP server is made programmable and a language, named Pems, is introduced to program robust variations of e-mail services. Our approach is uniformly used to develop a platform for multimedia communication services. This platform is composed of programmable servers for telephony service, e-mail processing, remote-document processing and stream adapters.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"1 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":"129911624","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}
引用次数: 9
Model-based verification of Web service compositions 基于模型的Web服务组合验证
H. Foster, Sebastián Uchitel, J. Magee, J. Kramer
In this paper, we discuss a model-based approach to verifying Web service compositions for Web service implementations. The approach supports verification against specification models and assigns semantics to the behavior of implementation model so as to confirm expected results for both the designer and implementer. Specifications of the design are modeled in UML (Unified Modeling Language), in the form of message sequence charts (MSC), and mechanically compiled into the finite state process notation (FSP) to concisely describe and reason about the concurrent programs. Implementations are mechanically translated to FSP to allow a trace equivalence verification process to be performed. By providing early design verification, the implementation, testing, and deployment of Web service compositions can be eased through the understanding of the differences, limitations and undesirable traces allowed by the composition. The approach is supported by a suite of cooperating tools for specification, formal modeling and trace animation of the composition workflow.
在本文中,我们讨论了一种基于模型的方法来验证Web服务实现的Web服务组合。该方法支持针对规范模型的验证,并为实现模型的行为分配语义,以便为设计人员和实现者确认预期的结果。设计规范采用UML(统一建模语言),以消息序列图(MSC)的形式进行建模,并机械地编译成有限状态过程符号(FSP),以简洁地描述和推理并发程序。实现被机械地转换为FSP,以允许执行跟踪等效性验证过程。通过提供早期的设计验证,可以通过了解组合所允许的差异、限制和不良跟踪,简化Web服务组合的实现、测试和部署。该方法由一套协作工具支持,用于组合工作流的规范、形式化建模和跟踪动画。
{"title":"Model-based verification of Web service compositions","authors":"H. Foster, Sebastián Uchitel, J. Magee, J. Kramer","doi":"10.1109/ASE.2003.1240303","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240303","url":null,"abstract":"In this paper, we discuss a model-based approach to verifying Web service compositions for Web service implementations. The approach supports verification against specification models and assigns semantics to the behavior of implementation model so as to confirm expected results for both the designer and implementer. Specifications of the design are modeled in UML (Unified Modeling Language), in the form of message sequence charts (MSC), and mechanically compiled into the finite state process notation (FSP) to concisely describe and reason about the concurrent programs. Implementations are mechanically translated to FSP to allow a trace equivalence verification process to be performed. By providing early design verification, the implementation, testing, and deployment of Web service compositions can be eased through the understanding of the differences, limitations and undesirable traces allowed by the composition. The approach is supported by a suite of cooperating tools for specification, formal modeling and trace animation of the composition workflow.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"15 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":"133204272","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}
引用次数: 511
Aspectizing server-side distribution 对服务器端分布进行aspect化
E. Tilevich, Stephan Urbanski, Y. Smaragdakis, M. Fleury
We discuss how a collection of domain-specific and domain-independent tools can be combined to "aspectize" the distributed character of server-side applications, to a much greater extent than with prior efforts. Specifically, we present a framework that can be used with a large class of unaware applications to turn their objects into distributed objects with minimal programming effort. Our framework is developed on top of three main components: AspectJ (a high-level aspect language), XDoclet (a low-level aspect language), and NRMI (a middleware facility that makes remote calls behave more like local calls). We discuss why each of the three components offers unique advantages and is necessary for an elegant solution, why our approach is general, and how it constitutes a significant improvement over past efforts to isolate distribution concerns.
我们讨论了如何将一组特定于领域和独立于领域的工具组合起来,以“方面化”服务器端应用程序的分布式特征,其程度要比以前的工作大得多。具体来说,我们提出了一个框架,它可以与大量不知情的应用程序一起使用,以最少的编程工作将它们的对象转换为分布式对象。我们的框架是在三个主要组件之上开发的:AspectJ(高级方面语言)、XDoclet(低级方面语言)和NRMI(使远程调用行为更像本地调用的中间件设施)。我们讨论了为什么这三个组件中的每一个都提供了独特的优势,并且对于一个优雅的解决方案来说是必要的,为什么我们的方法是通用的,以及它如何构成了对过去隔离发行关注的努力的重大改进。
{"title":"Aspectizing server-side distribution","authors":"E. Tilevich, Stephan Urbanski, Y. Smaragdakis, M. Fleury","doi":"10.1109/ASE.2003.1240301","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240301","url":null,"abstract":"We discuss how a collection of domain-specific and domain-independent tools can be combined to \"aspectize\" the distributed character of server-side applications, to a much greater extent than with prior efforts. Specifically, we present a framework that can be used with a large class of unaware applications to turn their objects into distributed objects with minimal programming effort. Our framework is developed on top of three main components: AspectJ (a high-level aspect language), XDoclet (a low-level aspect language), and NRMI (a middleware facility that makes remote calls behave more like local calls). We discuss why each of the three components offers unique advantages and is necessary for an elegant solution, why our approach is general, and how it constitutes a significant improvement over past efforts to isolate distribution concerns.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"60 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":"124922081","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}
引用次数: 32
What test oracle should I use for effective GUI testing? 我应该使用什么测试oracle来进行有效的GUI测试?
A. Memon, Ishan Banerjee, Adithya Nagarajan
Test designers widely believe that the overall effectiveness and cost of software testing depends largely on the type and number of test cases executed on the software. In this paper we show that the test oracle used during testing also contributes significantly to test effectiveness and cost. A test oracle is a mechanism that determines whether software executed correctly for a test case. We define a test oracle to contain two essential parts: oracle information that represents expected output; and an oracle procedure that compares the oracle information with the actual output. By varying the level of detail of oracle information and changing the oracle procedure, a test designer can create different types of test oracles. We design 11 types of test oracles and empirically compare them on four software systems. We seed faults in software to create 100 faulty versions, execute 600 test cases on each version, for all 11 types of oracles. In all, we report results of 660,000 test runs on software. We show (1) the time and space requirements of the oracles, (2) that faults are detected early in the testing process when using detailed oracle information and complex oracle procedures, although at a higher cost per test case, and (3) that employing expensive oracles results in detecting a large number of faults using relatively smaller number of test cases.
测试设计者普遍认为,软件测试的总体有效性和成本在很大程度上取决于在软件上执行的测试用例的类型和数量。在本文中,我们证明了测试过程中使用的测试oracle对测试的有效性和成本也有很大的影响。测试oracle是一种确定软件是否正确执行测试用例的机制。我们将测试oracle定义为包含两个基本部分:表示预期输出的oracle信息;以及一个oracle过程,用于将oracle信息与实际输出进行比较。通过改变oracle信息的详细程度和改变oracle过程,测试设计者可以创建不同类型的测试oracle。我们设计了11种类型的测试预言机,并在四个软件系统上进行了经验比较。我们在软件中植入故障,创建100个有故障的版本,在每个版本上执行600个测试用例,针对所有11种类型的oracle。总之,我们报告了在软件上运行的660,000次测试的结果。我们展示了(1)oracle的时间和空间需求,(2)当使用详细的oracle信息和复杂的oracle过程时,在测试过程的早期检测到错误,尽管每个测试用例的成本更高,以及(3)使用昂贵的oracle导致使用相对较少的测试用例检测大量错误。
{"title":"What test oracle should I use for effective GUI testing?","authors":"A. Memon, Ishan Banerjee, Adithya Nagarajan","doi":"10.1109/ASE.2003.1240304","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240304","url":null,"abstract":"Test designers widely believe that the overall effectiveness and cost of software testing depends largely on the type and number of test cases executed on the software. In this paper we show that the test oracle used during testing also contributes significantly to test effectiveness and cost. A test oracle is a mechanism that determines whether software executed correctly for a test case. We define a test oracle to contain two essential parts: oracle information that represents expected output; and an oracle procedure that compares the oracle information with the actual output. By varying the level of detail of oracle information and changing the oracle procedure, a test designer can create different types of test oracles. We design 11 types of test oracles and empirically compare them on four software systems. We seed faults in software to create 100 faulty versions, execute 600 test cases on each version, for all 11 types of oracles. In all, we report results of 660,000 test runs on software. We show (1) the time and space requirements of the oracles, (2) that faults are detected early in the testing process when using detailed oracle information and complex oracle procedures, although at a higher cost per test case, and (3) that employing expensive oracles results in detecting a large number of faults using relatively smaller number of test cases.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"1 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":"129692581","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}
引用次数: 138
Analysis of inconsistency in graph-based viewpoints: a category-theoretical approach 基于图的视点的不一致性分析:范畴理论方法
M. Sabetzadeh, S. Easterbrook
Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sources. In this paper, we propose a category-theoretical framework for the analysis of fuzzy viewpoints. Informally, a fuzzy viewpoint is graph in which the elements of a lattice are used to specify the amount of knowledge available about the details of nodes and edges. By defining an appropriate notion of morphism between fuzzy viewpoints, we construct categories of fuzzy viewpoints and prove that these categories are (finitely) complete. We then show how colimits can be employed to merge the viewpoints and detect the inconsistencies that arise independent of any particular choice of viewpoint semantics. We illustrate an application of the framework through a case-study showing how fuzzy viewpoints can serve as a requirements elicitation tool in reactive systems.
引出一个被提议的系统的需求通常涉及到具有不同专业知识、职责和观点的不同涉众。基于视点的方法被提出作为一种管理从多个来源收集的不完整和不一致的模型的方法。本文提出了模糊视点分析的范畴理论框架。非正式地,模糊视点是一种图形,其中晶格的元素用于指定关于节点和边缘细节的可用知识量。通过定义模糊视点之间的态射概念,构造了模糊视点的范畴,并证明了这些范畴是有限完备的。然后,我们展示了如何使用边界来合并视点并检测独立于任何特定视点语义选择而产生的不一致。我们通过一个案例研究来说明该框架的应用,该案例研究展示了模糊视点如何在反应性系统中作为需求引出工具。
{"title":"Analysis of inconsistency in graph-based viewpoints: a category-theoretical approach","authors":"M. Sabetzadeh, S. Easterbrook","doi":"10.1109/ASE.2003.1240290","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240290","url":null,"abstract":"Eliciting the requirements for a proposed system typically involves different stakeholders with different expertise, responsibilities, and perspectives. Viewpoints-based approaches have been proposed as a way to manage incomplete and inconsistent models gathered from multiple sources. In this paper, we propose a category-theoretical framework for the analysis of fuzzy viewpoints. Informally, a fuzzy viewpoint is graph in which the elements of a lattice are used to specify the amount of knowledge available about the details of nodes and edges. By defining an appropriate notion of morphism between fuzzy viewpoints, we construct categories of fuzzy viewpoints and prove that these categories are (finitely) complete. We then show how colimits can be employed to merge the viewpoints and detect the inconsistencies that arise independent of any particular choice of viewpoint semantics. We illustrate an application of the framework through a case-study showing how fuzzy viewpoints can serve as a requirements elicitation tool in reactive systems.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"85 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":"128321161","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}
引用次数: 53
The feature signatures of evolving programs 演化程序的特征签名
Daniel R. Licata, C. D. Harris, S. Krishnamurthi
As programs evolve, their code increasingly becomes tangled by programmers and requirements. This mosaic quality complicated program comprehension and maintenance. Many of these activities can benefit from viewing the program as a collection of features. We introduce an inexpensive and easily comprehensible summary of program changes called the feature signature and investigate its properties. We find a remarkable similarity in the nature of feature signatures across multiple nontrivial programs, developers and magnitude changes. This indicates that feature signatures are a meaningful notion worth studying. We then show numerous applications of feature signatures to software evolution, establishing their utility.
随着程序的发展,它们的代码越来越被程序员和需求纠缠在一起。这种马赛克质量复杂的程序的理解和维护。这些活动中的许多都可以从将程序视为功能的集合中获益。我们引入了一种廉价且易于理解的程序更改摘要,称为特征签名,并研究其属性。我们发现,在多个重要的程序、开发人员和量级变化中,特征签名的性质非常相似。这说明特征签名是一个值得研究的有意义的概念。然后,我们展示了特征签名在软件进化中的许多应用,建立了它们的实用性。
{"title":"The feature signatures of evolving programs","authors":"Daniel R. Licata, C. D. Harris, S. Krishnamurthi","doi":"10.1109/ASE.2003.1240321","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240321","url":null,"abstract":"As programs evolve, their code increasingly becomes tangled by programmers and requirements. This mosaic quality complicated program comprehension and maintenance. Many of these activities can benefit from viewing the program as a collection of features. We introduce an inexpensive and easily comprehensible summary of program changes called the feature signature and investigate its properties. We find a remarkable similarity in the nature of feature signatures across multiple nontrivial programs, developers and magnitude changes. This indicates that feature signatures are a meaningful notion worth studying. We then show numerous applications of feature signatures to software evolution, establishing their utility.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"1 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":"130679381","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}
引用次数: 27
Automated requirements-based generation of test cases for product families 为产品族自动生成基于需求的测试用例
C. Nebut, S. Pickin, Yves Le Traon, J. Jézéquel
Software product families (PF) are becoming one of the key challenges of software engineering. Despite recent interest in this area, the extent to which the close relationship between PF and requirements engineering is exploited to guide the V&V tasks is still limited. In particular, PF processes generally lack support for generating test cases from requirements. In this paper, we propose a requirements-based approach to functional testing of product lines, based on a formal test generation tool. Here, we outline how product-specific test cases can be automatically generated from PF functional requirements expressed in UML (Unified Modeling Language). We study the efficiency of the generated test cases on a case study.
软件产品族(PF)正成为软件工程的主要挑战之一。尽管最近对这个领域很感兴趣,但是利用PF和需求工程之间的密切关系来指导V&V任务的程度仍然是有限的。特别是,PF过程通常缺乏从需求生成测试用例的支持。在本文中,我们提出了一种基于正式测试生成工具的基于需求的产品线功能测试方法。在这里,我们概述了如何从用UML(统一建模语言)表示的PF功能需求中自动生成特定于产品的测试用例。我们在案例研究中研究生成的测试用例的效率。
{"title":"Automated requirements-based generation of test cases for product families","authors":"C. Nebut, S. Pickin, Yves Le Traon, J. Jézéquel","doi":"10.1109/ASE.2003.1240317","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240317","url":null,"abstract":"Software product families (PF) are becoming one of the key challenges of software engineering. Despite recent interest in this area, the extent to which the close relationship between PF and requirements engineering is exploited to guide the V&V tasks is still limited. In particular, PF processes generally lack support for generating test cases from requirements. In this paper, we propose a requirements-based approach to functional testing of product lines, based on a formal test generation tool. Here, we outline how product-specific test cases can be automatically generated from PF functional requirements expressed in UML (Unified Modeling Language). We study the efficiency of the generated test cases on a case study.","PeriodicalId":114604,"journal":{"name":"18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.","volume":"65 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":"131910591","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}
引用次数: 45
Model checking software requirement specifications using domain reduction abstraction 使用域约简抽象对软件需求规范进行模型检查
Yunja Choi, M. Heimdahl
As an automated verification and validation tool, model checking can be quite effective in practice. Nevertheless, model checking has been quite inefficient when dealing with systems with data variables over a large (or infinite) domain, which is a serious limiting factor for its applicability in practice. To address this issue, we have investigated a static abstraction technique, domain reduction abstraction, based on data equivalence and trajectory reduction, and implemented it as a prototype extension of the symbolic model checker NuSMV. Unlike on-the-fly dynamic abstraction techniques, domain reduction abstraction statically analyzes specifications and automatically produces an abstract model which can be reused over time; a feature suitable for regression verification.
作为一种自动化的验证和确认工具,模型检查在实践中是非常有效的。然而,当处理具有大(或无限)域数据变量的系统时,模型检查的效率相当低,这严重限制了其在实践中的适用性。为了解决这个问题,我们研究了一种基于数据等价和轨迹约简的静态抽象技术——域约简抽象,并将其作为符号模型检查器NuSMV的原型扩展实现。与动态抽象技术不同,领域缩减抽象静态地分析规范并自动生成一个抽象模型,该模型可以随着时间的推移而被重用;适合于回归验证的特性。
{"title":"Model checking software requirement specifications using domain reduction abstraction","authors":"Yunja Choi, M. Heimdahl","doi":"10.1109/ASE.2003.1240328","DOIUrl":"https://doi.org/10.1109/ASE.2003.1240328","url":null,"abstract":"As an automated verification and validation tool, model checking can be quite effective in practice. Nevertheless, model checking has been quite inefficient when dealing with systems with data variables over a large (or infinite) domain, which is a serious limiting factor for its applicability in practice. To address this issue, we have investigated a static abstraction technique, domain reduction abstraction, based on data equivalence and trajectory reduction, and implemented it as a prototype extension of the symbolic model checker NuSMV. Unlike on-the-fly dynamic abstraction techniques, domain reduction abstraction statically analyzes specifications and automatically produces an abstract model which can be reused over time; a feature suitable for regression verification.","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":"131414629","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}
引用次数: 15
期刊
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