首页 > 最新文献

Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)最新文献

英文 中文
Proving Termination by Divergence 发散终止证明
Domagoj Babic, A. Hu, Zvonimir Rakamaric, B. Cook
We describe a simple and efficient algorithm for proving the termination of a class of loops with nonlinear assignments to variables. The method is based on divergence testing for each variable in the cone-of-influence of the loop's termination condition. The analysis allows us to automatically prove the termination of loops that cannot be handled using previous techniques. The paper closes with experimental results using short examples drawn from industrial code.
我们描述了一个简单而有效的算法来证明一类具有非线性变量赋值的循环的终止。该方法基于对回路终止条件影响锥上的每个变量的散度检验。分析允许我们自动证明使用以前的技术无法处理的循环的终止。本文最后给出了从工业规范中抽取的简短示例的实验结果。
{"title":"Proving Termination by Divergence","authors":"Domagoj Babic, A. Hu, Zvonimir Rakamaric, B. Cook","doi":"10.1109/SEFM.2007.32","DOIUrl":"https://doi.org/10.1109/SEFM.2007.32","url":null,"abstract":"We describe a simple and efficient algorithm for proving the termination of a class of loops with nonlinear assignments to variables. The method is based on divergence testing for each variable in the cone-of-influence of the loop's termination condition. The analysis allows us to automatically prove the termination of loops that cannot be handled using previous techniques. The paper closes with experimental results using short examples drawn from industrial code.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129256981","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}
引用次数: 24
Model-driven architecture for cancer research 癌症研究的模型驱动架构
R. Calinescu, Steve Harris, J. Gibbons, J. Davies, I. Toujilov, S. Nagl
It is a common phenomenon for research projects to collect and analyse valuable data using ad-hoc information systems. These costly-to-build systems are often composed of incompatible variants of the same modules, and record data in ways that prevent any meaningful result analysis across similar projects. We present a framework that uses a combination of formal methods, model-driven development and service-oriented architecture (SOA) technologies to automate the generation of data management systems for cancer clinical trial research, an area particularly affected by these problems. The SOA solution generated by the framework is based on an information model of a cancer clinical trial, and comprises components for both the collection and analysis of cancer research data, within and across clinical trial boundaries. While primarily targeted at cancer research, our approach is readily applicable to other areas for which a similar information model is available.
对于研究项目来说,使用临时信息系统收集和分析有价值的数据是一种普遍现象。这些构建成本很高的系统通常由相同模块的不兼容变体组成,并且以阻止跨类似项目进行有意义的结果分析的方式记录数据。我们提出了一个框架,该框架结合了形式化方法、模型驱动开发和面向服务的体系结构(SOA)技术,以自动生成癌症临床试验研究的数据管理系统,这是一个特别受这些问题影响的领域。该框架生成的SOA解决方案基于癌症临床试验的信息模型,并包含用于收集和分析临床试验边界内和跨临床试验边界的癌症研究数据的组件。虽然主要针对癌症研究,我们的方法很容易适用于其他领域,为类似的信息模型是可用的。
{"title":"Model-driven architecture for cancer research","authors":"R. Calinescu, Steve Harris, J. Gibbons, J. Davies, I. Toujilov, S. Nagl","doi":"10.1109/SEFM.2007.26","DOIUrl":"https://doi.org/10.1109/SEFM.2007.26","url":null,"abstract":"It is a common phenomenon for research projects to collect and analyse valuable data using ad-hoc information systems. These costly-to-build systems are often composed of incompatible variants of the same modules, and record data in ways that prevent any meaningful result analysis across similar projects. We present a framework that uses a combination of formal methods, model-driven development and service-oriented architecture (SOA) technologies to automate the generation of data management systems for cancer clinical trial research, an area particularly affected by these problems. The SOA solution generated by the framework is based on an information model of a cancer clinical trial, and comprises components for both the collection and analysis of cancer research data, within and across clinical trial boundaries. While primarily targeted at cancer research, our approach is readily applicable to other areas for which a similar information model is available.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125888284","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}
引用次数: 16
Verifying Security Properties of Cryptoprotocols: A Novel Approach 验证密码协议的安全特性:一种新方法
Mohamed Saleh, M. Debbabi
We model security protocols as a game tree using concepts of game semantics. Using this model we ascribe semantics to protocols written in the standard simple arrow notation. According to the semantics, a protocol is interpreted as a set of strategies over a game tree that represents the type of the protocol. Moreover, in order to specify properties of the model, a logic that deals with games and strategies is developed. A tableau-based proof system is given for the logic, which can serve as a basis for a model checking algorithm. This approach allows us to model a wide range of security protocol types and verify different properties instead of using a variety of methods as is currently the practice. Furthermore, the analyzed protocols are specified using only the simple arrow notation heavily used by protocol designers and by practitioners.
我们使用游戏语义的概念将安全协议建模为一个游戏树。使用这个模型,我们将语义赋予用标准简单箭头符号编写的协议。根据语义,协议被解释为代表协议类型的游戏树上的一组策略。此外,为了指定模型的属性,还开发了处理博弈和策略的逻辑。给出了一种基于表的逻辑证明系统,可作为模型检验算法的基础。这种方法允许我们对广泛的安全协议类型进行建模,并验证不同的属性,而不是像目前的实践那样使用各种方法。此外,所分析的协议仅使用协议设计者和实践者大量使用的简单箭头符号来指定。
{"title":"Verifying Security Properties of Cryptoprotocols: A Novel Approach","authors":"Mohamed Saleh, M. Debbabi","doi":"10.1109/SEFM.2007.46","DOIUrl":"https://doi.org/10.1109/SEFM.2007.46","url":null,"abstract":"We model security protocols as a game tree using concepts of game semantics. Using this model we ascribe semantics to protocols written in the standard simple arrow notation. According to the semantics, a protocol is interpreted as a set of strategies over a game tree that represents the type of the protocol. Moreover, in order to specify properties of the model, a logic that deals with games and strategies is developed. A tableau-based proof system is given for the logic, which can serve as a basis for a model checking algorithm. This approach allows us to model a wide range of security protocol types and verify different properties instead of using a variety of methods as is currently the practice. Furthermore, the analyzed protocols are specified using only the simple arrow notation heavily used by protocol designers and by practitioners.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134423454","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}
引用次数: 1
Disciplining Orchestration and Conversation in Service-Oriented Computing 面向服务计算中的规程编制和对话
Ivan Lanese, F. Martins, V. Vasconcelos, A. Ravara
We give a formal account of a calculus for modeling service-based systems, suitable to describe both service composition (orchestration) and the protocol that services run when invoked (conversation). The calculus includes primitives for defining and invoking services, for isolating conversations between clients and servers, and for orchestrating services. The calculus is equipped with a reduction and a labeled transition semantics related by an equivalence result. To hint how the structuring mechanisms of the language can be exploited for static analysis we present a simple type system guaranteeing the compatibility between client and server protocols, an application of bisimilarity to prove equivalence among services, and we discuss deadlock-avoidance.
我们给出了对基于服务的系统建模的演算的正式说明,适合于描述服务组合(编排)和服务在调用时运行的协议(对话)。该演算包括用于定义和调用服务、隔离客户机和服务器之间的对话以及编排服务的原语。该演算具有一个约简和一个由等价结果相关的标记转换语义。为了提示如何利用语言的结构机制进行静态分析,我们提出了一个简单的类型系统来保证客户端和服务器协议之间的兼容性,一个双相似性的应用来证明服务之间的等价,我们讨论了死锁避免。
{"title":"Disciplining Orchestration and Conversation in Service-Oriented Computing","authors":"Ivan Lanese, F. Martins, V. Vasconcelos, A. Ravara","doi":"10.1109/SEFM.2007.13","DOIUrl":"https://doi.org/10.1109/SEFM.2007.13","url":null,"abstract":"We give a formal account of a calculus for modeling service-based systems, suitable to describe both service composition (orchestration) and the protocol that services run when invoked (conversation). The calculus includes primitives for defining and invoking services, for isolating conversations between clients and servers, and for orchestrating services. The calculus is equipped with a reduction and a labeled transition semantics related by an equivalence result. To hint how the structuring mechanisms of the language can be exploited for static analysis we present a simple type system guaranteeing the compatibility between client and server protocols, an application of bisimilarity to prove equivalence among services, and we discuss deadlock-avoidance.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126999949","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}
引用次数: 95
λ_AOP: An AOP Extended Lambda-Calculus λ_AOP:一个AOP扩展的λ演算
D. Alhadidi, Nadia Belblidia, M. Debbabi, P. Bhattacharya
This paper presents an implicitly-typed functional, aspect-oriented programming language: lambda_AOP. The main contribution of the paper is a semantics for lambda_AOP advice weaving. The weaving is type-based and implemented statically. We extend the Hindley-Milner type inference system to inject applicable advices into lambda expressions during typing. The proposed semantics for advice weaving is close to the spirit of Aspect J, the most popular AOP language, where advices are injected before, after, or around points that match their respective pointcuts. For this purpose, the sequence construct of the extended lambda-calculus is used.
本文提出了一种隐式类型的函数式、面向方面的编程语言:lambda_AOP。本文的主要贡献是lambda_AOP通知编织的语义。编织是基于类型的,并且是静态实现的。我们扩展了Hindley-Milner类型推断系统,在lambda表达式键入时注入适用的建议。建议的通知编织语义接近Aspect J的精神,Aspect J是最流行的AOP语言,其中通知在与其各自的切入点相匹配的点之前、之后或周围注入。为此,使用扩展λ演算的序列构造。
{"title":"λ_AOP: An AOP Extended Lambda-Calculus","authors":"D. Alhadidi, Nadia Belblidia, M. Debbabi, P. Bhattacharya","doi":"10.1109/SEFM.2007.5","DOIUrl":"https://doi.org/10.1109/SEFM.2007.5","url":null,"abstract":"This paper presents an implicitly-typed functional, aspect-oriented programming language: lambda_AOP. The main contribution of the paper is a semantics for lambda_AOP advice weaving. The weaving is type-based and implemented statically. We extend the Hindley-Milner type inference system to inject applicable advices into lambda expressions during typing. The proposed semantics for advice weaving is close to the spirit of Aspect J, the most popular AOP language, where advices are injected before, after, or around points that match their respective pointcuts. For this purpose, the sequence construct of the extended lambda-calculus is used.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134303320","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}
引用次数: 4
Formalising Design Patterns in Predicate Logic 谓词逻辑中设计模式的形式化
Ian Bayley
Design patterns are traditionally outlined in an informal manner. If they could be formalised, we could derive tools that automatically recognise design patterns and refactor designs and code. Our approach is to deploy predicate logic to specify conditions on the class diagrams that describe design patterns. The structure of class diagrams is itself described with a novel meta-notation that can be used for defining any graphical modelling language. As a result, the constraints, while based on UML, are highly readable and have much expressive power. This enables us not only to recognise design patterns in legacy code, but also to reason about them at the design stage, such as showing one pattern to be a special case of another. The paper discusses our specification of the original 23 design patterns and presents a representative sample of some of them.
传统上,设计模式是以一种非正式的方式概述的。如果它们可以形式化,我们就可以获得自动识别设计模式并重构设计和代码的工具。我们的方法是部署谓词逻辑来指定描述设计模式的类图上的条件。类图的结构本身是用一种新颖的元符号来描述的,这种元符号可以用来定义任何图形化建模语言。因此,约束虽然是基于UML的,但具有很高的可读性和表达能力。这使我们不仅能够识别遗留代码中的设计模式,而且还能够在设计阶段对它们进行推理,例如将一个模式显示为另一个模式的特殊情况。本文讨论了我们对最初的23种设计模式的规范,并给出了其中一些有代表性的示例。
{"title":"Formalising Design Patterns in Predicate Logic","authors":"Ian Bayley","doi":"10.1109/SEFM.2007.22","DOIUrl":"https://doi.org/10.1109/SEFM.2007.22","url":null,"abstract":"Design patterns are traditionally outlined in an informal manner. If they could be formalised, we could derive tools that automatically recognise design patterns and refactor designs and code. Our approach is to deploy predicate logic to specify conditions on the class diagrams that describe design patterns. The structure of class diagrams is itself described with a novel meta-notation that can be used for defining any graphical modelling language. As a result, the constraints, while based on UML, are highly readable and have much expressive power. This enables us not only to recognise design patterns in legacy code, but also to reason about them at the design stage, such as showing one pattern to be a special case of another. The paper discusses our specification of the original 23 design patterns and presents a representative sample of some of them.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114275524","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}
引用次数: 43
Recovery from DoS Attacks in MIPv6: Modeling and Validation 从DoS攻击在MIPv6恢复:建模和验证
Manish Kumar, K. Gopinath
Denial-of-service (DoS) attacks form a very important category of security threats that are prevalent in MIPv6 (mobile internet protocol version 6) today. Many schemes have been proposed to alleviate such threats, including one of our own [9]. However, reasoning about the correctness of such protocols is not trivial. In addition, new solutions to mitigate attacks may need to be deployed in the network on a frequent basis as and when attacks are detected, as it is practically impossible to anticipate all attacks and provide solutions in advance. This makes it necessary to validate the solutions in a timely manner before deployment in the real network. However, threshold schemes needed in group protocols make analysis complex. Model checking threshold-based group protocols that employ cryptography have not been successful so far. Here, we propose a new simulation based approach for validation using a tool called FRAMOGR that supports executable specification of group protocols that use cryptography. FRAMOGR allows one to specify attackers and track probability distributions of values or paths. We believe that infrastructure such as FRAMOGR would be required in future for validating new group based threshold protocols that may be needed for making MIPv6 more robust.
拒绝服务(DoS)攻击构成了当今MIPv6(移动互联网协议版本6)中非常普遍的安全威胁的一个非常重要的类别。为了减轻这种威胁,已经提出了许多方案,包括我们自己的bbb计划。然而,对这些协议的正确性进行推理并不是微不足道的。此外,当检测到攻击时,可能需要在网络中频繁部署新的解决方案来减轻攻击,因为实际上不可能提前预测所有攻击并提供解决方案。因此,在部署到实际网络之前,需要及时对解决方案进行验证。然而,群协议中需要的阈值方案使分析变得复杂。迄今为止,采用加密技术的基于模型检查阈值的组协议尚未成功。在这里,我们提出了一种新的基于仿真的验证方法,使用一个名为FRAMOGR的工具,该工具支持使用加密的组协议的可执行规范。FRAMOGR允许指定攻击者并跟踪值或路径的概率分布。我们相信像FRAMOGR这样的基础设施在未来会被用于验证新的基于组的阈值协议,这些协议可能需要使MIPv6更加健壮。
{"title":"Recovery from DoS Attacks in MIPv6: Modeling and Validation","authors":"Manish Kumar, K. Gopinath","doi":"10.1109/SEFM.2007.33","DOIUrl":"https://doi.org/10.1109/SEFM.2007.33","url":null,"abstract":"Denial-of-service (DoS) attacks form a very important category of security threats that are prevalent in MIPv6 (mobile internet protocol version 6) today. Many schemes have been proposed to alleviate such threats, including one of our own [9]. However, reasoning about the correctness of such protocols is not trivial. In addition, new solutions to mitigate attacks may need to be deployed in the network on a frequent basis as and when attacks are detected, as it is practically impossible to anticipate all attacks and provide solutions in advance. This makes it necessary to validate the solutions in a timely manner before deployment in the real network. However, threshold schemes needed in group protocols make analysis complex. Model checking threshold-based group protocols that employ cryptography have not been successful so far. Here, we propose a new simulation based approach for validation using a tool called FRAMOGR that supports executable specification of group protocols that use cryptography. FRAMOGR allows one to specify attackers and track probability distributions of values or paths. We believe that infrastructure such as FRAMOGR would be required in future for validating new group based threshold protocols that may be needed for making MIPv6 more robust.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123418683","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}
引用次数: 1
Formal Specification using Interaction Diagrams 使用交互图的正式规范
K. Lano
Interaction diagrams are a widely-used UML notation, however in contrast to class diagrams or state machines there is a lack of formal semantics for interaction diagrams. We propose a formal semantics for the notation, and consider applications of this semantics for checking the consistency of interaction diagrams with other UML models, and for diagrammatic formal specification of real-time properties.
交互图是一种广泛使用的UML符号,然而,与类图或状态机相比,交互图缺乏正式的语义。我们为符号提出了一种形式化的语义,并考虑使用这种语义来检查交互图与其他UML模型的一致性,以及实时属性的形式化图解规范。
{"title":"Formal Specification using Interaction Diagrams","authors":"K. Lano","doi":"10.1109/SEFM.2007.20","DOIUrl":"https://doi.org/10.1109/SEFM.2007.20","url":null,"abstract":"Interaction diagrams are a widely-used UML notation, however in contrast to class diagrams or state machines there is a lack of formal semantics for interaction diagrams. We propose a formal semantics for the notation, and consider applications of this semantics for checking the consistency of interaction diagrams with other UML models, and for diagrammatic formal specification of real-time properties.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131571149","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}
引用次数: 11
Problem Oriented Software Engineering: A design-theoretic framework for software engineering 面向问题的软件工程:软件工程的设计理论框架
Jon G. Hall, L. Rapanotti, M. Jackson
A key challenge for software engineering is to learn how to reconcile the formal world of the machine and its software with the non-formal real world. In this paper, we discuss elements of problem oriented software engineering (POSE), an approach that brings both non- formal and formal aspects of software development together in a single theoretical framework for software engineering design. POSE presents development as the representation and step-wise transformation of software problems. It allows for the identification and clarification of system requirements, the understanding and structuring of the problem world, the structuring and specification of a hardware/software machine that can ensure satisfaction of the requirements in the problem world, and the construction of adequacy arguments, convincing both to developers and to customers, users and other interested parties, that the system will provide what is needed. Examples are used throughout the paper to illustrate how formal and non-formal descriptions are reconciled under POSE.
软件工程的一个关键挑战是学习如何将机器及其软件的正式世界与非正式的真实世界协调起来。在本文中,我们讨论了面向问题的软件工程(POSE)的要素,这是一种将软件开发的非正式和正式方面结合在一个软件工程设计的理论框架中的方法。POSE将开发描述为软件问题的表示和阶梯式转换。它允许系统需求的识别和澄清,问题世界的理解和结构,硬件/软件机器的结构和规范,可以确保满足问题世界的需求,以及构建充分的论据,使开发人员和客户,用户和其他相关方相信系统将提供所需的东西。整篇论文都使用了例子来说明在POSE下正式和非正式描述是如何协调的。
{"title":"Problem Oriented Software Engineering: A design-theoretic framework for software engineering","authors":"Jon G. Hall, L. Rapanotti, M. Jackson","doi":"10.1109/SEFM.2007.29","DOIUrl":"https://doi.org/10.1109/SEFM.2007.29","url":null,"abstract":"A key challenge for software engineering is to learn how to reconcile the formal world of the machine and its software with the non-formal real world. In this paper, we discuss elements of problem oriented software engineering (POSE), an approach that brings both non- formal and formal aspects of software development together in a single theoretical framework for software engineering design. POSE presents development as the representation and step-wise transformation of software problems. It allows for the identification and clarification of system requirements, the understanding and structuring of the problem world, the structuring and specification of a hardware/software machine that can ensure satisfaction of the requirements in the problem world, and the construction of adequacy arguments, convincing both to developers and to customers, users and other interested parties, that the system will provide what is needed. Examples are used throughout the paper to illustrate how formal and non-formal descriptions are reconciled under POSE.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128117088","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}
引用次数: 47
How to Test Program Generators? A Case Study using flex 如何测试程序生成器?使用flex的案例研究
P. Sampath, A. Rajeev, K. Shashidhar, S. Ramesh
We address the problem of rigorous testing of program generators. Program generators are software that take as input a model in a certain modeling language, and produce as output a program that captures the execution semantics of the input-model. In this sense, program generators are also programs and, at first sight, the traditional techniques for testing programs ought to be applicable to program generators as well. However, the rich semantic structure of the inputs and outputs of program generators poses unique challenges that have so far not been addressed sufficiently in the testing literature. We present a novel automatic test-case generation method for testing program generators. It is based on both syntax and semantics of the modeling language, and can uncover subtle semantic errors in the program generator. We demonstrate our method on flex, a prototypical lexical analyzer generator.
我们解决了程序生成器严格测试的问题。程序生成器是一种软件,它以某种建模语言将模型作为输入,并生成捕获输入模型执行语义的程序作为输出。从这个意义上说,程序生成器也是程序,乍一看,用于测试程序的传统技术也应该适用于程序生成器。然而,程序生成器输入和输出的丰富语义结构带来了独特的挑战,迄今为止在测试文献中还没有得到充分的解决。提出了一种新的测试用例自动生成方法。它基于建模语言的语法和语义,可以发现程序生成器中细微的语义错误。我们在flex上演示了我们的方法,flex是一个原型词法分析器生成器。
{"title":"How to Test Program Generators? A Case Study using flex","authors":"P. Sampath, A. Rajeev, K. Shashidhar, S. Ramesh","doi":"10.1109/SEFM.2007.24","DOIUrl":"https://doi.org/10.1109/SEFM.2007.24","url":null,"abstract":"We address the problem of rigorous testing of program generators. Program generators are software that take as input a model in a certain modeling language, and produce as output a program that captures the execution semantics of the input-model. In this sense, program generators are also programs and, at first sight, the traditional techniques for testing programs ought to be applicable to program generators as well. However, the rich semantic structure of the inputs and outputs of program generators poses unique challenges that have so far not been addressed sufficiently in the testing literature. We present a novel automatic test-case generation method for testing program generators. It is based on both syntax and semantics of the modeling language, and can uncover subtle semantic errors in the program generator. We demonstrate our method on flex, a prototypical lexical analyzer generator.","PeriodicalId":212544,"journal":{"name":"Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125826562","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}
引用次数: 6
期刊
Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007)
全部 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