UROP Proceedings 2021-22

School of Engineering Department of Computer Science and Engineering 111 Detecting Deep Learning Software Defects Supervisor: CHEUNG Shing Chi / CSE Student: LIU Jianmeng / COMP Course: UROP1100, Spring UROP2100, Summer Deep learning (DL) systems have already been an essential component in our life, based on which deep learning applications are built. Nevertheless, limited work has been proposed on testing the underlying deep learning libraries, such as the popular PyTorch and TensorFlow, which are the foundations of DL systems. In our previous work, we collected test oracle changes of unit tests in TensorFlow, and explored the reasons and characteristics of the modifications through empirical studies. During this stage, we conducted another study to test the strength of unit tests provided by TensorFlow developers, where we tried to modify the data type or randomize the values of test inputs. Results showed that many tests would fail due to different reasons. Based on this study, we consider that performing fuzzing in deep learning libraries may be able to detect defects effectively. We examined FreeFuzz, a previous work on fuzzing DL libraries, and our preliminary results show that by increasing the volume of input sources from open source, the varieties of both test inputs and methods under test can be greatly increased, suggesting that this might bring huge improvements on the effectiveness of fuzzing. Detecting Deep Learning Software Defects Supervisor: CHEUNG Shing Chi / CSE Student: TANG Zexi / MATH-SFM Course: UROP1100, Spring Software defect detection is generally used for distinguishing the deficient modules which exist in the software so that it can help in improving the quality of the software application. Machine learning techniques, more specifically, deep learning tactics, are useful in terms of software defect detection. Software has two categories, defective and non-defective modules. Decision Tree and Logistic Regression methodologies are developed for the classification of defective data set. The datasets are taken from the reliable data repository thus consistency and accuracy is guaranteed.During this UROP process, we study about all kinds of algorithms and code implementation about detecting deep learning software defects and collecting data from the online discussion platform related to common pytorch issues.