程序合成与验证_第1页
程序合成与验证_第2页
程序合成与验证_第3页
程序合成与验证_第4页
程序合成与验证_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序合成与验证

§1B

1WUlflJJtiti

第一部分程序合成中的复杂度挑战............................................2

第二部分基于约束求解的程序合成............................................5

第三部分验证合成的程序的正确性............................................8

第四部分形式验证技术在程序合成中的应用..................................10

第五部分符号执行用于验证合成程序.........................................13

第六部分模型检查用于合成程序的验证.......................................16

第七部分程序合成和脸证中的反例生成.......................................18

第八部分程序合成和验证中的自动定理证明..................................21

第一部分程序合成中的复杂度挑战

关键词关键要点

程序合成中搜索空间的巨大

规模1.程序合成的搜索空间极其庞大,包括所有可能的程序,

即使对于简单的任务,也可能是天文数字。

2.巨大的搜索空间使得穷举搜索效率极低,需要探索高效

的搜索算法C

3.近年来,机器学习等技术已被用来引导搜索,减少搜索

所需的时间。

子程序的复杂性

1.子程序(函数或过程)引入了程序合成的另一层复杂性,

因为它们需要在合成过程中同时设计和调用。

2.子程序可以形成复杂的对象结构,增加搜索空间的规模

和评估候选程序的难度。

3.探索动态的子程序合成方法,例如递归合成和函数式编

程,可以解决这一挑战。

约束的表达和处理

1.程序合成需要考虑各种约束,例如规格、输入-输出对和

资源限制。

2.有效表达和处理约束是程序合成的一个关犍挑战,因为

复杂的约束会导致搜索变得困难。

3.研究人员正在探索基于符号的、基于集合的和基于学习

的约束处理技术来应对这一挑战。

程序理解和验证

1.程序合成生成的候选程序需要被理解和验证,以确保它

们满足规格并满足其他质量要求。

2.理解和骁证程序是一个复杂的过程,需要先进的程序分

析技术。

3.形式化验证、模型检查和自动测试可以帮助提高合成程

序的可靠性。

合成高效且可维护的程序

1.程序合成应该生成不仅功能正确,而且高效且可维护的

程序。

2.合成程序的效率可以用时间复杂度和空间复杂度央衡

量,而可维护性可以通过模块化、文档化和可测试性来实

现。

3.研究人员正在探索基于约束求解、遗传编程和机器学习

的优化方法来产生高效的程序。

程序合成的自动化

1.程序合成的最终目标是自动化软件开发过程,让人类程

序员专注于更高层次的任务。

2.自动化程序合成需要解决上述挑战,还需要开发易于使

用的工具和语言。

3.通过与人工智能、自然语言处理和软件工程其他领域的

研究相结合,可以实现程序合成的高度自动化。

程序合成中的复杂度挑战

程序合成是计算机科学中的一项基本任务,它涉及自动生成满足给定

规范或目标的计算机程序。近年来,程序合成的研究取得了重大进展,

这在很大程度上归功于人工智能(AI)和形式化方法的进步。但是,

程序合成仍然面临着显着的复杂性挑战,这些挑战阻碍了其在广泛应

用中的采用。

组合爆炸

程序合成通常涉及搜索一个程序空间,该程序空间是一个包含所有可

能程序的集合。随着程序大小或复杂性的增加,此空间的规模呈指数

增长。这会导致组合爆炸,从而使找到满足给定规范的程序变得非常

困难。

例如,考虑一个需要生成排序数组的程序。对于长度为n的数组,

有n!种可能的排序方式。对于一个包含10个元素的数组,这相当

于3628800种可能的程序。随着数组长度的增加,程序空间的规模

迅速变得无法管理,

不确定性和不完全规范

在许多实际应用中,程序规范是不确定或不完整的。这会给程序合成

带来额外的挑战,因为合成器必须生成一个程序,该程序满足所有可

能的规范解释。

例如,一个规范可能要求生成的程序对输入列表求和。但是,规范可

能没有指定对空列表的行为。合成器必须考虑所有可能的解释,包括

将空列表的和视为0或引发错误。这会增加搜索空间并使合成过程

变得更加困难。

时变环境

在某些情况下,程序规范或目标可能会随着时间的推移而变化。这被

