Keynotes

Katsuro Inoue, Osaka University

Harry Sneed, Technical University of Dresden, Ziviltechnik Consulting, Vienna

Prof Katsuro Inoue talk title: Understanding and Managing Software Systems through Similar Code
Abstract: Software system contains lots of similar or same code snippets. Those snippets are sometimes called code clones. Code clone has been studied more than 20 years and is still very active research target in Software Engineering.In this talk, we will present our research on code clone detection with our tool CCFinder. CCFinder is a very popular tool used by many academia and companies, and the research paper for CCFinder presented in IEEE Transactions on Software Engineering has been cited by more than 1,500 other papers. CCFinder has been applied to various purposes such as bug propagation prevention, software refactoring, plagiarism detection, and so on. These applications are not limited to academic experiments, but also industrial actual uses. We will present various actual use cases of code clone analysis. Future direction of code clone research will be also shown in the end.
Bio: Katsuro Inoue is a professor of Department of Computer Science, Graduate School of Information Science and Technology, Osaka University. He has been working on program analysis, especially code clone detection and analysis more than 20 years. He has published many research papers on code clone and related areas, and he is one of co-founders of International Workshop on Software Clones (IWSC). He has been involved in many software-engineering conferences and workshops, such as  International Conference on Software Engineering (ICSE) and Mining Software Repositories (MSR), as a PC or organizing member. He received Dr. Eng. form Osaka University in ’84, and he has been working for Univ. of Hawaii and Osaka University. He has received various awards including the Minister of Education, Culture, Sports, Science, and Technology Award of Japan.
Mr. Harry Sneed’s talk title: Inconsistency – the major obstacle to Software Engineering
Situation: A software product consists of several layers of descriptions at varying levels of detail – contracts, requirement documents, design models, program code, communication code, database code, test models and test cases. Each layer is aimed at a different audience. Contracts at the stake holders, requirements at the users, design models at the programmers, program code at the machine, communication code at the user interfaces, database code at the database system, test models at the test analysts, test cases at the testers. No one language can possibly cover all these subjects nor satisfy all of the target groups. The solution is to have another language for every purpose. A software product consists of artifacts written in multiple languages. Whoever wants to comprehend a complex software system must understand at least five different languages – the requirement language, usually the natural language of the users, the design language, today mostly UML, the programming languages, often there are two or even three – C++, Java, JavaScript, PHP, etc. – , the user interface language such as XML, XSL and HTML, the database language, mostly SQL but now other languages as well. Finally there are the different testing languages like TSL, Excel and Selenium. It is a wonder that anything works.
The problem is compounded when development projects use different natural languages, as is in Europe often the case. The requirement language is most often the local natural language spoken by the users. But the data names and function names of the design and programming languages are in English. If the testing is being done in a near shore location such a Romania, then the test cases will be written in Romanian. This makes traceability impossible. Testers are not able to trace a test case to the requirements or maintainers a block of code to the design. The result is a chaotic situation in which no one can comprehend the system as a whole let alone maintain and evolve it. It is inevitable that our systems will be inconsistent. Inconsistency breeds errors. Therefore, as long as we are working in a multilingual environment our systems are destined to be erroneous.
Challenge: It will be difficult to come up with a common language to cover all the different activities involved in software development and maintenance. However if we ever really want to associate software artifacts we must find a way to link their contents. Traceability is a major challenge to the software engineering community. We should be able to follow the path of a customer requirement or change request through the labyrinth of software artifacts. For that the artifact contents need to be compatible. As long as analysts are speaking one language and programmers another, they will never be able to synchronize their results. The system will remain a collection of incompatible artifacts.
The greatest challenge of software engineering is to create a common metalanguage which will unite all of the other sublanguages within it. Until then, the best we can do is to build artificial links between the various descriptions. Using the same data and function names in all of the software artifacts would be a good starting point. The idea of a common software system repository must be revitalized and users must push the software industry to move in this direction.
Purpose of Talk: The speaker is working as a certified “Ziviltechniker” in Vienna, which means he is commissioned to assess IT-projects in the public domain. Many of these projects are multi-national, i.e. the customer is an Austrian agency and one or more of the contractors are from another European country, mostly from Eastern Europe. The project language is a particular problem. The Austrian civil servants who write up the requirements can only write them in German language. The contractor personnel are not familiar with German. Even if they speak German they have great problems trying to understand the complicated legal texts. Thus, the EU policy of tendering projects out to the lowest bidder is beset with communication problems. The speaker is well familiar with these problems, as he initiated the first outsourcing of software testing projects from Germany to Hungary in the 1970’s. The same communication problems that came up then still persist to the present day. Universities and training institutes should pay more attention to this critical issue and offer training to resolve it. The purpose of this talk is to make attendees aware of the situation and to encourage them to take action.
Bio:  Harry M. Sneed graduated from the University of Maryland with a Masters Degree in Public Information & Information Sciences in 1969. After serving four years as a programmer/analyst for the US Navy Dept., he migrated to Germany to work for Siemens as a systems programmer in database system development. In 1978 he left Siemens to found the first commercial software test laboratory together with Dr. Ed Miller of SRA in Budapest. The test laboratory was the first such offshoring project in Europe. From testing, the Budapest laboratory evolved into software tool development. The SoftOrg tool family covered all the phases of the software life cycle from the requirements analysis to the integration test. The tools were employed both in Germany and the Soviet Union. In 1984 Sneed reported on Germany’s first large scale reengineering project at the Bertelsmann corporation. (IEEE Software)Sneed remained laboratory leader in Budapest and consultant to the SoftOrg users until the collapse of the socialist system in 1989. He then migrated to Switzerland where he remained for 7 years at the Union Bank reengineering legacy systems and developing the first offline maintenance workbench. From 1996 to 1998 he worked as a free lance reengineering consultant in Germany and in 1998 went to Vienna to built tools for a large scale standard software development, where he remained as a quality control manager until 2003. After that he went to work for the ANECON testing company in Vienna as a software test engineer until 2014. Since then, he has been working as a consultant to the Austrian civil service for test and migration projects. .Parallel to his industrial career as a test engineer, maintenance engineer, consultant and project leader, Sneed has led a second life as researcher and teacher. He contributed to the first ICSM in Monterey in 1983 and has contributed 20 papers since then. In 2005 he was the General Chair of the ICSM in Budapest and has served since then in the ICSM steering committee. In 1997 he was a founder of the European Conference on Software Maintenance and Reengineering to which he has contributed to every conference since then. In 2002 he was the general chair of the CSMR in Budapest. Sneed has also been active in the Conference on Program Comprehension and the Workshop on Software Reverse Engineering as well as in the EuroStar  testing conferences.Altogether, he has published more than 172 English technical articles including ones in the IEEE-Transactions, the IEEE Software and the International Journal of Software Maintenance and Evolution. In German he has published more than 140 articles and published 22 books on the subjects of maintenance, reengineering, migration, testing and cost estimation. His latest books have been on maintenance management, system testing and SOA migration.

From the year 2000 to 2015 Sneed was teaching software engineering at the University of Regensburg. Starting in 2008, he has also been teaching software maintenance at the Fachhochschule Hagenberg and software test and measurement at the Fachhochchule Vienna in Austria. In Hungary he has been teaching software testing and measurement at the university of Szeged.

Sneed has been a member of the IEEE and the ACM since 1976 and a member of the German Informatik Society – GI – since 1978. In 2005 the GI appointed him to be a GI Fellow. The IEEE awarded him for his contributions to the field of software reengineering in 1996. In 2008 he was given the Stevens Award for outstanding achievement in the field of software maintenance and reengineering. He is a member of both the Austrian and the Hungarian test boards. In 2011 he received the ASQF award as the most distinguished tester in Germany and in 2013 he received the international tester of the year award from the ISQTB.