 Hello everyone, my name is Xia Lan, my name is Wang Junfei. So we are from IBM Runtime Technologies. Our topic is dealing with verification data overload. So we're going to present in English, if you have any questions, you can use Mandarin or English to raise your questions. Okay, I like to speak. Nowadays, we have a lot of data, right? We imagine how many notifications we get on your phone every day. Actually, for the test, it's the same. We have more and more tests. We need to face the situation of data overload. In today's topic, we are going to talk about how to solve the problem of verification data. We can understand what our problem is and what our challenge is. Then we will talk about the frame of our test. It's called the test key gem. Then we will talk about our Jenkins variable version. This is also our automatic build. Then we will have the summary service of our test result. We don't want to end it like this. We also use deep learning technology. We practice data. So we also did some experiments on data experience. Finally, we will talk about our future plans. Who are we? In fact, we are a group of people who want to ensure that there is a free and verified Java in the community. We use three different source projects. Eclipse, OMR, Eclipse Open G9, and Adopt Open JDK. Today, we will talk about the workflow in Open JDK. We have six Jenkins servers. Jenkins is the version of our automatic build. I don't know where your data comes from. In fact, we can also give an external solution. Now, you can download the document for Open JDK 2.0 from Adopt Open JDK. We have already downloaded it 4 million times. Of course, it is a bit of pressure for us because we want to ensure our product quality. Now, let's take a look at the試圖 to really understand what we encountered when we tested it. Our test is using Open G9, and then HotSpot, SAP, Corrado, R.I. On different platforms, there are different versions of JDK. There are also different categories. But let's take a look at some numbers to make you understand this question more clearly. The source of different JDK is in different versions. For example, there may be different versions on different platforms. If we add together, there may be 58 platforms. It will have six different versions, and then it will have 2.5 million tests. If we add together, it will be 8.7 million tests. This is a very large number. If we calculate it again, let's take a look at 58 platforms that are running daily. 2 times 3 times 6 times 10 times. This is equivalent to the daily version that we tested for more than 20 years. In addition, we also have the PR build, the promotion build, and the personal build. And this is just one Jenkins. If you have more Jenkins, the data will be more. So we need a solution to solve this problem. Here are some of the data we divided. For different tests, it is in the framework of different tests. For example, this command line. As you can see, there are tests.ng, and different test fields. For us, it is also an external challenge. In addition, we also need to ensure quality. In the current Java test, OpenJDK is already open source. Of course, this is very good. For this test, we also need to have a special certificate. So we also need to confirm the quality of open source. We also hope to keep this completely open and transparent. For example, for JDK, whether your test is passed or not passed, you can adjust it to this test. We can see all the relevant indicators. Is this very good? But our idea is to keep it open and transparent. All these things can be very transparent. At the same time, the result can be announced to the public. So we have to face the result of different test results. And then we also hope that when we take this step, we will have to make changes. We will also reduce this friction. At the same time, we will review the test again. Sometimes, it is not always the best. We also look at different indicators. For example, the coverage of the code, etc. At the same time, we hope that it can be changed. We also hope to add labels to this test. Then we can easily apply labels and release them. So we need to have a system that can cross different platforms and different tests. At the same time, it can also cover different versions of JDK, different platforms. In addition, there is also a similar method to run our test. At the same time, it is very simple. We need different level of clarity. Then we can do these same test. It is also a test of the JDK function. It also has different types, different versions, different labels, different functions. At the same time, we need to see if there is any effect of the original test. So we have done some整合. At the same time, it can show the result of our test. We can use some simple methods to do all the tests. We can go over some different levels of JDK to do this kind of test. So here is a laser. We can see that there is an open JDK. Then you can pull it to a more specific level. Then we can do this kind of test. I think this can help us to better do the trial or the judge to find out what you want to do. What we just talked about is our test network. But we also need to use some of the automated devices. This is the open JDK that we talked about. Through the auto JDK. Once we have created a JDK like this, we can start this test. Then all of these tests can be run at the same time. If the test is not done yet, we can't enter the steps. Of course, all of the tests can be done in this container. All of these tests are used by our Jenkins-Fellbase. This is a script that you can use to create. You can use this website to find out what you want to do. This is just a quick snapshot from our Jenkins-Fellbase. This is the open JDK. You can have a version of this. You can see that through this, we can write the JDK version, the JDK input, and the test type and frequency. The test files can be categorized. We also talked about the top and the JUnit types. Through these types, we can have a standard output. We have a very standard way to distinguish or to treat this test output. If the test data is missing, we will put the missing test data into the Jenkins-Fellbase or this artifact. Next, I will leave this slide to my colleague. Thanks for sharing with us. Thank you for telling us about the test network and the test pipeline. Next, we will take a look at how we can build Jenkins-Fellbase on a single page. We can see that we can build a single page and create a single page. Through this page, you can get a list of features like frequency, frequency, contrast, and so on. You can also provide some options and related features. We can see that all the original code is on GitHub. This is what we talked about. We can see that it is a client based on the bottom left corner. At the front, the client needs to think about what to do. We can see that there are some workers at the back. They work with the Jenkins-Fellbase and the MongoDB. This is what we talked about. We can see that the client can choose what they are interested in. Of course, this won't affect other clients' choices. Because all these data have been stored on the local Jenkins-Fellbase. This is what we talked about. We talked about the Jenkins-Fellbase. We can see that there is a Fellbase. Each Fellbase is the highest level of Fellbase. Once the test is completed, we can get a list of test results. This is the test build result. We can see that there are five builds. These five builds are different test categories. This is the test build result. If we pass this, we can get all the test builds. The client or the user can name the test or the test market and the test results. They can be passed or divided. If they want to get some depth of history, they can click on it and get some related data. For example, we can see what the test result is in the other builds. The client can also get some information about the test through the JDK-Info or the JD-Code version. At the same time, the client can also search for some key words. Once we get some history data, we can compare our test data and get some more interesting results. Now, let us come to the way of how we use our data. We can see that we can divide it and make it more accurate, make it smaller, and make it more personal. We hope that we can use some of the techniques we have learned to continue to study data. We can see that we can use a neural network to build a big brain function and structure. We can see that we can use our data to build a big brain function. We can see that we can divide it and make it more accurate. We can see that we can use some of the techniques we have learned to continue to study. We can see that we can use some of the techniques we have learned to continue to study. We can see that we can use a big brain function to build a big brain function. We can see that we can use a big brain function stickers too, and everybody can see it. We can see that we can introduce and some of the changes on the transaction, as well as this PR list, through some useful and experienced models, we can get some of the information we want to know, such as the category of the account, and how to evaluate the value of the test. So this is what we are trying to do with our data. Of course, we still have a long way to go in the future. This is some of the most important features we have come up with. We hope that we can do some more smart tests. We hope that we can do some changes in the test. We also hope that we can do some pre-tests for the account, and we also hope that through the analysis service, we can strengthen the TRSS. We can monitor the results of the test, and we also hope that we can learn more about the field. We hope that we can work with the people all over the world. Right now, we have a cooperation project with AIDINBAO University. It is a model test run by AI. At the same time, we also hope that we can do some pre-tests for CTD, so we hope that we can use these useful models. If you think that today's topic is interesting, you can learn more about what we have done through these pre-tests. Through this, you can see that through these pre-tests, we can interact with our JDK community. We hope that we can contribute to our community. Thank you.