Skip to main content

Intelligent Software Engineering: Synergy Between AI and Software Engineering

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10998))

Abstract

As an example of exploiting the synergy between AI and software engineering, the field of intelligent software engineering has emerged with various advances in recent years. Such field broadly addresses issues on intelligent [software engineering] and [intelligence software] engineering. The former, intelligent [software engineering], focuses on instilling intelligence in approaches developed to address various software engineering tasks to accomplish high effectiveness and efficiency. The latter, [intelligence software] engineering, focuses on addressing various software engineering tasks for intelligence software, e.g., AI software. In this paper, we discuss recent research and future directions in the field of intelligent software engineering.

This work was supported in part by National Science Foundation under grants no. CNS-1513939 and CNS1564274, and a grant from the ZJUI Research Program.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Acharya, M., Xie, T., Pei, J., Xu, J.: Mining API patterns as partial orders from source code: from usage scenarios to specifications. In: Proceedings of the Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC-FSE), pp. 25–34 (2007)

    Google Scholar 

  2. Allamanis, M., Barr, E.T., Devanbu, P., Sutton, C.: A survey of machine learning for big code and naturalness, September 2017. arXiv:1709.06182

  3. Balog, M., Gaunt, A.L., Brockschmidt, M., Nowozin, S., Tarlow, D.: DeepCoder: learning to write programs. In: Proceedings of the International Conference on Learning Representations (ICLR) (2017)

    Google Scholar 

  4. Barr, A.: Google mistakenly tags black people as ‘gorillas’, showing limits of algorithms. Wall Str. J. (2015). http://blogs.wsj.com/digits/2015/07/01/google-mistakenly-tags-black-people-as-gorillas-showing-limits-of-algorithms/

  5. Beschastnikh, I., Lungu, M.F., Zhuang, Y.: Accelerating software engineering research adoption with analysis bots. In: Proceedings of the International Conference on Software Engineering (ICSE), New Ideas and Emerging Results Track, pp. 35–38 (2017)

    Google Scholar 

  6. Bieliauskas, S., Schreiber, A.: A conversational user interface for software visualization. In: Proceedings of the IEEE Working Conference on Software Visualization (VISSOFT), pp. 139–143 (2017)

    Google Scholar 

  7. Coleman, J.: Foundations of Social Theory. Belknap Press Series. Belknap Press of Harvard University Press, Cambridge (1990)

    Google Scholar 

  8. Committee on Technology National Science and Technology Council and Penny Hill Press: Preparing for the Future of Artificial Intelligence. CreateSpace Independent Publishing Platform, USA (2016)

    Google Scholar 

  9. Ernst, M.D.: Natural language is a programming language: applying natural language processing to software development. In: Proceedings of the 2nd Summit on Advances in Programming Languages (SNAPL), pp. 4:1–4:14 (2017)

    Google Scholar 

  10. Gu, X., Zhang, H., Zhang, D., Kim, S.: Deep API learning. In: Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pp. 631–642 (2016)

    Google Scholar 

  11. Gu, X., Zhang, H., Zhang, D., Kim, S.: DeepAM: migrate APIs with multi-modal sequence to sequence learning. In: Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), pp. 3675–3681 (2017)

    Google Scholar 

  12. Gupta, R., Pal, S., Kanade, A., Shevade, S.: DeepFix: fixing common C language errors by deep learning. In: Proceedings of the National Conference on Artificial Intelligence (AAAI) (2017)

    Google Scholar 

  13. Harman, M.: The role of artificial intelligence in software engineering. In: Proceedings International Workshop on Realizing AI Synergies in Software Engineering (RAISE), pp. 1–6 (2012)

    Google Scholar 

  14. Jordan, M.: Artificial intelligence-the revolution hasn’t happened yet, April 2018. https://medium.com/@mijordan3/artificial-intelligence-the-revolution-hasnt-happened-yet-5e1d5812e1e7

  15. Lebeuf, C., Storey, M.D., Zagalsky, A.: How software developers mitigate collaboration friction with chatbots. CoRR abs/1702.07011 (2017). http://arxiv.org/abs/1702.07011

  16. Leetaru, K.: How Twitter corrupted Microsoft’s Tay: a crash course in the dangers of AI in the real world. Forbes (2016). https://www.forbes.com/sites/kalevleetaru/2016/03/24/how-twitter-corrupted-microsofts-tay-a-crash-course-in-the-dangers-of-ai-in-the-real-world/

  17. Li, F.F.: How to make A.I. that’s good for people, March 2018. https://www.nytimes.com/2018/03/07/opinion/artificial-intelligence-human.html

  18. Michail, A., Xie, T.: Helping users avoid bugs in GUI applications. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 107–116 (2005)

    Google Scholar 

  19. Murphy, C., Kaiser, G.E.: Improving the dependability of machine learning applications. Technical report, CUCS-049-, Department of Computer Science, Columbia University (2008)

    Google Scholar 

  20. Pandita, R., Xiao, X., Yang, W., Enck, W., Xie, T.: WHYPER: towards automating risk assessment of mobile applications. In: Proceedings of the USENIX Conference on Security (SEC), pp. 527–542 (2013)

    Google Scholar 

  21. Pandita, R., Xiao, X., Zhong, H., Xie, T., Oney, S., Paradkar, A.: Inferring method specifications from natural language API descriptions. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 815–825 (2012)

    Google Scholar 

  22. Pei, K., Cao, Y., Yang, J., Jana, S.: DeepXplore: automated whitebox testing of deep learning systems. In: Proceedings of the Symposium on Operating Systems Principles (SOSP), pp. 1–18 (2017)

    Google Scholar 

  23. Qin, Y., Xie, T., Xu, C., Astorga, A., Lu, J.: CoMID: context-based multi-invariant detection for monitoring cyber-physical software. CoRR abs/1807.02282 (2018). https://arxiv.org/abs/1807.02282

  24. Schmidhuber, J.: Deep learning in neural networks. Neural Netw. 61(C), 85–117 (2015)

    Article  Google Scholar 

  25. Srisakaokul, S., Wu, Z., Astorga, A., Alebiosu, O., Xie, T.: Multiple-implementation testing of supervised learning software. In: Proceedings of the AAAI-2018 Workshop on Engineering Dependable and Secure Machine Learning Systems (EDSMLS) (2018)

    Google Scholar 

  26. Storey, M.D., Zagalsky, A.: Disrupting developer productivity one bot at a time. In: Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pp. 928–931 (2016)

    Google Scholar 

  27. Tian, Y., Pei, K., Jana, S., Ray, B.: DeepTest: automated testing of deep-neural-network-driven autonomous cars. In: Proceedings International Conference on Software Engineering (ICSE), pp. 303–314 (2018)

    Google Scholar 

  28. Turing, A.M.: Computing machinery and intelligence (1950). One of the most influential papers in the history of the cognitive sciences. http://cogsci.umn.edu/millennium/final.html

  29. Wang, X., Zhang, L., Xie, T., Anvik, J., Sun, J.: An approach to detecting duplicate bug reports using natural language and execution information. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 461–470 (2008)

    Google Scholar 

  30. Xiao, X., Paradkar, A., Thummalapenta, S., Xie, T.: Automated extraction of security policies from natural-language software documents. In: Proceedings of the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pp. 12:1–12:11 (2012)

    Google Scholar 

  31. Xie, T.: Intelligent software engineering: synergy between AI and software engineering. In: Proceedings of the Innovations in Software Engineering Conference (ISEC), p. 1:1 (2018)

    Google Scholar 

  32. Xie, T., Thummalapenta, S., Lo, D., Liu, C.: Data mining for software engineering. Computer 42(8), 55–62 (2009)

    Article  Google Scholar 

  33. Yang, W., Kong, D., Xie, T., Gunter, C.A.: Malware detection in adversarial settings: exploiting feature evolutions and confusions in Android apps. In: Proceedings Annual Computer Security Applications Conference (ACSAC), pp. 288–302 (2017)

    Google Scholar 

  34. Yang, W., Xie, T.: Telemade: a testing framework for learning-based malware detection systems. In: Proceedings AAAI-2018 Workshop on Engineering Dependable and Secure Machine Learning Systems (EDSMLS) (2018)

    Google Scholar 

  35. Yin, P., Neubig, G.: A syntactic neural model for general-purpose code generation. In: Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL) (2017)

    Google Scholar 

  36. Zheng, W., Ma, H., Lyu, M.R., Xie, T., King, I.: Mining test oracles of web search engines. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 408–411 (2011)

    Google Scholar 

  37. Zheng, W., et al.: Oracle-free detection of translation issue for neural machine translation. CoRR abs/1807.02340 (2018). https://arxiv.org/abs/1807.02340

  38. Zhong, H., Xie, T., Zhang, L., Pei, J., Mei, H.: MAPO: mining and recommending API usage patterns. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 318–343. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03013-0_15

    Chapter  Google Scholar 

  39. Zhong, H., Zhang, L., Xie, T., Mei, H.: Inferring resource specifications from natural language API documentation. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 307–318 (2009)

    Google Scholar 

  40. Zhong, Z., et al.: Generating regular expressions from natural language specifications: are we there yet? In: Proceedings of the Workshop on NLP for Software Engineering (NL4SE) (2018)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tao Xie .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Xie, T. (2018). Intelligent Software Engineering: Synergy Between AI and Software Engineering. In: Feng, X., Müller-Olm, M., Yang, Z. (eds) Dependable Software Engineering. Theories, Tools, and Applications. SETTA 2018. Lecture Notes in Computer Science(), vol 10998. Springer, Cham. https://doi.org/10.1007/978-3-319-99933-3_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-99933-3_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-99932-6

  • Online ISBN: 978-3-319-99933-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics