Powiadomienia systemowe
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
- Sesja wygasła!
Tytuł artykułu
Autorzy
Treść / Zawartość
Pełne teksty:
Identyfikatory
Warianty tytułu
Sztuczna inteligencja w wytwarzaniu oprogramowania : stan aktualny i wyzwania na przyszłość
Języki publikacji
Abstrakty
Since the time when first CASE (Computer-Aided Software Engineering) methods and tools were developed, little has been done in the area of automated creation of code. CASE tools support a software engineer in creation the system structure, in defining interfaces and relationships between software modules and, after the code has been written, in performing testing tasks on different levels of detail. Writing code is still the task of a skilled human, which makes the whole software development a costly and error-prone process. It seems that recent advances in AI area, particularly in deep learning methods, may considerably improve the matters. The paper presents an extensive survey of recent work and achievements in this area reported in the literature, both from the theoretical branch of research and from engineer-oriented approaches. Then, some challenges for the future work are proposed, classified into Full AI, Assisted AI and Supplementary AI research fields.
Od czasu pojawienia się pierwszych metod i narzędzi CASE niewiele zrobiono w zakresie automatycznego wytwarzania oprogramowania. Narzędzia CASE wspierają deweloperów w tworzeniu struktury systemu, definiowaniu interfejsów i relacji między modułami oprogramowania oraz, po powstaniu kodu, w wykonywaniu zadań testowych na różnych poziomach szczegółowości. Pisanie kodu jest jednak nadal zadaniem wykwalifikowanego specjalisty, co powoduje, że cały proces wytwarzania oprogramowania jest kosztowny i podatny na błędy. Ostatnie postępy w obszarze sztucznej inteligencji, szczególnie w zakresie metod głębokiego uczenia maszynowego, mogą i powinny znacznie poprawić tę sytuację. W artykule przedstawiono przegląd dotychczasowych osiągnięć w tej dziedzinie, znanych z literatury przedmiotu, szczególnie w zakresie czysto teoretycznym, gdyż efekty inżynierskie znajdujące zastosowanie praktyczne są jak dotąd bardzo ograniczone. Następnie zaproponowano i opisano kilka kierunków przyszłych prac w tej dziedzinie, które zaklasyfikowano jako Full AI, Assisted AI i Supplementary AI, w kolejności wynikającej z oczekiwanego stopnia zautomatyzowania procesów wytwarzania oprogramowania.
Czasopismo
Rocznik
Tom
Strony
15--32
Opis fizyczny
Bibliogr. 26 poz., rys.
Twórcy
autor
- Gdańsk University of Technology, Faculty of Electronics, Telecommunications and Informatics, 11/12 Narutowicza Str., 80-233 Gdańsk, Poland
autor
- Gdańsk University of Technology, Faculty of Electronics, Telecommunications and Informatics, 11/12 Narutowicza Str., 80-233 Gdańsk, Poland
Bibliografia
- [1] Gottschlich J., Solar-Lezama A., Tatbul N., Carbin M., Rinard M., Barzilay R., Amarasinghe S., Tenenbaum J.B. and Mattson T., The Three Pillars of Machine-Based Programming, arXiv:1803.07244v1, https://arxiv.org/pdf/1803.07244.pdf, 2018 [accessed: 25.10.2018].
- [2] Kant N., Recent Advances in Neural Program Synthesis, arXiv:1802.02353v1, https://arxiv.org/pdf/1802.02353.pdf, 2018 [accessed: 25.10.2018].
- [3] Gulwani S., Automating String Processing in Spreadsheets Using Input-Output Examples, PoPL’11, https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/popl11-synthesis.pdf, 2011 [accessed: 25.10.2018].
- [4] Chen X., Liu C., Shin R., Song D., Chen M., Latent Attention For If-Then Program Synthesis, NIPS’16 Proceedings of the 30th International Conference on Neural Information Processing Systems, 2016, 4581-4589.
- [5] Solar-Lezama A., Program Synthesis By Sketching, PhD thesis, EECS Dept., UC Berkeley, 2008.
- [6] Xu X., Liu C., Song D., SQLNet: Generating Structured Queries From Natural Language Without Reinforcement Learning, arXiv:1711.04436, https://arxiv.org/pdf/1711.04436, 2017 [accessed: 25.10.2018].
- [7] Zhong V., Xiong C., Socher R., Seq2SQL: Generating Structured Queries from Natural Language using Reinforcement Learning, arXiv:1709.00103, https://arxiv.org/pdf/1709.00103, 2017 [accessed: 25.10.2018].
- [8] Yaghmazadeh N., Wang Y., Dillig I., Dillig T., SQLizer: Query Synthesis from Natural Language, Proceedings of the ACM on Programming Languages, vol. 1, Issue OOPSLA, Article no. 63, 2017.
- [9] Neelakantan A., Le Q.V., Sutskever I., Neural Programmer: Inducing Latent Programs with Gradient Descent, arXiv:1511.04834, https://arxiv.org/pdf/1511.04834, 2016 [accessed: 25.10.2018].
- [10] Reed S., de Freitas N., Neural Programmer-Interpreters, arXiv:1511.06279, https://arxiv.org/pdf/1511.06279, 2016 [accessed: 25.10.2018].
- [11] Pavlinovic Z., Babic D., Interactive Code Snippet Synthesis Through Repository Mining, https://www.semanticscholar.org/paper/Interactive-Code-Snippet-Synthesis-Through-Mining-Pavlinovic-Babic/1d02c510216726dc31b2b4c9d5e0ed446d7f5c76, 2013 [accessed: 25.10.2018].
- [12] Xin Q., Reiss S.P., Krishnamurthi S., Program Repair Using Code Repositories, https://www.semanticscholar.org/paper/Program-Repair-Using-Code-Repositories-Xin-Reiss/6c2e280585540773cca5e4e988610647d9e0f4aa, 2016 [accessed: 25.10.2018].
- [13] Bornholt J., Torlak E., Scaling Program Synthesis by Exploiting Existing Code, https://www.semanticscholar.org/paper/Scaling-Program-Synthesis-by-Exploiting-Existing-Bornholt-Torlak/0a7879e50b69d4146cfa616d0be4bebd7bb47d41, 2015 [accessed: 25.10.2018].
- [14] Gulwani S., Polozov O., Singh R., Program Synthesis. Foundations and Trends® in Programming Languages, 2017.
- [15] Manna Z., Waldinger R., Synthesis: Dreams => Programs, IEEE Transactions on Software Engineering, vol. SE-5, no. 4, 1979.
- [16] Manna Z., Waldinger R., A Deductive Approach to Program Synthesis, ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 2, issue 1, 90-121, 1980.
- [17] Barrett C., Sebastiani R., Seshia S., Tinelli C., Satisfiability Modulo Theories, Handbook of Satisfiability, vol. 185 of Frontiers in Artificial Intelligence and Applications, 825-885, 2009.
- [18] Balog M., Gaunt A.L., Brockschmidt M., Nowozin S., Tarlow D., DeepCoder: Learning to Write Programs, arXiv:1611.01989, https://arxiv.org/abs/1611.01989, 2017 [accessed: 25.10.2018].
- [19] Hochreiter S., Schmidhuber J., Long Short-term Memory, Neural Computation, 9(8): 1735- 1780, 1997.
- [20] Lecun Y., Bottou L., Bengio Y., Haffner P., Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE. 86. 2278-2324, 1998.
- [21] Kaiser Ł., Sutskever I., Neural GPUs Learn Algorithms, arXiv:1511.08228, https://arxiv.org/pdf/1511.08228, 2015 [accessed: 25.10.2018].
- [22] Graves A., Wayne G., Danihelka I., Neural Turing Machines, arXiv:1410.5401, https://arxiv. org/pdf/1410.5401, 2014 [accessed: 25.10.2018].
- [23] Vinyals O., Fortunato M., Jaitly N., Pointer Networks, arXiv:1506.03134, https://arxiv.org/ pdf/1506.03134, 2017 [accessed: 25.10.2018].
- [24] Zeiler M.D., Fergus R., Visualizing and Understanding Convolutional Networks, arXiv:1311.2901, https://arxiv.org/pdf/1311.2901, 2013 [accessed: 25.10.2018].
- [25] Bach S., Binder A., Montavon G., Klauschen F., Müller K.R., Sam W., On Pixel-Wise Explanations for Non-Linear Classifier Decisions by Layer-Wise Relevance Propagation, PLoS ONE, 10(7): e0130140. https://doi.org/10.1371/journal.pone.0130140, 2015 [accessed: 25.10.2018].
- [26] Montavon G., Bach S., Binder A., Samek W., Müller K.R., Explaining NonLinear Classification Decisions with Deep Taylor Decomposition, arXiv:1512.02479, https://arxiv.org/pdf/1512.02479, 2015 [accessed: 25.10.2018].
Uwagi
1. Opracowanie rekordu w ramach umowy 509/P-DUN/2018 ze środków MNiSW przeznaczonych na działalność upowszechniającą naukę (2019).
2. The study was financed from funds for the statutory activity of the Faculty of Electronics, Telecommunications and Informatics at the Gdańsk University of Technology.
3. The article was prepared on the basis of a paper presented at the International Conference of Software Engineering KKIO’18. Pułtusk, September 27-28, 2018.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-487b2d12-e1be-4d80-abc4-b648d17ee05b