我是学生,我必须研究内存泄漏检测.在许多论文中,他们谈论的是分配环境.我不知道这意味着什么.我找不到任何分配上下文的定义(或翻译,我来自德国).
例如,文章引用(使用机器学习通过内省动态行为建模检测内存泄漏):
使用机器学习的关键思想是通过观察其他类似对象的生命周期来识别泄漏对象.也就是说,当对象产生从其他所谓的相似对象(即具有相同分配上下文的对象)未观察到的高度陈旧时,可以认为该对象已泄露.
要么:
为了解决这个问题,这项工作从先前关于物体寿命预测的研究中获得灵感[4,20].根据这些工作,对象的生命周期与其分配上下文密切相关.由于对象的陈旧性受其生命周期的限制,因此对象陈旧性与分配上下文传递相关.
有人可以尽可能轻松地向我解释一下吗?
编辑:
摘要:
本文通过提出基于机器学习的框架,扩展了基于陈旧性的内存泄漏检测.拟议的框架基于这样一种观点,即在对象的相似性方面可以更好地利用对象的稳定性; 即,如果一个对象显示出从具有相同分配上下文的其他类似对象中未观察到的显着高的陈旧性,则该对象更可能泄露.建议框架的核心部分是堆对象的建模.为此,框架在代表性的应用程序运行期间观察对象的陈旧性.从观察到的数据中,框架生成培训示例,其中还包含假设泄漏的实例.通过机器学习,所提出的框架用基于模型的预测替换了先前研究中使用的容易出错的用户可判断的陈旧性谓词.使用合成和现实示例测试框架.使用SPEC2006基准的合成泄漏工作负荷进行评估表明,所提出的方法实现了基于陈旧度的泄漏检测所允许的最佳精度.此外,通过将 分配上下文合并到模型中,所提出的方法实现了比单独使用对象陈旧时更高的准确度.对现实世界内存泄漏的评估表明,所提出的方法对于以高精度检测先前报告的错误是有效的.