称为时变环境。在这些情况下,合成器必须能够自动更新或修改先前

合成的程序以适应新规范。

时变环境给程序合成带来了额外的复杂性,因为合成器必须能够在不

破坏现有程序的情况下处理变化。这需要采用增量或自适应合成算法,

这些算法可以将先前知识应用于新问题。

资源限制

程序合成是一个计算密集型任务。在某些情况下,合成器在给定的时

间或内存约束内可能无法生成满足规范的程序。这可能会导致合戌失

败或生成不符合规范的程序。

例如,在资源受限的嵌入式系统中,合成器可能无法生成在指定时间

限制内满足规范的程序。这可能导致系统故障或不正确行为。

应对复杂度挑战

为了应对程序合成中的复杂度挑战,研究人员一直在探索各种技术和

方法:

*启发式搜索算法:这些算法使用启发式来指导搜索,从而专注于更

有可能满足规范的程序。

*约束求解:通过将程序合成问题建模为约束求解问题,可以利用约

束求解器来寻找满足约束的程序。

*形式化方法:这些方法使用形式规格语言来表示规范和目标。这可

以帮助减少不确定性并提高合成过程的可靠性。

*增量和自适应合成:这些方法允许合成器在不破坏先前程序的情况

下更新或修改程序C

*分布式和并行合成:通过将合成任务分布在多个处理器或计算机上,

可以显着减少计算时间。

这些技术的持续发展和改进将有助于克服程序合成中的复杂度挑战,

并扩大其在各种应用中的实用性。

第二部分基于约束求解的程序合成

关键词关键要点

基于约束求解的程序合成

主题名称:约束求解方法概1.约束求解是一种寻找满足一系列条件或约束的解的过

述程。

2.基于约束求解的程序合成方法将程序合成问题表示为一

组约束。

3.求解器搜索满足所有约束的解,这些解即为合成的程序。

主题名称:约束编程语言

基于约束求解的程序合成

基于约束求解的程序合成是一种程序合成方法,它通过将程序合戌问

题表述为约束求解问题来解决。在这个方法中,程序被视为一组满足

特定约束条件的有效表达式。

约束求解器

约束求解器是一种计算机程序,用于求解给定一组约束的解集。约束

可以表示为线性方程、不等式或其他逻辑条件。约束求解器使用各种

技术,如分支定界、发性规划和符号执行,来找到满足所有约束的解。

程序合成为约束求解

在基于约束求解的程序合成中,程序合成问题转化为寻找满足一组约

束的表达式。这些约束可以表示程序的行为、输入/输出关系或其他

属性。例如,如果我们想合成一个计算两个数字和的程序,我们可以

定义以下约束:

*'sum(a,b)=a+b'

*飞um(O,b)=b'

*'sum(a,0)=a

约束求解过程

约束求解器通过以下步骤求解约束集:

1.初始化:约束求解器从一组可能的解开始。

2.传播:约束求解器传播约束的影响,推导出新的约束。

3.搜索:约束求解器使用回溯或其他搜索技术来探索可能的解。

4.剪枝:如果在搜索过程中发现矛盾,约束求解器将剪掉不满足约

束的解。

5.求解:当约束求解器找到一个满足所有约束的解时,它将输出该

解。

优点

基于约束求解的程序合成具有以下优点:

*简洁:约束求解是一种简洁而优雅的方式来表述程序合成问题。

*可扩展:约束求解器可以处理复杂且大规模的约束集。

*准确:约束求解器可以找到满足所有约束的精确解。

局限性

基于约束求解的程序合成也存在一些局限性:

*效率:约束求解可能是一个计算密集的过程,尤其对于复杂的问题。

*灵活性:约束求解器依赖于一组预定义的约束,这可能会限制程序

合成的灵活性。

*可解释性:基于约束求解的程序合成可能难以理解和解释。

应用

基于约束求解的程序合成已成功应用于各种领域,包括:

*软件工程:自动生成测试用例、修复程序错误和重构代码。

*数据科学:自动构建机器学习模型和数据管道。

*形式验证:验证程序的正确性和安全性。

*优化:寻找给定约束下最佳的解决方案。

结论

基于约束求解的程序合成是一种强大的程序合成方法,可以处理复杂

