开源软件依赖可满足性识别方法研究与实现

开源软件依赖可满足性识别方法研究与实现

论文摘要

随着网络技术的发展,开放源码软件(Open Source Software, OSS)项目得到快速的发展和普及,软件从传统的集中开发模式向分散式发生了转变,使得源码复用程度大大加强,产生了软件依赖问题。虽然基于开源软件分发系统的软件管理工具在一定程度上能够简单的识别软件依赖,但是处理复杂的依赖关系仍旧存在不足。另一方面分发端软件更新频繁,引起依赖关系不稳定,最终导致分发系统不稳定。本课题基于国家863项目:分布式构件库服务平台支撑技术及应用研究(项目编号:2006AA01Z191),该项目主要研究软件分发系统技术及其在嵌入式开源软件中的应用。针对分布式构件库服务平台中的开源软件库和构件库具有与开源软件分发端相似的功能,本文研究了开源软件分发系统处理软件依赖关系的原理与局限性,提出了在分发端识别软件依赖可满足性的CNF-SAT解决方法,以提高软件分发系统的稳定性。本文首先分析了开源分发系统基本原理及开源软件本身的特性,研究了处理软件依赖可满足性识别策略,重点研究了基于软件包管理技术的软件依赖识别策略,对现有策略的局限性和不足进行分析。基于上述不足,本文提出了将软件依赖可满足性识别问题转化为CNF-SAT问题的方法,通过求解CNF-SAT问题,识别软件依赖关系中的冲突。本文提出了一整套软件依赖可满足性问题向CNF-SAT问题映射的转化规则,最终以高效的MiniSAT算法实现本文所提出的改进方法,实验结果证明本方法能够提高软件依赖关系识别的效率及分发系统的稳定性,为处理开放源码软件依赖关系提供了高效的解决方法。本文最后对下一步研究进行了展望。

论文目录

  • 中文摘要
  • ABSTRACT
  • 第1章 引言
  • 1.1 论文研究背景
  • 1.2 开源软件的软件依赖问题研究现状
  • 1.3 本文研究的意义和目的
  • 1.4 论文结构
  • 第2章 开源软件分发系统
  • 2.1 开源软件及其特点
  • 2.2 软件分发系统模型
  • 2.2.1 分发端
  • 2.2.2 用户端
  • 2.3 主流软件分发系统
  • 2.3.1 Apt/dpkg
  • 2.3.2 Yum/RPM
  • 2.3.3 BSD Ports/Package
  • 2.3.4 Portage
  • 2.3.5 四种分发系统的对比
  • 2.4 本章小结
  • 第3章 软件依赖可满足性识别策略研究
  • 3.1 软件依赖可满足性定义
  • 3.2 软件依赖关系分类
  • 3.3 导致软件依赖问题严重的原因
  • 3.4 识别软件依赖关系的策略
  • 3.4.1 基于软件包的识别策略
  • 3.4.2 ad-hoc识别策略
  • 3.4.3 基于"分支"的识别策略
  • 3.5 本章小结
  • 第4章 软件依赖可满足性识别改进方法
  • 4.1 改进目标
  • 4.2 软件依赖识别问题模型的转化
  • 4.3 软件依赖识别改进方法的研究
  • 4.3.1 基于图遍历的解决方法
  • 4.3.2 基于SAT问题的解决方法
  • 4.3.3 改进方法可行性分析
  • 4.4 本章小结
  • 第5章 软件依赖可满足性识别改进方法的实现
  • 5.1 总体模块设计
  • 5.2 元数据预处理模块
  • 5.3 合取范式转化模块
  • 5.4 SAT解析器判断模块
  • 5.4.1 蕴含推理模块
  • 5.4.2 冲突处理模块
  • 5.4.3 决策模块
  • 5.5 调试与测试
  • 5.5.1 调试结果
  • 5.5.2 测试目标
  • 5.5.3 测试结果及分析
  • 5.6 本章小结
  • 第6章 结论与展望
  • 6.1 结论
  • 6.2 未来工作及展望
  • 参考文献
  • 致谢
  • 攻读硕士期间参加的项目
  • 相关论文文献

    • [1].一种基于伪布尔可满足性FPGA布线算法[J]. 微计算机信息 2010(02)
    • [2].考虑不确定性的应急响应目标可满足性评估方法[J]. 系统工程理论与实践 2016(05)
    • [3].可满足性理论及应用研究进展[J]. 国际学术动态 2009(01)
    • [4].可满足性求解技术研究[J]. 计算机工程与科学 2010(01)
    • [5].一种改进的子集可满足性算法用于FPGA布线[J]. 固体电子学研究与进展 2009(02)
    • [6].一种目标可满足性定性、定量表示与推理方法[J]. 软件学报 2011(04)
    • [7].一种产生可满足性难解实例的模型[J]. 海军工程大学学报 2016(03)
    • [8].结合逻辑模拟和布尔可满足性的设计错误诊断方法[J]. 现代电子技术 2010(06)
    • [9].基于表决策略的CP-Nets可满足性序列的聚合[J]. 模式识别与人工智能 2013(09)
    • [10].数字电路SAT可满足性算法研究[J]. 硅谷 2008(07)
    • [11].CP-nets的可满足性序列求解算法研究[J]. 计算机科学 2015(05)
    • [12].可满足性求解方法在SoC验证和测试中的应用[J]. 牡丹江师范学院学报(自然科学版) 2015(04)
    • [13].CP-nets的可满足性及一致性研究[J]. 计算机研究与发展 2012(04)
    • [14].基于布尔可满足性的伪码捕获方法[J]. 计算机应用研究 2011(08)
    • [15].EDA领域中可满足性问题求解方法研究[J]. 计算机科学 2009(09)
    • [16].解析嘉莉妹妹欲望的不可满足性[J]. 文学界(理论版) 2011(03)
    • [17].APTL公式的可满足性检查工具[J]. 软件学报 2018(06)
    • [18].基于伪布尔可满足性的纳米CMOS电路单元配置[J]. 电子与信息学报 2012(10)
    • [19].完全析取范式检测ALCN-概念的可满足性[J]. 四川大学学报(工程科学版) 2009(06)
    • [20].基于关键路径的物流配送时效可满足性检测模型和算法[J]. 物流技术 2014(01)
    • [21].基于布尔可满足性的动态路径优化算法[J]. 交通科技与经济 2011(02)
    • [22].可满足性求解器算法基于GPU的加速研究[J]. 计算机应用与软件 2011(10)
    • [23].基于命题可满足性的经典最优规划方法[J]. 计算机科学 2010(04)
    • [24].基于布尔可满足性的层次化通路时延故障测试[J]. 电子测量与仪器学报 2008(03)
    • [25].基于不可满足原因的最小纠正集求解[J]. 计算机工程与科学 2018(06)
    • [26].基于一阶逻辑的可满足求解方法研究进展[J]. 计算机工程与科学 2019(12)
    • [27].面向多需求可满足性折中的服务组合方法[J]. 计算机研究与发展 2011(04)
    • [28].基于硬件可编程逻辑的SAT求解算法研究与进展[J]. 计算机工程与科学 2016(04)
    • [29].互斥约束工作流可满足性决策的匹配剪枝模式回溯法[J]. 中国机械工程 2018(24)
    • [30].半扩展规则下分解的定理证明方法[J]. 软件学报 2015(09)

    标签:;  ;  ;  ;  ;  

    开源软件依赖可满足性识别方法研究与实现
    下载Doc文档

    猜你喜欢