我是一名学生,我需要研究内存泄漏检测。在很多论文中,他们提到了分配上下文。我不知道它是什么意思。我找不到分配上下文的定义(或翻译,我来自德国)。
例如,来自一篇论文(通过使用机器学习进行内省动态行为建模检测内存泄漏)的引用:
“使用机器学习的关键思想是,通过观察其他类似对象的生命周期,可以区分出泄漏对象。也就是说,在其他被认为是相似对象(即具有相同分配上下文的对象)中没有观察到高度陈旧的对象可以被视为已经泄漏。”
或者:
“为了解决这个问题,本研究借鉴了以前关于对象生命周期预测的研究[4,20]。根据这些工作,对象的生命周期与其分配上下文密切相关。由于对象的陈旧性受其生命周期的限制,因此对象的陈旧性与分配上下文具有传递相关性。”
能否有人尽可能简单地向我解释一下?
编辑:
摘要:
这篇论文通过提出一个基于机器学习的框架,扩展了基于陈旧度的内存泄漏检测。提出的框架基于这样一个想法:在对象的相似性方面,对象的陈旧程度可以更好地利用;也就是说,如果一个对象显示出明显较高的陈旧程度,并且其他具有相同分配上下文的类似对象中没有发现,则该对象更有可能已经泄漏。所提出的框架的核心部分是堆对象的建模。为此,该框架观察应用程序的代表运行时对象的陈旧度。从观察到的数据中,该框架生成训练示例,其中还包含假设泄漏的实例。通过机器学习,所提出的框架将以前研究中使用的容易出错的用户定义陈旧谓词替换为基于模型的预测。该框架已经通过合成和真实世界的例子进行了测试。使用SPEC2006基准测试的合成泄漏工作负载评估表明,所提出的方法实现了基于陈旧度的泄漏检测允许的最佳精度。此外,通过将分配上下文纳入模型中,所提出的方法实现了比仅使用对象陈旧度更高的精度。与真实世界内存泄漏的评估表明,所提出的方法能够高准确率地检测先前报告的错误。
例如,来自一篇论文(通过使用机器学习进行内省动态行为建模检测内存泄漏)的引用:
“使用机器学习的关键思想是,通过观察其他类似对象的生命周期,可以区分出泄漏对象。也就是说,在其他被认为是相似对象(即具有相同分配上下文的对象)中没有观察到高度陈旧的对象可以被视为已经泄漏。”
或者:
“为了解决这个问题,本研究借鉴了以前关于对象生命周期预测的研究[4,20]。根据这些工作,对象的生命周期与其分配上下文密切相关。由于对象的陈旧性受其生命周期的限制,因此对象的陈旧性与分配上下文具有传递相关性。”
能否有人尽可能简单地向我解释一下?
编辑:
摘要:
这篇论文通过提出一个基于机器学习的框架,扩展了基于陈旧度的内存泄漏检测。提出的框架基于这样一个想法:在对象的相似性方面,对象的陈旧程度可以更好地利用;也就是说,如果一个对象显示出明显较高的陈旧程度,并且其他具有相同分配上下文的类似对象中没有发现,则该对象更有可能已经泄漏。所提出的框架的核心部分是堆对象的建模。为此,该框架观察应用程序的代表运行时对象的陈旧度。从观察到的数据中,该框架生成训练示例,其中还包含假设泄漏的实例。通过机器学习,所提出的框架将以前研究中使用的容易出错的用户定义陈旧谓词替换为基于模型的预测。该框架已经通过合成和真实世界的例子进行了测试。使用SPEC2006基准测试的合成泄漏工作负载评估表明,所提出的方法实现了基于陈旧度的泄漏检测允许的最佳精度。此外,通过将分配上下文纳入模型中,所提出的方法实现了比仅使用对象陈旧度更高的精度。与真实世界内存泄漏的评估表明,所提出的方法能够高准确率地检测先前报告的错误。