的问题。然而,它也存在一些局限性,例如效率和灵活性。随着约束

求解技术的不断进步,基于约束求解的程序合成在未来有望得到更广

泛的应用。

第三部分验证合成的程序的正确性

关键词关键要点

形式化验证

1.根据程序的规范建立形式化模型,该模型描述了程序预

期行为的数学性质。

2.使用自动定理证明器或模型检查器等形式化验证技术,

验证程序模型是否满足规范C

测试

1.生成测试用例,覆盖程序的不同执行路径,揭示可能导

致错误的输入和边界条件。

2.将程序执行结果与期望的行为进行比较,识别可能的错

误。

类型系统

1.使用类型系统定义程序的允许操作和数据类型,限制合

成程序的范围,减少错误的可能性。

2.利用类型检查器自动睑证程序是否符合类型约束,提供

早期错误检测。

程序修饰

1.将程序修饰为证明其壬确性的数学断言,清楚地表达其

行为,简化验证过程。

2.使用程序逻辑推理,逐个断言地证明程序修饰,确保其

满足规范。

交互式证明

1.允许用户逐步构建程序证明,并获得自动定理证明器的

帮助。

2.提供一个交互式环境,支持逐步细化证明,促进对程序

行为的理解和验证。

机器学习中的验证

1.使用机器学习模型检测程序错误,补充传统验证方法。

2.利用机器学习算法,通过收集和分析程序执行数据,识

别潜在漏洞。

验证合成的程序的正确性

合成程序后,验证其是否满足指定规范至关重要。这可以通过以下方

法实现:

1.类型检查

类型检查器确保合成程序类型安全,即数据类型与操作兼容。这可以

防止无效操作和数据损坏。

2.单位测试

单位测试验证程序中的特定功能。这些测试覆盖特定代码路径,并断

言预期输出与实际输出一致。

3.符号执行

符号执行将程序作为符号表达式处理。它生成符号路径条件,这些条

件可以揭示程序可能执行的所有路径。通过求解这些条件,可以确定

程序是否满足规范。

4.形式验证

形式验证使用数学技术证明程序满足指定规范。它生成一个形式模型

来自动检查规范是否成立。

5.模糊测试

模糊测试使用随机或半随机输入生成测试用例。它旨在发现意外行为

和边缘情况,这些情况可能在常规测试中被遗漏。

6.契约编程

契约编程通过在代码中明确指定程序的预期行为来辅助验证。它使用

断言来检查先决条件、后置条件和不变量。

7.定理证明

定理证明使用逻辑推理和定理证明器来证明程序满足规范。它涉及构

造一个数学证明,表明程序遵循所需的特性。

8.抽象解释

抽象解释将程序抽象为一个更简单的模型,它捕获程序的语义而忽略

其具体实现。该模型可用于分析程序性质和验证规范。

9.程序合成验证辅助

许多工具和技术可用于辅助程序合成验证。这些工具可以自动化测试

生成、形式验证和抽象解释等任务。

10.验证策略

选择合适的验证策略取决于程序的复杂性、可用的资源和所需的保证

级别。通常,验证方法的组合(例如类型检查、单元测试和形式验证)

可提供最可靠的结果。

验证合成程序的正确性对于开发安全、可靠和可信的软件至关重要。

通过遵循这些方法,可以提高对合成程序行为的信心,并降低部署错

误程序的风险。

第四部分形式验证技术在程序合成中的应用

关键词关键要点

【形式验证技术在程序合成

中的应用】1.将程序合成所需的属性和约束条件以形式化的数学语言

主题名称:形式化规范定义。

2.规范语言通常是完备日勺,这意味着可以表达任何想要的

约束条件。

3.形式化规范有助于确保程序合成的完整性和正确性。

主题名称:定理证明

形式验证技术在程序合成中的应用

引言

程序合成是一种从规范中自动生成程序的技术。形式验证技术提供了

强大的机制来增强程序合成的可靠性,确保生成的程序满足给定的规

范。

形式验证概述

形式验证基于数学推理,旨在证明程序是否符合其规范。它使用形式

逻辑和数学模型来表示程序和规范,并应用严格的数学规则来验证规

范是否成立。

程序合成中的形式验证应用

