skip to main content
10.1145/3387940.3392089acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
keynote

WES: Agent-based User Interaction Simulation on Real Infrastructure

Published:25 September 2020Publication History

ABSTRACT

We introduce the Web-Enabled Simulation (WES) research agenda, and describe FACEBOOK's WW system. We describe the application of WW to reliability, integrity and privacy at FACEBOOK1, where it is used to simulate social media interactions on an infrastructure consisting of hundreds of millions of lines of code. The WES agenda draws on research from many areas of study, including Search Based Software Engineering, Machine Learning, Programming Languages, Multi Agent Systems, Graph Theory, Game AI, and AI Assisted Game Play. We conclude with a set of open problems and research challenges to motivate wider investigation.

References

  1. Konstantinos Adamopoulos, Mark Harman, and Robert Mark Hierons. 2004. Mutation Testing Using Genetic Algorithms: A Co-evolution Approach. In Genetic and Evolutionary Computation Conference (GECCO 2004), LNCS 3103. Springer, Seattle, Washington, USA, 1338--1349.Google ScholarGoogle Scholar
  2. Sheeva Afshan, Phil McMinn, and Mark Stevenson. 2013. Evolving Readable String Test Inputs Using a Natural Language Model to Reduce Human Oracle Cost. In International Conference on Software Testing, Verification and Validation (ICST 2013). 352--361.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Nadia Alshahwan, Xinbo Gao, Mark Harman, Yue Jia, Ke Mao, Alexander Mols, Taijin Tei, and Ilya Zorin. 2018. Deploying Search Based Software Engineering with Sapienz at Facebook (keynote paper). In 10th International Symposium on Search Based Software Engineering (SSBSE 2018). Montpellier, France, 3--45. Springer LNCS 11036.Google ScholarGoogle ScholarCross RefCross Ref
  4. Andrea Arcuri and Xin Yao. 2010. Co-evolutionary automatic programming for software development. Information Sciences (2010). https://doi.org/doi:10.1016/j.ins.2009.12.019 To appear. Available on line from Elsevier.Google ScholarGoogle Scholar
  5. Earl T. Barr, Mark Harman, Phil McMinn, Muzammil Shahbaz, and Shin Yoo. 2015. The Oracle Problem in Software Testing: A Survey. IEEE Transactions on Software Engineering 41, 5 (May 2015), 507--525.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jonathan Bell, Gail Kaiser, Eric Melski, and Mohan Dattatreya. 2015. Efficient dependency detection for safe Java test acceleration. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 770--781.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Antonia Bertolino. 2007. Software testing research: Achievements, challenges, dreams. In Future of Software Engineering (FOSE'07). IEEE, 85--103.Google ScholarGoogle Scholar
  8. Dan Boneh, Andrew J. Grotto, Patrick McDaniel, and Nicolas Papernot. 2019. How Relevant is the Turing Test in the Age of Sophisbots? arXiv e-prints, Article arXiv:1909.00056 (Aug 2019), arXiv:1909.00056 pages. arXiv:cs.CY/1909.00056Google ScholarGoogle Scholar
  9. Mustafa Bozkurt and Mark Harman. 2011. Automatically generating realistic test input from web services. In IEEE 6th International Symposium on Service Oriented System Engineering (SOSE 2011), Jerry Zeyu Gao, Xiaodong Lu, Muhammad Younas, and Hong Zhu (Eds.). IEEE, Irvine, CA, USA, 13--24.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cagatay Catal and Banu Diri. 2009. A systematic review of software fault prediction studies. Expert systems with applications 36, 4 (2009), 7346--7354.Google ScholarGoogle Scholar
  11. Edmund M Clarke Jr, Orna Grumberg, Daniel Kroening, Doron Peled, and Helmut Veith. 2018. Model checking. MIT press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley Professional. 608 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6 (April 2002), 182--197. Issue 2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dirk Draheim, John Grundy, John Hosking, Christof Lutteroth, and Gerald Weber. 2006. Realistic load testing of web applications. In Conference on Software Maintenance and Reengineering (CSMR '06). IEEE, 11-pp.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. FACEBOOK, INC. 2020. Community Standards. https://www.facebook.com/communitystandards/Google ScholarGoogle Scholar
  16. Dror G. Feitelson, Eitan Frachtenberg, and Kent L. Beck. 2013. Development and Deployment at Facebook. IEEE Internet Computing 17, 4 (2013), 8--17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Carlos Gavidia-Calderon, Federica Sarro, Mark Harman, and Earl T. Barr. To appear. The Assessor's Dilemma: Improving Bug Repair via Empirical Game Theory. IEEE Transactions on Software Engineering (To appear).Google ScholarGoogle Scholar
  18. Sumit Gulwani, Oleksandr Polozov, Rishabh Singh, et al. 2017. Program synthesis. Foundations and Trends in Programming Languages 4, 1-2 (2017), 1--119.Google ScholarGoogle ScholarCross RefCross Ref
  19. Mark Harman. 2010. How SBSE Can Support Construction and Analysis of Predictive Models (Keynote Paper). In 6th International Conference on Predictive Models in Software Engineering (PROMISE 2010). Timisoara, Romania.Google ScholarGoogle Scholar
  20. Mark Harman. 2010. Search Based Software Engineering (Keynote Paper). In 13th International Conference on Fundamental Approaches to Software Engineering R@(FASE 2010). Paphos, Cyprus.Google ScholarGoogle Scholar
  21. Mark Harman, Lin Hu, Robert Mark Hierons, Xingyuan Zhang, Malcolm Munro, José Javier Dolado, Mari Carmen Otero, and Joachim Wegener. 2002. A Post-Placement Side-Effect Removal Algorithm. In IEEE International Conference on Software Maintenance (Montreal, Canada). IEEE Computer Society Press, Los Alamitos, California, USA, 2--11.Google ScholarGoogle ScholarCross RefCross Ref
  22. Mark Harman, Yue Jia, Jens Krinke, Bill Langdon, Justyna Petke, and Yuanyuan Zhang. 2014. Search based software engineering for software product line engineering: a survey and directions for future work. In 18th International Software Product Line Conference (SPLC 14). Florence, Italy, 5--18.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Mark Harman and Bryan F. Jones. 2001. Search Based Software Engineering. Information and Software Technology 43, 14 (Dec. 2001), 833--839.Google ScholarGoogle ScholarCross RefCross Ref
  24. Mark Harman, Afshin Mansouri, and Yuanyuan Zhang. 2012. Search Based Software Engineering: Trends, Techniques and Applications. Comput. Surveys 45, 1 (November 2012), 11:1-11:61.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mark Harman and Peter O'Hearn. 2018. From Start-ups to Scale-ups: Opportunities and Open Problems for Static and Dynamic Program Analysis (keynote paper). In 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2018). Madrid, Spain, 1--23.Google ScholarGoogle ScholarCross RefCross Ref
  26. Ahmed E Hassan. 2008. The road ahead for mining software repositories. In 2008 Frontiers of Software Maintenance. IEEE, 48--57.Google ScholarGoogle Scholar
  27. Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig. 2017. Trade-offs in continuous integration: assurance, security, and flexibility. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. 197--207.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Leonid Hurwicz and Stanley Reiter. 2006. Designing Economic Mechanisms. Cambridge University Press.Google ScholarGoogle Scholar
  29. Eugene Ie, Chih-wei Hsu, Martin Mladenov, Vihan Jain, Sanmit Narvekar, Jing Wang, Rui Wu, and Craig Boutilier. 2019. RecSim: A Configurable Simulation Platform for Recommender Systems. arXiv e-prints, Article arXiv:1909.04847 (Sep 2019), arXiv:1909.04847 pages. arXiv:cs.LG/1909.04847Google ScholarGoogle Scholar
  30. Nicholas R Jennings and Michael J Wooldridge. 1996. Software agents. IEE review (1996), 17--20.Google ScholarGoogle Scholar
  31. Dongwon Kang, Jinhwan Jung, and Doo-Hwan Bae. 2011. Constraint-based Human Resource Allocation in Software Projects. Software: Practice and Experience 41, 5 (April 2011), 551--577.Google ScholarGoogle Scholar
  32. Jack PC Kleijnen. 2005. Supply chain simulation tools and techniques: a survey. International journal of simulation and process modelling 1, 1-2 (2005), 82--89.Google ScholarGoogle ScholarCross RefCross Ref
  33. Kamolwan Kunanusont, Raluca D Gaina, Jialin Liu, Diego Perez-Liebana, and Simon M Lucas. 2017. The n-tuple bandit evolutionary algorithm for automatic game improvement. In 2017 IEEE Congress on Evolutionary Computation (CEC). IEEE, 2201--2208.Google ScholarGoogle ScholarCross RefCross Ref
  34. Ada Augusta Lovelace. 1843. Sketch of the Analytical Engine Invented by Charles Babbage By L. F. Menabrea of Turin, officer of the military engineers, with notes by the translator. (1843). Translation with notes on article in italian in Bibliothèque Universelle de Genève, October, 1842, Number 82.Google ScholarGoogle Scholar
  35. Qingzhou Luo, Farah Hariri, Lamyaa Eloussi, and Darko Marinov. 2014. An empirical analysis of flaky tests. In 22nd International Symposium on Foundations of Software Engineering (FSE 2014), Shing-Chi Cheung, Alessandro Orso, and Margaret-Anne Storey (Eds.). ACM, Hong Kong, China, 643--653.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Konstantinos Manikas and Klaus Marius Hansen. 2013. Software ecosystems--A systematic literature review. Journal of Systems and Software 86, 5 (2013), 1294--1306.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Ke Mao, Mark Harman, and Yue Jia. 2017. Robotic Testing of Mobile Apps for Truly Black-Box Automation. IEEE Software 34, 2 (2017), 11--16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Alexandru Marginean, Johannes Bader, Satish Chandra, Mark Harman, Yue Jia, Ke Mao, Alexander Mols, and Andrew Scott. 2019. SapFix: Automated End-to-End Repair at Scale. In International Conference on Software Engineering (ICSE) Software Engineering in Practice (SEIP) track. Montreal, Canada.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. William Martin, Federica Sarro, and Mark Harman. 2016. Causal Impact Analysis for App Releases in Google Play. In 24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2016). Seattle, WA, USA, 435--446.Google ScholarGoogle Scholar
  40. William Martin, Federica Sarro, Yue Jia, Yuanyuan Zhang, and Mark Harman. 2017. A Survey of App Store Analysis for Software Engineering. IEEE Transactions on Software Engineering 43, 9 (2017).Google ScholarGoogle ScholarCross RefCross Ref
  41. Fabien Michel, Jacques Ferber, and Alexis Drogoul. 2018. Multi-Agent Systems and Simulation: A Survey from the Agent Commu-nity's Perspective. In Multi-Agent Systems. CRC Press, 17--66.Google ScholarGoogle Scholar
  42. Roger B Myerson. 2013. Game theory. Harvard university press.Google ScholarGoogle Scholar
  43. Armin Najafi, Peter C. Rigby, and Weiyi Shang. 2019. Bisecting Commits and Modeling Commit Risk during Testing. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). 279--289.Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Judea Pearl. 2000. Causality. Cambridge University Press, Cambridge.Google ScholarGoogle Scholar
  45. Justyna Petke, Saemundur O. Haraldsson, Mark Harman, William B. Langdon, David R. White, and John R. Woodward. 2018. Genetic Improvement of Software: a Comprehensive Survey. IEEE Transactions on Evolutionary Computation 22, 3 (June 2018), 415--432. https://doi.org/doi:10.1109/TEVC.2017.2693219Google ScholarGoogle ScholarCross RefCross Ref
  46. Jian Ren, Mark Harman, and Massimiliano Di Penta. 2011. Cooperative Co-evolutionary Optimization on Software Project Staff Assignments and Job Scheduling. In 3rd International Symposium on Search based Software Engineering (SSBSE 2011). 127--141. LNCS Volume 6956.Google ScholarGoogle Scholar
  47. Luis G. Serrano. [n.d.]. Grokking Machine Learning. Manning Publications.Google ScholarGoogle Scholar
  48. Dan Siroker and Pete Koomen. 2013. A/B testing: The most powerful way to turn clicks into customers. John Wiley & Sons.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Richard S. Sutton (Ed.). 1992. Reinforcement Learning. SECS, Vol. 173. Kluwer Academic Publishers. Reprinted from volume 8(3-4) (1992) of Machine Learning.Google ScholarGoogle Scholar
  50. Julian Togelius and Jurgen Schmidhuber. 2008. An experiment in automatic game design. In 2008 IEEE Symposium On Computational Intelligence and Games. IEEE, 111--118.Google ScholarGoogle ScholarCross RefCross Ref
  51. Oriol Vinyals, Igor Babuschkin, Wojciech M. Czarnecki, Michaël Mathieu, Andrew Dudzik, Junyoung Chung, David H. Choi, Richard Powell, Timo Ewalds, Petko Georgiev, Junhyuk Oh, Dan Horgan, Manuel Kroiss, Ivo Danihelka, Aja Huang, Laurent Sifre, Trevor Cai, John P. Agapiou, Max Jaderberg, Alexander S. Vezhnevets, Rémi Leblond, Tobias Pohlen, Valentin Dalibard, David Budden, Yury Sulsky, James Molloy, Tom L. Paine, Caglar Gulcehre, Ziyu Wang, Tobias Pfaff, Yuhuai Wu, Roman Ring, Dani Yogatama, Dario Wünsch, Katrina McKinney, Oliver Smith, Tom Schaul, Timothy Lillicrap, Koray Kavukcuoglu, Demis Hassabis, Chris Apps, and David Silver. 2019. Grandmaster level in StarCraft II using multi-agent reinforcement learning. Nature 575, 7782 (2019), 350--354.Google ScholarGoogle Scholar
  52. Michael P. Wellman. 2006. Methods for Empirical Game-Theoretic Analysis. In Proceedings of the 21st AAAI Conference. 1552--1556.Google ScholarGoogle Scholar
  53. Douglas Brent West. 2001. Introduction to graph theory. Vol. 2. Prentice hall Upper Saddle River.Google ScholarGoogle Scholar
  54. Michael Wooldridge and Nicholas R Jennings. 1994. Agent theories, architectures, and languages: a survey. In International Workshop on Agent Theories, Architectures, and Languages. Springer, 1--39.Google ScholarGoogle Scholar
  55. Geogios N Yannakakis. 2012. Game AI revisited. In Proceedings of the 9th conference on Computing Frontiers. 285--292.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. WES: Agent-based User Interaction Simulation on Real Infrastructure
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              ICSEW'20: Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops
              June 2020
              831 pages
              ISBN:9781450379632
              DOI:10.1145/3387940

              Copyright © 2020 Owner/Author

              Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 25 September 2020

              Check for updates

              Qualifiers

              • keynote
              • Research
              • Refereed limited

              Upcoming Conference

              ICSE 2025

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader