Bug 482891 - Adopt JavaUI approach for detecting UI thread issues at compile time
Summary: Adopt JavaUI approach for detecting UI thread issues at compile time
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.5.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 481195 483635 483640
Blocks:
  Show dependency tree
 
Reported: 2015-11-24 06:07 EST by Stephan Herrmann CLA
Modified: 2019-07-10 05:41 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2015-11-24 06:07:31 EST
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
Comment 1 Alexander Kurtakov CLA 2015-11-24 06:15:49 EST
This is really interesting work and I will try to put as much effort as other duties permit into such work.
Comment 2 Stephan Herrmann CLA 2015-11-24 16:36:23 EST
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."