形式验证技术在程序合成中的应用主要集中在以下几个方面:

1.规范验证

在程序合成之前,形式验证可用于验证给定的规范是否一致且可实现。

通过检查规范是否存在矛盾或无法实现的情况,形式验证可以确保生

成的程序不会违反规范。

2.标记引导合成

标记引导合成是一种程序合成技术,使用形式规范作为合成过程中的

指导。它将规范划分为较小的标记,并使用形式验证来检查标记是否

符合规范。通过逐步验证标记的正确性,标记引导合成可以生成满足

完整规范的程序。

3.规范推断

规范推断是从现有程序中提取形式规范的过程。形式验证可用于验证

提取的规范的正确性,确保它们准确地描述了程序的行为。这对于理

解和维护现有程序以及从程序中生成新的规范非常有用。

4.程序验证

一旦程序被合成,形式验证可用于验证程序是否满足其规范。通过形

式化程序和规范,验证过程可以成为自动化的,确保程序在所有可能

的输入下都符合规范。

5.证明辅助合成

证明辅助合成是一种程序合成技术,使用交互式证明助手来指导合成

过程。证明助手提供了形式化的逻辑推理框架,使合成器能够在证明

助手内进行形式推理并验证中间步骤的正确性。

具体应用实例

以下是一些形式验证技术在程序合成中应用的具体实例:

*Isabelle/HOL:用于规范验证、标记引导合成和证明辅助合成。

*Coq:用于规范验证、标记引导合成和证明辅助合成。

*SMTSolver:用于验证标记和规范的可满足性。

*KeY:用于程序验证和规范推断。

优点

形式验证技术在程序合成中的应用具有以下优点:

*提高程序合成的可靠性。

*减少程序中错误的数量。

*增强对合成程序的信任。

*允许在较高的抽象级别进行合成。

*促进程序的可维护性和理解性。

局限性和挑战

虽然形式验证在程序合成中很有价值,但它也存在一些局限性和挑战:

*计算成本高:形式验证过程可能是计算密集型的,特别是对于较大

的程序和复杂规范。

*可扩展性限制:形式验证技术的可扩展性可能受到受限,尤其是在

需要处理大型或高度并发的系统时。

*专家知识要求:使用形式验证技术需要对形式逻辑、数学建模和验

证工具有深入的专业知识。

结论

形式验证技术在程序合成中扮演着至关重要的角色,有助于提高程序

的可靠性,减少错误,并增强对合成程序的信任。通过利用形式验证

技术验证规范、指导合成过程并验证程序的正确性,程序合成领域可

以继续取得重大进展。

第五部分符号执行用于验证合成程序

关键词关键要点

符号执行概述

1.符号执行是一种程序分析技术,用于执行程序,同时跟

踪符号变量的值。

2.这种方法允许分析器探索所有可能的程序路径,并检查

程序的正确性。

3.符号执行对于验证合成程序特别有用,因为它可以帮助

确保程序的所有路径都按预期工作。

符号执行在合成程序验证中

的应用1.符号执行可以用来检查合成程序是否产生正确的输出,

即使输入是未知的。

2.通过使用符号变量来表示输入,符号执行可以遍历程序

的所有可能执行路径,并检查每个路径是否执行正确的操

作。

3.它还可以用于检测程序中的错误,例如内存泄漏和缓冲

区溢出。

符号执行用于验证合成程序

简介

符号执行是一种程序分析技术,它将程序的状态抽象为一组符号变量,

而不是具体的值。这使得在程序执行之前对程序进行分析成为可能,

从而能够识别潜在的错误和缺陷。在程序合成中,符号执行可用于验

证合成的程序是否满足指定规范。

如何使用符号执行进行程序验证?

符号执行通过以下步骤验证合成程序:

1.初始化符号状态:创建一个包含符号变量的初始程序状态。这些

变量代表程序中输入和内部变量的可能值。

2.符号执行:执行程序,同时将输入和内部变量抽象为符号变量。

在执行过程中,符号执行使用约束求解器来推理符号变量之间的关系。

3.约束求解:在程序执行的每个分支点,符号执行都会生成一组约

束。这些约束表示程序状态中所有符号变量之间的关系。

4.验证规范:将合成的程序的规范形式化为一组约束。使用约束求

