We are honoured to announce three keynotes.
Abstract: A system is said to be untestable if its output could not be verified (which is also known as the test oracle problem). An obvious but important question is: how to test untestable systems. Metamorphic Testing (MT) was proposed to alleviate the test oracle problem.
In this talk, we first clarify some common misunderstandings of MT. Then, we would discuss the categories of research on MT. Some successful cases of applications of MT would be reported, and their impacts would be explained. A framework to integrate MT with other software engineering methods would be presented. We would discuss the extensions of MT beyond the context of software testing, and the state-of-the-art of MT. Potential research directions for MT would be discussed, including how the role of MT in testing artificial intelligence systems.
Abstract: A huge wealth of various data exists in the software development process, and hidden in the data is information about the quality of software and services, user experiences as well as the dynamics of software development. With various analytic and computing technologies, software analytics is to enable software practitioners to performance data exploration and analysis in order to obtain insightful and actionable information for data-driven tasks around software and services. Software analytics is naturally tied with the software development practice mainly because (1) the data under study comes from real practice; (2) there are real problems to be answered using the data; (3) one of the success metrics of software analytics research is its influence and impact on the development practice. In this talk, I’ll introduce the motivation behind software analytics research, provide an overview on software analytics, and use some projects as examples to share our experiences on making real impact based on the results of software analytics research.
Abstract: A recent game has some AI modules in it. There are two kinds of AI. AI inside a game is implemented in the game as a run-time system, on the other, AI outside a game is used for analysing, balancing a game and finding bugs in it automatically. AI inside a game makes a game more dynamic and more flexible, and AI outside a game fixes such dynamic and flexible game automatically.
There are three kinds of AI inside a game such as character AI, navigation AI and Meta-AI. A character AI works as a brain of a character to make a decision and motion in game. Navigation AI is to find a path and discover a goal point even in a complex terrain. Meta-AI is to control a dynamics of a game in real-time to make a game more exciting to a user by making terrains and dungeons procedurally and allocating enemy characters dynamically on a terrain.
There are many kinds of AI outside a game such as QA-AI, auto-playing AI, auto-balancing AI and so on. A common AI function of them is to recognize a game by observing user’s log and watching a game screen. Understanding a game make many things possible including auto-checking of asset data and game system, auto-balancing, and auto-game playing. In the future, human testers can be replaced by these AIs.
Ever a game consists of large data and long source codes. Now it has changed by AI technologies. AI technologies in game can make game assets procedurally and produce a game dynamics on the fly. In this session, a current whole figure of game AI technologies are explained by using FINAL FANTASY XV cases.