duneroadrunner/misc

lifetime checker status

Closed this issue · 2 comments

Hi there!

Thanks for your writeup on the lifetime checker status quo as of June 2018, I found that very informative! I posted a link to HN [1], and I'd personally appreciate if you would share any updates on the tool and your observations, in case you had been following its progress in the past half year or so!

Cheers!

[1] https://news.ycombinator.com/item?id=19245460

Hey thanks. I haven't done a comparable investigation since, but I have tried out the update in the VS2019 preview released in January a bit. From my limited experience, it did seem to catch noticeably more bugs, but it also seemed to flag significantly more false positives. Some of those false positives arguably apply to less common cases, but others, like for example the following:

	struct CJ {
		std::string m_string1 = "hello";
	};
	{
		std::vector<CJ> vec1;
		vec1.push_back(CJ());
		auto& a_ref = vec1.at(0);
		std::cout << a_ref.m_string1 << std::endl; // new false positive in Jan 2019 VS2019 preview
	}

are maybe less confidence-inspiring?

I think arguably the increase in false positives has decreased the current utility of the analyzer, but overall it probably counts as progress toward a completed tool. Probably. Does that help? At this point, there are probably others that have more recent experience.

Thanks a lot for the info, I do find that helpful!