解器检查符号执行生成约束是否满足这些规范约束。

符号执行的优点

符号执行用于验证合成程序具有以下优点:

*全面性:符号执行可以遍历程序的所有可能执行路径,从而提供比

其他验证方法更全面的覆盖范围。

*精度:符号执行使用符号变量来表示程序状态,允许精确地推理程

序行为和识别缺陷c

*自动化:符号执行是一个自动化的过程,无需人工干预即可验证程

序。

符号执行的挑战

符号执行也面临着一些挑战:

*路径爆炸:随着程序复杂性的增加,可能执行路径的数量呈指数级

增长,这可能会导致符号执行耗时和内存密集型。

*约束求解复杂性:符号执行生成的约束可能非常复杂,需要先进的

约束求解器才能解决。

*程序依赖性:符号执行的有效性取决于程序的结构和语义。某些类

型的程序可能很难用符号执行来验证。

应用

符号执行已成功应用于各种程序合成和验证场景中,包括:

*漏洞检测:符号执行可用于识别合成程序中的潜在安全漏洞,例如

缓冲区溢出和代码注入。

*规范验证:符号执行可用于验证合成程序是否满足其指定规范,确

保程序的行为符合预期。

*测试用例生成:符号执行可用于生成涵盖程序不同执行路径的测试

用例,提高测试覆盖率。

结论

符号执行是一种强大的程序分析技术,可用于验证合成程序的正确性。

它提供全面的覆盖范围、高精度和自动化验证功能。然而,也存在一

些挑战,例如路径爆炸和约束求解复杂性c尽管如此,符号执行仍然

是验证合成程序的关键工具,使其对程序设计和软件开发至关重要。

第六部分模型检查用于合成程序的验证

关键词关键要点

基于模型的状态空间搜索

1.模型检查通过遍历程序的所有可能执行路径来验证其行

为。

2.对于状态空间大的程序,状态空间搜索可能变得不可行,

导致状态爆炸问题。

3.基于模型的状态空间搜索算法使用启发式技术来指导搜

索,例如回溯约束传播、象征决策和并行搜索。

定理证明

1.定理证明是一种形式叱推理技术,它使用规则来推导出

关于程序的数学属性。

2.定理证明器通过应用准理规则来生成证明树,证明程序

满足给定的规范。

3.定理证明提供了对程序正确性的高度保证,但通常需要

大量的人工输入。

模型检查用于合成程序的验证

引言

程序合成是自动生成满足特定规范的程序的过程。验证则是确保程序

满足所需规范的过程。模型检查是一种形式化方法,用于验证程序是

否满足给定需求。

模型检查概述

模型检查是一种自动验证技术,通过系统性地枚举系统所有可能的状

态,并检查每个状态是否满足指定规范来脸证系统。

模型检查在程序合成验证中的应用

在程序合成中,模型检查可用于验证合成程序是否满足以下属性:

*终止性:程序是否会无限运行。

*正确性:程序是否产生预期的输出。

*健壮性:程序是否在所有可能输入下都能正确运行。

模型检查过程

模型检查过程包括以下步骤:

1.构建程序模型:将合成程序转换为形式化模型,该模型描述程序

的状态、行为和输入。

2.指定规范:将要验证的属性形式化为逻辑公式(例如,程序在特

定输入下应输出特定的值)。

3.模型检查:使用模型检查工具对模型进行分析,检查模型是否满

足指定规范。

4.产生验证结果:工具将产生验证结果,指示程序是否满足规范。

模型检查工具

用于程序合成验证的流行模型检查工具包括:

*SPIN:一款广泛使用的模型检查工具,适用于验证并行和分布式系

统。

*NuSMV:一款适用于验证有限状态机和反应系统的模型检查工具。

*Alloy:一款基于一阶逻辑的模型检查工具,适用于验证抽象和结

构化系统。

模型检查在程序合成验证中的优势

模型检查在程序合成验证中提供以下优势:

*自动化:模型检查是一个自动化的过程,消除了手动验证的需要。

*全面:模型检查系统性地枚举所有可能的状态,确保彻底的验证。

*定量:模型检查可以生成定量的验证结果,例如,系统的执行时间

或资源使用情况。

