Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-dev] Null dataflow analysis & community

Hi all,

With this interesting tweet for a JetBrains developer https://twitter.com/tagir_valeev/status/1001662720259903488 , I had a look at the state of dataflow analysis in JDT, and saw https://bugs.eclipse.org/bugs/show_bug.cgi?id=494897 , which was closed as WONTFIX. And there are a family of them: https://bugs.eclipse.org/bugs/buglist.cgi?classification=Eclipse&component=Core&list_id=17578767&product=JDT&query_format=advanced&short_desc=%5Bnull%5D%5Bcorrelation%5D&short_desc_type=allwordssubstr

While I agree with the technical and organizational reasons for this not being implement in the current system, I've got 2 comments to make about it:
* First, I don't think closing a bug as WONTFIX just because someone thinks that at a given point of time, this is not likely to be implemented by current contributors or because of manpower is a good practice. More, I strongly think it's a very bad one that gives the impression of a project that's not open (ie considering current manpower as immutable which is similar to considering the current team as closed and not open to growth). It's important to realize that the lifecycle of the project, the amount of contributors, their priorities can evolve. Closing as WONTFIX sends the opposite message. Keeping such bugs open for new contributors sends a better message of openness.
* Second, it gives the impression of a project that is not likely to innovate which cascades to the impression of a dying project.
A better practice IMO is just to put a comment saying "sure, it's interesting but [technical reasons, challenges] and current contributors currently have other tasks as high priority. But if you think you can contribute something in that direction, it would be welcome".

Now, getting into the technical details, I think that the constraint of immediate null analysis report is indeed making things hard but is worth it. But it may not prevent from allowing JDT to have different strategies for null analysis: none, as-you-type (less reliable), extra-builder (more reliable).
So if someone comes with dataflow analysis for Eclipse JDT one day, it should be possible to plug it into JDT properly.
JetBrains code for dataflow analysis is OSS https://github.com/JetBrains/intellij-community/tree/master/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow . Maybe it could even be reused.

Cheers,
--
Mickael Istria
Eclipse IDE developer, for Red Hat Developers

Back to the top