首页 > 最新文献

2008 Formal Methods in Computer-Aided Design最新文献

英文 中文
Automatic Generation of Local Repairs for Boolean Programs 布尔程序的局部修复自动生成
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.31
R. Samanta, Jyotirmoy V. Deshmukh, Allen Emerson
Automatic techniques for software verification focus on obtaining witnesses of program failure. Such counterexamples often fail to localize the precise cause of an error and usually do not suggest a repair strategy. We present an efficient algorithm to automatically generate a repair for an incorrect sequential Boolean program where program correctness is specified using a pre-condition and a post-condition. Our approach draws on standard techniques from predicate calculus to obtain annotations for the program statements. These annotations are then used to generate a synthesis query for each program statement, which if successful, yields a repair. Furthermore, we show that if a repair exists for a given program under specified conditions, our technique is always able to find it.
软件验证的自动技术侧重于获取程序失败的证据。这样的反例通常不能定位错误的确切原因,通常也不能提出修复策略。我们提出了一种有效的算法来自动生成一个不正确的顺序布尔程序的修复,其中程序的正确性是使用前置条件和后置条件指定的。我们的方法利用谓词演算中的标准技术来获得程序语句的注释。然后使用这些注释为每个程序语句生成一个综合查询,如果成功,则生成一个修复。此外,我们证明,如果在特定条件下给定程序存在修复,我们的技术总是能够找到它。
{"title":"Automatic Generation of Local Repairs for Boolean Programs","authors":"R. Samanta, Jyotirmoy V. Deshmukh, Allen Emerson","doi":"10.1109/FMCAD.2008.ECP.31","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.31","url":null,"abstract":"Automatic techniques for software verification focus on obtaining witnesses of program failure. Such counterexamples often fail to localize the precise cause of an error and usually do not suggest a repair strategy. We present an efficient algorithm to automatically generate a repair for an incorrect sequential Boolean program where program correctness is specified using a pre-condition and a post-condition. Our approach draws on standard techniques from predicate calculus to obtain annotations for the program statements. These annotations are then used to generate a synthesis query for each program statement, which if successful, yields a repair. Furthermore, we show that if a repair exists for a given program under specified conditions, our technique is always able to find it.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132592099","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}
引用次数: 35
Automatic Formal Verification of Block Cipher Implementations 块密码实现的自动形式化验证
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.10
E. Smith, D. Dill
This paper describes an automatic method for proving equivalence of implementations of block ciphers (and similar cryptographic algorithms). The method can compare two object code implementations or compare object code to a formal, mathematical specification. In either case it proves that the computations being compared are bit-for-bit equivalent. The method has two steps. First the computations are represented as large mathematical terms. Then the two terms are proved equivalent using a phased approach that includes domain-specific optimizations for block ciphers and relies on a careful choice of both word-level and bit-level simplifications. The verification also relies on STP [5], a SAT-based decision procedure for bit-vectors and arrays. The method has been applied to verify real, widely-used Java code from Sun Microsystems and the open source Bouncy Castle project. It has been applied to implementations of the block ciphers AES, DES, Triple DES (3DES), Blowfish, RC2, RC6, and Skipjack as well as applications of the cryptographic hash functions SHA-1 and MD5 on fixed-length messages.
本文描述了一种自动证明分组密码(以及类似密码算法)实现等价性的方法。该方法可以比较两个目标代码实现,或者将目标代码与正式的数学规范进行比较。在任何一种情况下,它都证明了被比较的计算是逐位等效的。该方法分为两个步骤。首先,计算被表示为大的数学项。然后,使用分阶段的方法证明这两个术语是等价的,该方法包括针对分组密码的特定领域优化,并依赖于字级和位级简化的仔细选择。验证还依赖于STP[5],这是一种基于sat的位向量和数组决策过程。该方法已被应用于验证来自Sun Microsystems和开源Bouncy Castle项目的真实的、广泛使用的Java代码。它已应用于分组密码AES, DES, Triple DES (3DES), Blowfish, RC2, RC6和Skipjack的实现以及固定长度消息的加密散列函数SHA-1和MD5的应用。
{"title":"Automatic Formal Verification of Block Cipher Implementations","authors":"E. Smith, D. Dill","doi":"10.1109/FMCAD.2008.ECP.10","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.10","url":null,"abstract":"This paper describes an automatic method for proving equivalence of implementations of block ciphers (and similar cryptographic algorithms). The method can compare two object code implementations or compare object code to a formal, mathematical specification. In either case it proves that the computations being compared are bit-for-bit equivalent. The method has two steps. First the computations are represented as large mathematical terms. Then the two terms are proved equivalent using a phased approach that includes domain-specific optimizations for block ciphers and relies on a careful choice of both word-level and bit-level simplifications. The verification also relies on STP [5], a SAT-based decision procedure for bit-vectors and arrays. The method has been applied to verify real, widely-used Java code from Sun Microsystems and the open source Bouncy Castle project. It has been applied to implementations of the block ciphers AES, DES, Triple DES (3DES), Blowfish, RC2, RC6, and Skipjack as well as applications of the cryptographic hash functions SHA-1 and MD5 on fixed-length messages.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"105 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124754793","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 29
Recording Synthesis History for Sequential Verification 为顺序验证记录合成历史
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.8
A. Mishchenko, R. Brayton
Performing synthesis and verification in isolation has two undesirable consequences: (1) verification runs the risk of becoming intractable, and (2) strong sequential optimizations are not applied because they are hard to verify. This paper proposes a format for recording synthesis information and a methodology for sequential equivalence checking using this feedback from synthesis. An implementation is described and experimentally compared against an efficient general-purpose sequential equivalence checker that does not use synthesis information. Experimental results confirm expected substantial savings in runtime and reliability of equivalence checking for large designs.
单独执行合成和验证有两个不良后果:(1)验证有变得难以处理的风险,(2)由于难以验证而没有应用强顺序优化。本文提出了一种记录合成信息的格式和一种利用合成反馈进行顺序等效性检查的方法。描述了一种实现,并与不使用合成信息的高效通用顺序等效检查器进行了实验比较。实验结果证实了对大型设计的等效性检查在运行时间和可靠性方面的预期节省。
{"title":"Recording Synthesis History for Sequential Verification","authors":"A. Mishchenko, R. Brayton","doi":"10.1109/FMCAD.2008.ECP.8","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.8","url":null,"abstract":"Performing synthesis and verification in isolation has two undesirable consequences: (1) verification runs the risk of becoming intractable, and (2) strong sequential optimizations are not applied because they are hard to verify. This paper proposes a format for recording synthesis information and a methodology for sequential equivalence checking using this feedback from synthesis. An implementation is described and experimentally compared against an efficient general-purpose sequential equivalence checker that does not use synthesis information. Experimental results confirm expected substantial savings in runtime and reliability of equivalence checking for large designs.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"48 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121196242","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}
引用次数: 14
Trading-Off SAT Search and Variable Quantifications for Effective Unbounded Model Checking 有效无界模型检验的SAT搜索和变量量化折衷
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.30
G. Cabodi, P. Camurati, Luz Garcia, M. Murciano, Sergio Nocco, S. Quer
Interpolant-based model checking has been shown effective on large verification instances, as it efficiently combines automated abstraction and fixed-point checks. On the other hand, methods based on variable quantification have proved their ability to remove free inputs, thus projecting the search space over state variables. In this paper we propose an integrated approach combining the abstraction power of interpolation with techniques relying on AIG and/or BDD representations of states, supporting variable quantification and fixed-point checks. The underlying idea of this combination is to adopt AIG- or BDD-based quantifications to limit and restrict the search space (and the complexity) of the interpolant-based approach. The exploited strategies, individually well-known, are integrated with a new flavor, specifically designed to improve their effectiveness on large verification instances. Experimental results, oriented to hard-to-solve verification problems, show the robustness of our approach.
基于插值的模型检查在大型验证实例中是有效的,因为它有效地结合了自动抽象和定点检查。另一方面,基于变量量化的方法已经证明了它们去除自由输入的能力,从而将搜索空间投影到状态变量上。在本文中,我们提出了一种集成的方法,将插值的抽象能力与依赖于状态的AIG和/或BDD表示的技术相结合,支持变量量化和不动点检查。这种组合的基本思想是采用基于AIG或bdd的量化来限制和限制基于插值的方法的搜索空间(和复杂性)。被利用的策略,单独众所周知,与一种新的风格集成,专门设计用于提高它们在大型验证实例上的有效性。针对难以解决的验证问题,实验结果显示了我们方法的鲁棒性。
{"title":"Trading-Off SAT Search and Variable Quantifications for Effective Unbounded Model Checking","authors":"G. Cabodi, P. Camurati, Luz Garcia, M. Murciano, Sergio Nocco, S. Quer","doi":"10.1109/FMCAD.2008.ECP.30","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.30","url":null,"abstract":"Interpolant-based model checking has been shown effective on large verification instances, as it efficiently combines automated abstraction and fixed-point checks. On the other hand, methods based on variable quantification have proved their ability to remove free inputs, thus projecting the search space over state variables. In this paper we propose an integrated approach combining the abstraction power of interpolation with techniques relying on AIG and/or BDD representations of states, supporting variable quantification and fixed-point checks. The underlying idea of this combination is to adopt AIG- or BDD-based quantifications to limit and restrict the search space (and the complexity) of the interpolant-based approach. The exploited strategies, individually well-known, are integrated with a new flavor, specifically designed to improve their effectiveness on large verification instances. Experimental results, oriented to hard-to-solve verification problems, show the robustness of our approach.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114250435","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}
引用次数: 12
A Temporal Language for SystemC 一种用于SystemC的时态语言
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.26
D. Tabakov, Gila Kamhi, Moshe Y. Vardi, Eli Singerman
We describe a general approach for defining new temporal specification languages, and adopting existing languages, for SystemC. We define the concept of "underlying trace" describing the execution of a SystemC model, and then define a set of important primitive assertions about the states in the trace. Our framework not only provides additional expressive power for making atomic assertions, but also provides very fine control over the temporal resolution of the language. Using the primitives defined here as clock expression allows sampling at different levels, from transaction-level to the level of individual statements. The advantage of our approach is that it defines important SystemC properties that have been overlooked previously, and also provides a uniform mechanism for specifying the sampling rate of temporal languages.
我们描述了为SystemC定义新的临时规范语言和采用现有语言的一般方法。我们定义了描述SystemC模型执行的“底层跟踪”概念,然后定义了一组关于跟踪状态的重要基本断言。我们的框架不仅为原子断言提供了额外的表达能力,而且还对语言的时间解析提供了非常好的控制。使用这里定义为时钟表达式的原语允许在不同级别进行采样,从事务级别到单个语句级别。我们的方法的优点是它定义了以前被忽略的重要SystemC属性,并且还为指定时态语言的采样率提供了统一的机制。
{"title":"A Temporal Language for SystemC","authors":"D. Tabakov, Gila Kamhi, Moshe Y. Vardi, Eli Singerman","doi":"10.1109/FMCAD.2008.ECP.26","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.26","url":null,"abstract":"We describe a general approach for defining new temporal specification languages, and adopting existing languages, for SystemC. We define the concept of \"underlying trace\" describing the execution of a SystemC model, and then define a set of important primitive assertions about the states in the trace. Our framework not only provides additional expressive power for making atomic assertions, but also provides very fine control over the temporal resolution of the language. Using the primitives defined here as clock expression allows sampling at different levels, from transaction-level to the level of individual statements. The advantage of our approach is that it defines important SystemC properties that have been overlooked previously, and also provides a uniform mechanism for specifying the sampling rate of temporal languages.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115897458","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}
引用次数: 54
Machine-Code Verification for Multiple Architectures - An Application of Decompilation into Logic 多体系结构的机器码验证——反编译在逻辑中的应用
Pub Date : 2008-11-17 DOI: 10.1109/FMCAD.2008.ECP.24
Magnus O. Myreen, M. Gordon, Konrad Slind
Realistic formal specifications of machine languages for commercial processors consist of thousands of lines of definitions. Current methods support trustworthy proofs of the correctness of programs for one such specification. However, these methods provide little or no support for reusing proofs of the same algorithm implemented in different machine languages. We describe an approach, based on proof-producing decompilation, which both makes machine-code verification tractable and supports proof reuse between different languages. We briefly present examples based on detailed models of machine code for ARM, PowerPC and x86. The theories and tools have been implemented in the HOL4 system.
用于商业处理器的机器语言的实际正式规范由数千行定义组成。当前的方法支持对程序的正确性进行可靠的证明。然而,这些方法很少或根本不支持重用用不同机器语言实现的同一算法的证明。我们描述了一种基于证明生成反编译的方法,它既使机器码验证易于处理,又支持不同语言之间的证明重用。我们简要介绍了基于ARM、PowerPC和x86的详细机器码模型的示例。这些理论和工具已经在HOL4系统中得到了实现。
{"title":"Machine-Code Verification for Multiple Architectures - An Application of Decompilation into Logic","authors":"Magnus O. Myreen, M. Gordon, Konrad Slind","doi":"10.1109/FMCAD.2008.ECP.24","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.24","url":null,"abstract":"Realistic formal specifications of machine languages for commercial processors consist of thousands of lines of definitions. Current methods support trustworthy proofs of the correctness of programs for one such specification. However, these methods provide little or no support for reusing proofs of the same algorithm implemented in different machine languages. We describe an approach, based on proof-producing decompilation, which both makes machine-code verification tractable and supports proof reuse between different languages. We briefly present examples based on detailed models of machine code for ARM, PowerPC and x86. The theories and tools have been implemented in the HOL4 system.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"2009 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125981489","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}
引用次数: 67
Scheduling Optimisations for SPIN to Minimise Buffer Requirements in Synchronous Data Flow SPIN的调度优化以最小化同步数据流中的缓冲区需求
Pub Date : 2008-05-11 DOI: 10.1109/FMCAD.2008.ECP.25
P. Hartel, T. Ruys, M. Geilen
Synchronous data flow (SDF) graphs have a simple and elegant semantics (essentially linear algebra) which makes SDF graphs eminently suitable as a vehicle for studying scheduling optimisations. We extend related work on using SPIN to experiment with scheduling optimisations aimed at minimising buffer requirements. We show that for a benchmark of commonly used case studies the performance of our SPIN based scheduler is comparable to that of state of the art research tools. The key to success is using the semantics of SDF to prove when using (even unsound and/or incomplete) optimisations are justified. The main benefit of our approach lies in gaining deep insight in the optimisations at relatively low cost.
同步数据流(SDF)图具有简单而优雅的语义(本质上是线性代数),这使得SDF图非常适合作为研究调度优化的工具。我们扩展了使用SPIN的相关工作,以试验旨在最小化缓冲区需求的调度优化。我们表明,对于常用案例研究的基准测试,基于SPIN的调度器的性能可以与最先进的研究工具相媲美。成功的关键是使用SDF的语义来证明何时使用(甚至是不健全和/或不完整的)优化是合理的。我们的方法的主要好处在于以相对较低的成本获得对优化的深入了解。
{"title":"Scheduling Optimisations for SPIN to Minimise Buffer Requirements in Synchronous Data Flow","authors":"P. Hartel, T. Ruys, M. Geilen","doi":"10.1109/FMCAD.2008.ECP.25","DOIUrl":"https://doi.org/10.1109/FMCAD.2008.ECP.25","url":null,"abstract":"Synchronous data flow (SDF) graphs have a simple and elegant semantics (essentially linear algebra) which makes SDF graphs eminently suitable as a vehicle for studying scheduling optimisations. We extend related work on using SPIN to experiment with scheduling optimisations aimed at minimising buffer requirements. We show that for a benchmark of commonly used case studies the performance of our SPIN based scheduler is comparable to that of state of the art research tools. The key to success is using the semantics of SDF to prove when using (even unsound and/or incomplete) optimisations are justified. The main benefit of our approach lies in gaining deep insight in the optimisations at relatively low cost.","PeriodicalId":399042,"journal":{"name":"2008 Formal Methods in Computer-Aided Design","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115635886","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
期刊
2008 Formal Methods in Computer-Aided Design
全部 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