模型检查在程序合成验证中的局限性

模型检查在程序合成验证中也有一些局限性:

*状态爆炸:对于大型复杂程序,构建程序模型和进行模型检查可能

会导致状态爆炸,使得验证过程变得不可行。

*模型抽象:模型检查需要程序模型的抽象,这可能会引入不准确性

或遗漏关键属性。

*时序和连续性:模型检查通常不适用于验证具有时序或连续性质的

系统。

结论

模型检查是一种有用的技术,用于验证合成程序的属性,例如终止性、

正确性和健壮性。通过自动化验证过程,模型检查有助于提高程序合

成过程的可靠性和可信度。然而,在应用模型检查时,还需要考虑其

局限性,例如状态爆炸和模型抽象。

第七部分程序合成和验证中的反例生成

关键词关键要点

反例引导合成

1.基于反例的搜索策略:利用反例引导合成器搜索程序空

间,通过更新搜索目标来避免生成无法满足规范的反例。

2.优化反例的样例选择:使用强化学习或其他策略选择具

有最大信息增益的反例,从而最大化探索效率。

3.反例的符号表征:将反例形式化为符号表达式或约束,

以便将其与规范进行比较并更新搜索策略。

反例指导脸证

1.反例生成器模块:集成反例生成器模块到验证器中,用

于自动生成违反规范的测试用例。

2.可微反例生成:开发可微反例生成算法,以便通过梯度

下降优化反例以涵盖更大程序空间。

3.反例多样化:采用多洋化策略生成一系列反例,以覆盖

不同类型的规范违规并提高验证的全面性。

程序合成和验证中的反例生成

反例生成是程序合成和验证中至关重要的技术,用于确定给定规范是

否成立。在程序合成中,它用于生成违反指定规范的输入,从而帮助

改进合成算法;在程序验证中,它用于生成违反给定断言的输入,从

而提高断言的可靠性。

反例生成的方法

测试生成

测试生成是最简单的反例生成方法,它随机生成输入并检查它们是否

满足规范。虽然简单易行,但它效率不高,尤其是在输入空间较大时。

符号执行

符号执行是更高级的反例生成方法,它通过将符号值分配给输入变量,

并沿着程序执行路径进行符号求解,来生成反例。符号值表示可能的

输入值,求解过程会产生满足给定规范的约束条件。通过搜索冲突约

束,符号执行可以有效地找到反例。

约束求解

约束求解使用约束求解器来查找满足给定约束条件的解。在反例生成

中,约束条件表示由规范和程序代码约束的输入空间。约束求解器可

以有效地搜索这些约束条件,并生成违反规范的输入。

定理证明

定理证明是一种正式的反例生成方法,它使用定理证明器来证明或反

驳给定规范。通过构造矛盾证明,定理证明器可以生成违反规范的反

例。

反例生成的应用

程序合成

*提高合成算法的效率:通过生成反例,可以识别合成算法中存在的

问题,并指导算法的改进。

*增强合成的可靠性:反例可以帮助验证合成的程序是否满足给定的

规范。

程序验证

*提高断言的可靠性:通过生成反例,可以发现断言中存在的错误或

遗漏。

*增强验证算法的健壮性:反例可以帮助识别验证算法中存在的漏洞,

并指导算法的改进。

其他应用

*软件测试:生成违反给定测试用例的输入,以提高测试覆盖率和检

测缺陷的效率。

*安全性分析:生成违反安全性策略的输入,以识别漏洞和攻击向量。

*模型检查:生成违反模型规范的状态,以验证模型的正确性。

反例生成工具

*ESBMC(EmbeddedSoftwareModelChecker):使用符号执行生成

反例的工具。

*CVC4(CooperativelyVerifyingConcurrentC):使用约束求解

生成反例的工具。

*Z3:提供强大约束求解功能的工具,可用于反例生成。

*Boogie:使用定理证明生成反例的工具。

反例生成中的挑战

*输入空间的规模:对于较大或无限的输入空间,生成反例可能非常

困难。

*规范的复杂性:复杂的规范可能导致难以求解的约束条件。

*程序的路径复杂性:路径复杂的程序可能会导致符号执行或定理证

明算法效率低下。

反例生成的研究方向

*针对特定程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论