首页 > 最新文献

Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)最新文献

英文 中文
Automated validation of software models 软件模型的自动验证
Steve Sims, R. Cleaveland, K. Butts, S. Ranville
The paper describes the application of an automated verification tool to a software model developed at Ford Motor Company. Ford already has in place an advanced model-based software development framework that employs the Matlab(R), Simulink(R), and Stateflow(R) modeling tools. During this project, we applied the invariant checker Salsa to a Simulink(R)/Stateflow(R) model of automotive software to check for nondeterminism, missing cases, dead code, and redundant code. During the analysis, a number of anomalies were detected that had not been found during manual review. We argue that the detection and correction of these problems demonstrates a cost-effective application of formal verification that elevates our level of confidence in the model.
本文描述了自动验证工具在福特汽车公司开发的软件模型中的应用。福特已经有了一个先进的基于模型的软件开发框架,该框架采用了Matlab(R)、Simulink(R)和Stateflow(R)建模工具。在这个项目中,我们将不变检查器Salsa应用到汽车软件的Simulink(R)/Stateflow(R)模型中,以检查不确定性、缺失情况、死代码和冗余代码。在分析过程中,发现了许多在人工审查期间没有发现的异常情况。我们认为,这些问题的检测和纠正证明了形式验证的成本效益应用,提高了我们对模型的信心水平。
{"title":"Automated validation of software models","authors":"Steve Sims, R. Cleaveland, K. Butts, S. Ranville","doi":"10.1109/ASE.2001.989794","DOIUrl":"https://doi.org/10.1109/ASE.2001.989794","url":null,"abstract":"The paper describes the application of an automated verification tool to a software model developed at Ford Motor Company. Ford already has in place an advanced model-based software development framework that employs the Matlab(R), Simulink(R), and Stateflow(R) modeling tools. During this project, we applied the invariant checker Salsa to a Simulink(R)/Stateflow(R) model of automotive software to check for nondeterminism, missing cases, dead code, and redundant code. During the analysis, a number of anomalies were detected that had not been found during manual review. We argue that the detection and correction of these problems demonstrates a cost-effective application of formal verification that elevates our level of confidence in the model.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"336 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122328165","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}
引用次数: 39
Context-aware browsing of large component repositories 大型组件存储库的上下文感知浏览
Y. Ye, G. Fischer
The paper proposes a novel approach to locating software components from a large component repository: context-aware browsing. Without any explicit input from software developers, this approach automatically locates and presents a list of software components that could possibly be used in the current development situation. This automation of the component location process not only greatly reduces the search space of components so that software developers can easily browse and choose the desired components, but also enables software developers to use components whose existence they do not even anticipate. A software agent that supports context-aware browsing has been developed and evaluated.
本文提出了一种从大型组件库中定位软件组件的新方法:上下文感知浏览。无需软件开发人员的任何显式输入,该方法自动定位并显示可能在当前开发情况下使用的软件组件列表。这种组件定位过程的自动化不仅大大减少了组件的搜索空间,使软件开发人员可以轻松地浏览和选择所需的组件,而且还使软件开发人员能够使用他们甚至没有预料到的组件的存在。已经开发并评估了支持上下文感知浏览的软件代理。
{"title":"Context-aware browsing of large component repositories","authors":"Y. Ye, G. Fischer","doi":"10.1109/ASE.2001.989795","DOIUrl":"https://doi.org/10.1109/ASE.2001.989795","url":null,"abstract":"The paper proposes a novel approach to locating software components from a large component repository: context-aware browsing. Without any explicit input from software developers, this approach automatically locates and presents a list of software components that could possibly be used in the current development situation. This automation of the component location process not only greatly reduces the search space of components so that software developers can easily browse and choose the desired components, but also enables software developers to use components whose existence they do not even anticipate. A software agent that supports context-aware browsing has been developed and evaluated.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"69 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116446959","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
Exploiting heap symmetries in explicit-state model checking of software 在软件显式状态模型检查中利用堆对称性
Radu Iosif
Detecting symmetries in the structure of systems is a well known technique falling in the class of bisimulation (strongly) preserving state space reductions. Previous work in applying symmetries to aid model checking focuses mainly on process topologies and user specified data types. We applied the symmetry framework to model checking object-based programs that manipulate dynamically created objects, and developed a linear-time heuristic for finding the canonical representative of a symmetry equivalence class. The strategy was implemented in the object-based model checker dSPIN and some experiments, yielding encouraging results, have been carried out.
检测系统结构中的对称性是一种众所周知的技术,属于双模拟(强)保持状态空间约简的范畴。以前应用对称性来帮助模型检查的工作主要集中在过程拓扑和用户指定的数据类型上。我们将对称框架应用于模型检查基于对象的程序,这些程序可以操纵动态创建的对象,并开发了一个线性时间启发式方法,用于寻找对称等价类的典型代表。在基于对象的模型检查器dSPIN中实现了该策略,并进行了一些实验,取得了令人鼓舞的结果。
{"title":"Exploiting heap symmetries in explicit-state model checking of software","authors":"Radu Iosif","doi":"10.1109/ASE.2001.989811","DOIUrl":"https://doi.org/10.1109/ASE.2001.989811","url":null,"abstract":"Detecting symmetries in the structure of systems is a well known technique falling in the class of bisimulation (strongly) preserving state space reductions. Previous work in applying symmetries to aid model checking focuses mainly on process topologies and user specified data types. We applied the symmetry framework to model checking object-based programs that manipulate dynamically created objects, and developed a linear-time heuristic for finding the canonical representative of a symmetry equivalence class. The strategy was implemented in the object-based model checker dSPIN and some experiments, yielding encouraging results, have been carried out.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134286161","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}
引用次数: 64
Towards an evolutionary formal software development 朝着一个渐进的正规软件开发的方向发展
D. Hutter, Axel Schairer
Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise and incremental development process along the line of rapid prototyping. The approach is based on work on a formal management of change for formal developments which is able to maintain proofs when changing specifications.
尽管形式化方法已经成功地应用于各种工业应用中,但它们在软件开发中的使用仍然局限于个别案例研究。为了克服这种情况,我们的目标是一种进化的正式软件开发的方法,它允许沿着快速原型的路线逐步和增量的开发过程。该方法基于对正式开发的正式变更管理的工作,它能够在更改规范时维护证明。
{"title":"Towards an evolutionary formal software development","authors":"D. Hutter, Axel Schairer","doi":"10.1109/ASE.2001.989842","DOIUrl":"https://doi.org/10.1109/ASE.2001.989842","url":null,"abstract":"Although formal methods have been successfully applied in various industrial applications, their use in software development is still restricted to individual case studies. To overcome this situation we aim at a methodology for an evolutionary formal software development which allows for a stepwise and incremental development process along the line of rapid prototyping. The approach is based on work on a formal management of change for formal developments which is able to maintain proofs when changing specifications.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125956309","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}
引用次数: 10
Implementation of specification conjunction and domain interaction in Rosetta Rosetta中规范关联和领域交互的实现
Cindy Kong
Summary form only given. System level design is nowadays a complex process due to heterogeneity of domains of components in a single system. The language standard, Rosetta, was proposed as a means to help in such designs. An important feature in Rosetta is known as domain interaction and involves the analysis of interaction between models from domain to domain. The resulting iteration models can then be used to ensure correctness of the system at the design level. The goal of my doctoral dissertation is therefore to implement the semantics of domain interactions in Rosetta and to apply it in the specification of real world examples.
只提供摘要形式。由于单个系统中组件领域的异构性,系统级设计是一个复杂的过程。语言标准罗塞塔(Rosetta)被提议作为帮助进行此类设计的一种手段。Rosetta的一个重要特性被称为领域交互,它涉及到分析领域与领域之间模型之间的交互。然后可以使用得到的迭代模型来确保系统在设计级别的正确性。因此,我博士论文的目标是在Rosetta中实现领域交互的语义,并将其应用于现实世界示例的规范中。
{"title":"Implementation of specification conjunction and domain interaction in Rosetta","authors":"Cindy Kong","doi":"10.1109/ASE.2001.989848","DOIUrl":"https://doi.org/10.1109/ASE.2001.989848","url":null,"abstract":"Summary form only given. System level design is nowadays a complex process due to heterogeneity of domains of components in a single system. The language standard, Rosetta, was proposed as a means to help in such designs. An important feature in Rosetta is known as domain interaction and involves the analysis of interaction between models from domain to domain. The resulting iteration models can then be used to ensure correctness of the system at the design level. The goal of my doctoral dissertation is therefore to implement the semantics of domain interactions in Rosetta and to apply it in the specification of real world examples.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127826127","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}
引用次数: 0
Developing generative frameworks using XML 使用XML开发生成框架
Iain McLaren, Tony Wicks
Generative programming methods provide some significant advantages for the repeated deployment of product line architectures. The paper considers XML as a tool for building and describing applications that use generative programming methods. It describes techniques for the creation of a generative framework, presents a case study and discusses the results of practical application of these methods in a real world, enterprise scale, product line architecture. The paper presents the advantages of using an XML descriptor that can be easily transformed to generate both static and dynamically configurable software components for direct deployment in an application framework. Two implementation approaches are considered: an indirect approach using XSL for the transformations; and a direct approach where the XML descriptor is parsed and dealt with programmatically. The relative advantages of these two approaches are discussed. The paper provides practical examples and presents lessons learned from the application of the techniques.
生成式编程方法为产品线架构的重复部署提供了一些显著的优势。本文将XML视为构建和描述使用生成式编程方法的应用程序的工具。它描述了创建生成框架的技术,提出了一个案例研究,并讨论了这些方法在现实世界、企业规模、产品线架构中的实际应用结果。本文介绍了使用XML描述符的优点,XML描述符可以很容易地转换为生成静态和动态可配置的软件组件,以便在应用程序框架中直接部署。考虑了两种实现方法:使用XSL进行转换的间接方法;以及一种直接的方法,其中以编程方式解析和处理XML描述符。讨论了这两种方法的相对优势。本文提供了实际的例子,并介绍了从这些技术的应用中得到的经验教训。
{"title":"Developing generative frameworks using XML","authors":"Iain McLaren, Tony Wicks","doi":"10.1109/ASE.2001.989831","DOIUrl":"https://doi.org/10.1109/ASE.2001.989831","url":null,"abstract":"Generative programming methods provide some significant advantages for the repeated deployment of product line architectures. The paper considers XML as a tool for building and describing applications that use generative programming methods. It describes techniques for the creation of a generative framework, presents a case study and discusses the results of practical application of these methods in a real world, enterprise scale, product line architecture. The paper presents the advantages of using an XML descriptor that can be easily transformed to generate both static and dynamically configurable software components for direct deployment in an application framework. Two implementation approaches are considered: an indirect approach using XSL for the transformations; and a direct approach where the XML descriptor is parsed and dealt with programmatically. The relative advantages of these two approaches are discussed. The paper provides practical examples and presents lessons learned from the application of the techniques.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130789418","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
Design rationale for software maintenance 软件维护的设计原理
J. Burge, David C. Brown
For a number of years, members of the artificial intelligence (AI) in design community have studied design rationale (DR), the reasons behind decisions made while designing. A record of what decisions were made, and why, is especially valuable for software maintenance. One reason for this is that the software lifecycle is a long one. Large projects may take years to complete and spend even more time out in the field being used (and maintained). The combination of a long lifecycle and the typically high personnel turnover in the software industry increases the probability that the original designer is unlikely to be available for consultation when problems arise. J. Lee's survey (1997) presents an excellent overview of DR research. There has also been work specific to software design, such as Boehm's WinWin (1994).
多年来,设计界的人工智能(AI)成员一直在研究设计原理(DR),即设计决策背后的原因。对于软件维护来说,做出哪些决策以及为什么做出决策的记录是特别有价值的。其中一个原因是软件生命周期很长。大型项目可能需要数年才能完成,并且在使用(和维护)的领域花费更多的时间。在软件行业中,长生命周期和典型的高人员流动率的结合增加了当问题出现时,原始设计师不太可能被咨询的可能性。J. Lee的调查(1997)对DR研究进行了极好的概述。也有专门针对软件设计的工作,如Boehm的win(1994)。
{"title":"Design rationale for software maintenance","authors":"J. Burge, David C. Brown","doi":"10.1109/ASE.2001.989846","DOIUrl":"https://doi.org/10.1109/ASE.2001.989846","url":null,"abstract":"For a number of years, members of the artificial intelligence (AI) in design community have studied design rationale (DR), the reasons behind decisions made while designing. A record of what decisions were made, and why, is especially valuable for software maintenance. One reason for this is that the software lifecycle is a long one. Large projects may take years to complete and spend even more time out in the field being used (and maintained). The combination of a long lifecycle and the typically high personnel turnover in the software industry increases the probability that the original designer is unlikely to be available for consultation when problems arise. J. Lee's survey (1997) presents an excellent overview of DR research. There has also been work specific to software design, such as Boehm's WinWin (1994).","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126525885","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}
引用次数: 5
Shared variables interaction diagrams 共享变量交互图
R. Alur, R. Grosu
Scenario-based specifications offer an intuitive and visual way of describing design requirements of distributed software systems. For the communication paradigm based on messages, message sequence charts (MSC) offer a standardized and formal notation amenable to formal analysis. In this paper we define shared variables interaction diagrams (SVID) as the counterpart of MSCs when processes communicate via shared variables. After formally defining SVIDs, we develop an intuitive as well as formal definition of refinement for SVIDs. This notion provides a basis for systematically adding details to SVID requirements.
基于场景的规范为描述分布式软件系统的设计需求提供了一种直观和可视化的方式。对于基于消息的通信范例,消息序列图(MSC)提供了一种标准化的形式化符号,便于形式化分析。在本文中,我们定义了共享变量交互图(SVID)作为进程通过共享变量通信时MSCs的对应。在正式定义svid之后,我们为svid开发了一个直观的和正式的细化定义。这个概念为系统地向SVID需求添加细节提供了基础。
{"title":"Shared variables interaction diagrams","authors":"R. Alur, R. Grosu","doi":"10.1109/ASE.2001.989814","DOIUrl":"https://doi.org/10.1109/ASE.2001.989814","url":null,"abstract":"Scenario-based specifications offer an intuitive and visual way of describing design requirements of distributed software systems. For the communication paradigm based on messages, message sequence charts (MSC) offer a standardized and formal notation amenable to formal analysis. In this paper we define shared variables interaction diagrams (SVID) as the counterpart of MSCs when processes communicate via shared variables. After formally defining SVIDs, we develop an intuitive as well as formal definition of refinement for SVIDs. This notion provides a basis for systematically adding details to SVID requirements.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116773214","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
Generation of distributed system test-beds from high-level software architecture descriptions 从高级软件架构描述生成分布式系统测试平台
J. Grundy, Yuhong Cai, Anna Liu
Most distributed system specifications have performance benchmark requirements. However, determining the likely performance of complex distributed system architectures during development is very challenging. We describe a system where software architects sketch an outline of their proposed system architecture at a high level of abstraction, including indicating client requests, server services, and choosing particular kinds of middleware and database technologies. A fully working implementation of this system is then automatically generated, allowing multiple clients and servers to be run. Performance tests are then automatically run for this generated code and results are displayed back in the original high-level architectural diagrams. Architects may change performance parameters and architecture characteristics, comparing multiple test run results to determine the most suitable abstractions to refine to detailed designs for actual system implementation. We demonstrate the utility of this approach and the accuracy of our generated performance test-beds for validating architectural choices during early system development.
大多数分布式系统规范都有性能基准要求。然而,在开发过程中确定复杂分布式系统架构的可能性能是非常具有挑战性的。我们描述了一个系统,在这个系统中,软件架构师在高层次抽象上勾勒出他们所提议的系统架构的轮廓,包括指示客户机请求、服务器服务,以及选择特定类型的中间件和数据库技术。然后自动生成该系统的完整工作实现,允许运行多个客户机和服务器。然后自动为生成的代码运行性能测试,结果显示在原始的高级架构图中。架构师可以更改性能参数和架构特征,比较多个测试运行结果,以确定最合适的抽象,以细化为实际系统实现的详细设计。我们演示了这种方法的实用性,以及在早期系统开发期间验证架构选择所生成的性能测试台的准确性。
{"title":"Generation of distributed system test-beds from high-level software architecture descriptions","authors":"J. Grundy, Yuhong Cai, Anna Liu","doi":"10.1109/ASE.2001.989805","DOIUrl":"https://doi.org/10.1109/ASE.2001.989805","url":null,"abstract":"Most distributed system specifications have performance benchmark requirements. However, determining the likely performance of complex distributed system architectures during development is very challenging. We describe a system where software architects sketch an outline of their proposed system architecture at a high level of abstraction, including indicating client requests, server services, and choosing particular kinds of middleware and database technologies. A fully working implementation of this system is then automatically generated, allowing multiple clients and servers to be run. Performance tests are then automatically run for this generated code and results are displayed back in the original high-level architectural diagrams. Architects may change performance parameters and architecture characteristics, comparing multiple test run results to determine the most suitable abstractions to refine to detailed designs for actual system implementation. We demonstrate the utility of this approach and the accuracy of our generated performance test-beds for validating architectural choices during early system development.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115176879","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
Adequate reverse engineering 充分的逆向工程
S. Rugaber, T. Shikano, R. Stirewalt
Reverse engineering a program constructs a high-level representation suitable for various software development purposes such as documentation or reengineering. Unfortunately however, there are no established guidelines to assess the adequacy of such a representation. We propose two such criteria, completeness and accuracy, and show how they can be determined during the course of reversing the representation. A representation is successfully reversed when it is given as input to a suitable code generator, and a program equivalent to the original is produced. To explore this idea, we reverse engineer a small but complex numerical application, represent our understanding using algebraic specifications, and then use a code generator to produce code from the specification. We discuss the strengths and weaknesses of the approach as well as alternative approaches to reverse engineering adequacy.
逆向工程一个程序构建了适合于各种软件开发目的的高级表示,例如文档或再工程。然而,不幸的是,没有确定的准则来评估这种代表是否适当。我们提出了两个这样的标准,完整性和准确性,并展示了如何在逆转表示过程中确定它们。当将表示法作为输入输入到合适的代码生成器时,就成功地反转了表示法,并生成了与原始表示法等效的程序。为了探索这个想法,我们对一个小而复杂的数值应用程序进行逆向工程,使用代数规范表示我们的理解,然后使用代码生成器从规范中生成代码。我们讨论了该方法的优点和缺点,以及逆向工程充分性的替代方法。
{"title":"Adequate reverse engineering","authors":"S. Rugaber, T. Shikano, R. Stirewalt","doi":"10.1109/ASE.2001.989809","DOIUrl":"https://doi.org/10.1109/ASE.2001.989809","url":null,"abstract":"Reverse engineering a program constructs a high-level representation suitable for various software development purposes such as documentation or reengineering. Unfortunately however, there are no established guidelines to assess the adequacy of such a representation. We propose two such criteria, completeness and accuracy, and show how they can be determined during the course of reversing the representation. A representation is successfully reversed when it is given as input to a suitable code generator, and a program equivalent to the original is produced. To explore this idea, we reverse engineer a small but complex numerical application, represent our understanding using algebraic specifications, and then use a code generator to produce code from the specification. We discuss the strengths and weaknesses of the approach as well as alternative approaches to reverse engineering adequacy.","PeriodicalId":433615,"journal":{"name":"Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-11-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124874303","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
期刊
Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001)
全部 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