Community
Participate
Working Groups
At the ECOOP 2013 conference, Colin Gordon presented an approach called JavaUI ("Effects for Controlling UI Object Access")[1][2], with these properties: - a UI library is annotated with contracts regarding legal access to its objects - client programs are checked against these contracts to detect in particular the problem of "Illegal Thread Access" already at compile time! - the approach has been designed with Swing as well as SWT/JFace in mind - several case studies based on SWT/JFace exist. In preparation for these case studies all relevant parts of SWT/JFace have already been annotated (based on Eclispe 3.8 I believe). - the full power of this approach requires Java 8-style type annotations I've spoken to the author at that conference and have contacted him now again, to check availability for help in case of questions. Once I have a renewed confirmation from him, and if SWT (and JFace) is willing to invest a decent effort for adopting these annotations, then I would be happy to coordinate and ensure that annotations inserted into SWT (and JFace) will be picked up during type checking, and any problems be reported accordingly. [1] https://www.cs.drexel.edu/~csgordon/papers/ecoop13.pdf [2] https://github.com/csgordon/javaui
This is really interesting work and I will try to put as much effort as other duties permit into such work.
Contact with Colin Gordon has been re-established. He is excited about the perspective to see his work adopted in SWT and is available for questions. He also updated me regarding the references given above: "The github repo is a snapshot of what was used to produce the paper. But there is a maintained version of the checker integrated into the Checker Framework now: https://github.com/typetools/checker-framework/tree/master/checker/src/org/checkerframework/checker/guieffect and http://types.cs.washington.edu/checker-framework/current/checker-framework-manual.html#guieffect-checker."