Federated learning has gained importance in SE due to its ability to enhance privacy. This study examines how incorporating a bug prediction method using Federated Learning (FL) can improve software reliability and flexibility. Our study compares the usability, privacy, and communication costs of two FL frameworks: Google and Flower, within the context of bug prediction. A neural network model was developed using a dataset of both buggy and non-buggy Python code, focusing on runtime errors. Through experiments and a user survey, the study aims to evaluate the flexibility and technical performance of both frameworks by comparing some factors such as memory usage, documentation, dependency, and backward compatibility as well as checking their privacy through data and model poisoning to find out the most suitable framework in predicting bug. The results of experiments show that while both frameworks perform well in terms of technical efficiency, Flower excels in flexibility and privacy by achieving better accuracy after data and model poisoning, making it more suitable for real-world applications. The study significantly contributes to the understanding of FL’s role in software engineering by combining theoretical insights with practical examples.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Google and Flower Federated Learning Frameworks Comparison in Bug Prediction in Terms of Flexibility and Technical Factors

  • Sahand Saed,
  • Mehdi Khalaj,
  • Banani Roy

摘要

Federated learning has gained importance in SE due to its ability to enhance privacy. This study examines how incorporating a bug prediction method using Federated Learning (FL) can improve software reliability and flexibility. Our study compares the usability, privacy, and communication costs of two FL frameworks: Google and Flower, within the context of bug prediction. A neural network model was developed using a dataset of both buggy and non-buggy Python code, focusing on runtime errors. Through experiments and a user survey, the study aims to evaluate the flexibility and technical performance of both frameworks by comparing some factors such as memory usage, documentation, dependency, and backward compatibility as well as checking their privacy through data and model poisoning to find out the most suitable framework in predicting bug. The results of experiments show that while both frameworks perform well in terms of technical efficiency, Flower excels in flexibility and privacy by achieving better accuracy after data and model poisoning, making it more suitable for real-world applications. The study significantly contributes to the understanding of FL’s role in software engineering by combining theoretical insights with practical examples.