Cliff Jones began working in the computing industry immediately after leaving school in 1961. Cliff worked at LEO, then at IBM, which he left in 1963 to work for a year each at, first Esso, and then Ford where he began his work in programming and development of compilers. Unusually, Cliff then moved back to IBM in 1965. Cliff left industry in 1979 to return to education, completing a DPhil at Oxford University under Turing Award winner, Tony Hoare. Following this, Cliff took a chair in 1981 at Manchester University and continued work on formal aspects of computing until 1996. Another brief spell in industry at the small software house, Harlequin, followed. Cliff came to a professorship at Newcastle University in 1999 where he remained until his retirement in the summer of 2018.
Cliff was born in June 1944 in London. His family were not academics: his father was a tailor and his mother a housewife. He started his education at Ayloff school in Hornchurch before moving to Grays Palmer’s Boys’ School – a strict grammar school. He was not engaged academically, other than in mathematics where an inspirational teacher introduced him to Euclid’s Elements. He started constructing proofs of mathematical statements – which he has in a sense done throughout his career.
Cliff left school after O levels to work for LEO computers, passing their unusual interview which tested candidates on coding; when LEO’s II/9 was sold to Ilford Photographic, he went there as part of the package. He found coding fascinating, and for the first time worked hard and progressed, which pleased his parents who would have liked him to have gone to university.
Cliff moved to IBM where he wrote programs for 1401 and 7090 machines. He attended night school to learn about the theory of OR (Operations Research) where he was taught by the younger Vajda. At the time Esso Petroleum was a major customer of IBM, using the 7090 for refinery planning. Esso offered him the opportunity to work for a company using OR seriously and he left IBM to join Ken Palmer’s team there. At that time machine time was expensive and programmers had to book testing slots, which taught him to be meticulous and plan carefully. Now that machine time is cheap, he finds that less thought and care are put into programming.
At Esso he worked on projects that had significant business impact – one involved mixing heavy and light crude oil within the refining process to maximise throughput, and another demonstrated a huge financial saving if inter-seasonal storage was increased. He built the computer systems that generated the LP models.
Cliff left Esso hoping to set up an OR group at Ford in Brentwood but by the time he arrived the activity had been cancelled due to a change in management. So, he became a systems programmer for their 1410 and 7010 machines. He built a special purpose compiler to identify parts needed on the production line for each type of car: instead of interpreting the vehicle descriptions, his program compiled them into machine code, which reduced the run time by eighty percent.
Back to IBM
Cliff wanted a change from system generation and applied to ICL in 1963 to work on the development of operating systems. However, IBM Hursley contacted him to ask if he would come back (an unusual step for the company) so he moved to Hursley near Winchester and started working for Frank Williams, testing the PL/I F compiler which was being built for the new PL/I language. They spent months testing, even inventing ways to develop new test cases from a dynamic grammar, but nothing could fully debug such a compiler. This convinced Cliff that testing alone would never produce a good product from a poor design and that quality had to be designed in from the start. This view was endorsed by Dijkstra who said that “testing can only show the presence of bugs, not their absence”.
In 1968 Cliff visited IBM’s Vienna Laboratory for a course on their Vienna Definition Language (VDL). He liked Vienna and investigated how a formal definition of programming language could be used as a basis for systematic compiler design. He was given a two-year assignment with generous allowances, in a Lab headed by Professor Zemanek. In addition to the interesting research, his spell in Vienna gave him a lifelong love of classical music.
Cliff returned to Hursley to try out new ideas such as proving programs correct. His colleagues had been working on Earley’s recogniser which they asked him to model to show that his methods could cope. He could not prove their program correct so started his own development from a specification of the task and compared the two versions, which allowed him to identify the bugs in the original program that had made it impossible to prove it correct. This convinced him that formal methods in an industrial environment pays off in the design process and that debugging cannot make high-quality products. However, it was hard to convince management of this: they did not perceive software design as a technical problem: developers were indirectly incentivised to bloat code unnecessarily.
Back to Vienna
Cliff returned to Vienna at the beginning of 1973 to build a PL/I compiler for a planned IBM machine range, Future Systems, with Hans Beki?, Peter Lucas and Kurt Walk. Cliff’s wife and baby son joined him shortly afterwards. They worked on the language semantic aspects of a new definition method which became VDM.
The compiler project involved travelling backwards and forward to Poughkeepsie in the US, where the machine architecture was being designed. The Vienna Lab acquired new people including Dines Bj?rner with whom Cliff worked collaboratively for many years. Then in 1975 the Future Systems machine was scrapped for commercial reasons, so the compiler project was also cancelled. He sees this as a missed opportunity because formal definitions could have informed the whole development process. He attributes the difficulty in promulgating the Vienna results to the fragmented nature of a big organisation like IBM: different parts of IBM adopted different technologies and approaches at different times and the European managers did not perceive the value of VDM.
Cliff moved to the IBM European Systems Research Institute in Belgium to teach formal methods to experienced IBM engineers. He published his book “Software Development: A Rigorous Approach” in 1980 on general aspects of VDM and published a volume of Springer’s Lecture Notes with Dines Bj?rner. Teaching was a huge help in clarifying ideas because he had to explain them and he is strongly supportive of combining research with teaching.
Academic Career - Oxford
After La Hulpe, Cliff moved to Oxford to complete a DPhil between 1979 and 1981. He was conscious of his lack of university qualifications but was offered the opportunity by Tony Hoare and managed to bypass the default requirement of a Bachelor’s degree. He did not, however, receive a grant so had to work his way through college by teaching and consulting. Nevertheless, he completed his doctorate in two years, attributing some of this speed to his prior writing experience. His thesis on defining and developing concurrent programs has been widely cited and the rely/guarantee approach is still a hot research area. He thoroughly enjoyed his time at Oxford. He was affiliated to Wolfson College, which had strong links to the Programming Research Group.
Immediately on leaving Oxford, Cliff was appointed to a Professorship at Manchester in 1981, a bold decision by the University selecting someone who at the time still only held O levels, which did not go unnoticed. He feels that research is not vastly different from business because in both cases the work is always about solving problems. He also continued to provide consulting services whilst in post, as this was standard at the time.
While at Manchester, Cliff was awarded a five-year Research Council Fellowship, and developed a more proof-oriented approach to concurrency. He also worked with some excellent PhD students. He spent six months at the Newton Institute in Cambridge looking at issues related to semantics. It was here that he met Jo Marks who invited him to join Harlequin.
Back to industry - briefly
Cliff moved to Harlequin, a company of around 300, to head up the Information Systems Division for about two years, then became Technical Director, which included presenting the technical portfolio to venture capitalists. Eventually the company went into receivership. He reflects that he learned a lot about himself during this time and the challenges that Jo faced in building up and running a company.
Cliff moved back into academia at Newcastle University, working under John Lloyd. It took some time to get back to speed, having lost ground with three years without real research activity.
He feels that industrial employer expectations are often misplaced: graduates should be equipped with techniques for understanding things, not with the latest technology, because the former will remain useful and the latter will be out of date within a few years. He and his colleagues work hard to ensure the courses remain relevant and he feels that research-led teaching has an important role.
His advice to undergraduates is that there are good opportunities in industry to drive real change and impact the business, but there are always risks that projects will be cancelled for commercial reasons unrelated to their scientific value.
At Newcastle, Cliff joined a bid for Dependability Interdisciplinary Research Collaboration (DIRC), together with City, York, Lancaster and Edinburgh, and theirs was one of the five successful groups out of over a hundred bids. The EPSRC funding amounted to over £7M and paid for over six years of research, from 2001-2008. After wasting a bit of time while the different disciplines compared definitions, he remembered the lessons from operational research and they started with a problem, whether computers could assist in the accuracy of reading mammograms.
The DIRC project, and Cliff’s other work, have proved the value of an interdisciplinary approach and he feels that there is not nearly enough emphasis on the benefits of working across academic disciplines.
Cliff also views international collaboration as critical and considers that the EU science funding did much to make scientists more aware of each other’s work, setting long term collaborative relationship in place.
Cliff believes that industry informs academia because good formalism comes from having to solve problems, not from an isolated mathematical exercise. He thinks there should be more collaboration between industry and academia, that academia is too focused on counting citations and is too vulnerable to ill-informed outsiders.
In both industry and academia, technical people should get a better hearing from management: they are good at motivating themselves to address applicable problems. The key thing is that if you set metrics to reward people, you must measure the right thing.
Future challenges for computing research
Cliff feels that persuading people to pay for quality is hard – instead we are too focused on new features, not on whether they are good. This leads to proliferation at the expense of quality. Companies lose business because software has bugs in it. This lack of accountability would be unacceptable in other industries.