{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,13]],"date-time":"2026-04-13T12:56:00Z","timestamp":1776084960118,"version":"3.50.1"},"reference-count":24,"publisher":"Walter de Gruyter GmbH","issue":"1","license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021,1,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>After a voice control system transforms audio input into a natural language sentence, its main purpose is to map this sentence to a specific action in the API (application programming interface) that should be performed. This mapping is usually specified after the API is already designed. In this paper, we show how an API can be designed with voice control in mind, which makes this mapping natural. The classes, methods, and parameters in the source code are named and typed according to the terms expected in the natural language commands. When this is insufficient, annotations (attribute-oriented programming) are used to define synonyms, string-to-object maps, or other properties. We also describe the mapping process and present a preliminary implementation called VCMapper. In its evaluation on a third-party dataset, it was successfully used to map all the sentences, while a large portion of the mapping was performed using only naming and typing conventions.<\/jats:p>","DOI":"10.1515\/comp-2020-0125","type":"journal-article","created":{"date-parts":[[2021,1,23]],"date-time":"2021-01-23T06:04:34Z","timestamp":1611381874000},"page":"135-145","source":"Crossref","is-referenced-by-count":1,"title":["Natural mapping between voice commands and APIs"],"prefix":"10.1515","volume":"11","author":[{"given":"Mat\u00fa\u0161","family":"Sul\u00edr","sequence":"first","affiliation":[{"name":"Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics , Technical University of Ko\u0161ice , Letn\u00e1 9 , , Ko\u0161ice , Slovakia"}]},{"given":"Jaroslav","family":"Porub\u00e4n","sequence":"additional","affiliation":[{"name":"Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics , Technical University of Ko\u0161ice , Letn\u00e1 9 , , Ko\u0161ice , Slovakia"}]}],"member":"374","published-online":{"date-parts":[[2021,1,13]]},"reference":[{"key":"2022020121510136153_j_comp-2020-0125_ref_001","doi-asserted-by":"crossref","unstructured":"Bloch J. How to design a good API and why it matters. In Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, OOPSLA \u201906, pages 506\u2013507. ACM, 2006.","DOI":"10.1145\/1176617.1176622"},{"key":"2022020121510136153_j_comp-2020-0125_ref_002","doi-asserted-by":"crossref","unstructured":"Desai A., Gulwani S., Hingorani V., Jain N., Karkare A., Marron M., R S., and Roy S. Program synthesis using natural language. In Proceedings of the 38th International Conference on Software Engineering, ICSE \u201916, pages 345\u2013356. ACM, 2016.","DOI":"10.1145\/2884781.2884786"},{"key":"2022020121510136153_j_comp-2020-0125_ref_003","doi-asserted-by":"crossref","unstructured":"Freeman T. and Pfenning F. Refinement types for ML. In Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, PLDI \u201991, page 268\u2013277, New York, NY, USA, 1991. Association for Computing Machinery.","DOI":"10.1145\/113445.113468"},{"key":"2022020121510136153_j_comp-2020-0125_ref_004","doi-asserted-by":"crossref","unstructured":"Gulwani S. Dimensions in program synthesis. In Proceedings of the 12th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming, PPDP \u201910, pages 13\u201324. ACM, 2010.","DOI":"10.1145\/1836089.1836091"},{"key":"2022020121510136153_j_comp-2020-0125_ref_005","doi-asserted-by":"crossref","unstructured":"Gvero T. and Kuncak V. Synthesizing Java expressions from free-form queries. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2015, pages 416\u2013432. ACM, 2015.","DOI":"10.1145\/2814270.2814295"},{"key":"2022020121510136153_j_comp-2020-0125_ref_006","unstructured":"Hirzel M., Mandel L., Shinnar A., Simeon J., and Vaziri M. I can parse you: Grammars for dialogs. In 2nd Summit on Advances in Programming Languages (SNAPL 2017), volume 71 of LIPIcs, pages 6:1\u20136:15. Schloss Dagstuhl\u2013Leibniz-Zentrum fuer Informatik, 2017."},{"key":"2022020121510136153_j_comp-2020-0125_ref_007","doi-asserted-by":"crossref","unstructured":"Jaccard P. The distribution of the flora in the alpine zone. New Phytologist, 11(2):37\u201350, 1912.","DOI":"10.1111\/j.1469-8137.1912.tb05611.x"},{"key":"2022020121510136153_j_comp-2020-0125_ref_008","doi-asserted-by":"crossref","unstructured":"Kn\u00f6ll R., Gasiunas V., and Mezini M. Naturalistic types. In Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2011, pages 33\u201348. ACM, 2011.","DOI":"10.1145\/2048237.2048243"},{"key":"2022020121510136153_j_comp-2020-0125_ref_009","doi-asserted-by":"crossref","unstructured":"Landh\u00e4u\u00dfer M., Weigelt S., and Tichy W. F. NLCI: A natural language command interpreter. Automated Software Engineering, 24(4):839\u2013861, Dec. 2017.","DOI":"10.1007\/s10515-016-0202-1"},{"key":"2022020121510136153_j_comp-2020-0125_ref_010","doi-asserted-by":"crossref","unstructured":"Le V., Gulwani S., and Su Z. SmartSynth: Synthesizing smart-phone automation scripts from natural language. In Proceeding of the 11th Annual International Conference on Mobile Systems, Applications, and Services, MobiSys \u201913, pages 193\u2013206. ACM, 2013.","DOI":"10.1145\/2462456.2464443"},{"key":"2022020121510136153_j_comp-2020-0125_ref_011","doi-asserted-by":"crossref","unstructured":"Little G. and Miller R. C. Translating keyword commands into executable code. In Proceedings of the 19th Annual ACM Symposium on User Interface Software and Technology, UIST \u201906, pages 135\u2013144. ACM, 2006.","DOI":"10.1145\/1166253.1166275"},{"key":"2022020121510136153_j_comp-2020-0125_ref_012","doi-asserted-by":"crossref","unstructured":"Little G. and Miller R. C. Keyword programming in Java. In Proceedings of the 22nd IEEE\/ACM International Conference on Automated Software Engineering, ASE \u201907, pages 84\u201393. ACM, 2007.","DOI":"10.1145\/1321631.1321646"},{"key":"2022020121510136153_j_comp-2020-0125_ref_013","doi-asserted-by":"crossref","unstructured":"Lugosch L., Ravanelli M., Ignoto P., Tomar V. S., and Bengio Y. Speech model pre-training for end-to-end spoken language understanding. In Proceedings of Interspeech 2019, pages 814\u2013818. ISCA, 2019.","DOI":"10.21437\/Interspeech.2019-2396"},{"key":"2022020121510136153_j_comp-2020-0125_ref_014","doi-asserted-by":"crossref","unstructured":"Miller G. A. WordNet: A lexical database for English. Communications of the ACM, 38(11):39\u201341, Nov. 1995.","DOI":"10.1145\/219717.219748"},{"key":"2022020121510136153_j_comp-2020-0125_ref_015","doi-asserted-by":"crossref","unstructured":"Nguyen T., Rigby P. C., Nguyen A. T., Karanfil M., and Nguyen T. N. T2API: Synthesizing API code usage templates from english texts with statistical translation. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, pages 1013\u20131017. ACM, 2016.","DOI":"10.1145\/2950290.2983931"},{"key":"2022020121510136153_j_comp-2020-0125_ref_016","doi-asserted-by":"crossref","unstructured":"Nos\u00e1\u013e M., Sul\u00edr M., and Juh\u00e1r J. Source code annotations as formal languages. In 2015 Federated Conference on Computer Science and Information Systems (FedCSIS), pages 953\u2013964, 2015.","DOI":"10.15439\/2015F173"},{"key":"2022020121510136153_j_comp-2020-0125_ref_017","doi-asserted-by":"crossref","unstructured":"Porub\u00e4n J., Forg\u00e1\u010d M., and Sabo M. Annotation based parser generator. In 2009 International Multiconference on Computer Science and Information Technology, pages 707\u2013714, Oct. 2009.","DOI":"10.1109\/IMCSIT.2009.5352763"},{"key":"2022020121510136153_j_comp-2020-0125_ref_018","doi-asserted-by":"crossref","unstructured":"Pulido-Prieto O. and Ju\u00e1rez-Mart\u00ednez U. A survey of naturalistic programming technologies. ACM Computing Surveys, 50(5):70:1\u201370:35, Sept. 2017.","DOI":"10.1145\/3109481"},{"key":"2022020121510136153_j_comp-2020-0125_ref_019","doi-asserted-by":"crossref","unstructured":"Rogowski A. Industrially oriented voice control system. Robotics and Computer-Integrated Manufacturing, 28(3):303\u2013315, June 2012.","DOI":"10.1016\/j.rcim.2011.09.010"},{"key":"2022020121510136153_j_comp-2020-0125_ref_020","doi-asserted-by":"crossref","unstructured":"Stylos J. and Myers B. Mapping the space of API design decisions. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VLHCC \u201907, pages 50\u201360. IEEE Computer Society, 2007.","DOI":"10.1109\/VLHCC.2007.44"},{"key":"2022020121510136153_j_comp-2020-0125_ref_021","doi-asserted-by":"crossref","unstructured":"Sul\u00edr M., Ba\u010d\u00edkov\u00e1 M., Chodarev S., and Porub\u00e4n J. Visual augmentation of source code editors: A systematic mapping study. Journal of Visual Languages & Computing, 49:46\u201359, Dec. 2018.","DOI":"10.1016\/j.jvlc.2018.10.001"},{"key":"2022020121510136153_j_comp-2020-0125_ref_022","doi-asserted-by":"crossref","unstructured":"Sul\u00edr M. and Porub\u00e4n J. Designing voice-controllable APIs. In Proceedings of the IEEE 15th International Scientific Conference on Informatics, pages 393\u2013398. IEEE, 2019.","DOI":"10.1109\/Informatics47936.2019.9119302"},{"key":"2022020121510136153_j_comp-2020-0125_ref_023","doi-asserted-by":"crossref","unstructured":"Yaghmazadeh N., Wang Y., Dillig I., and Dillig T. SQLizer: Query synthesis from natural language. Proceedings of the ACM on Programming Languages, 1(OOPSLA):63:1\u201363:26, Oct. 2017.","DOI":"10.1145\/3133887"},{"key":"2022020121510136153_j_comp-2020-0125_ref_024","doi-asserted-by":"crossref","unstructured":"Zamanirad S., Benatallah B., Chai Barukh M., Casati F., and Rodriguez C. Programming bots by synthesizing natural language expressions into API invocations. In Proceedings of the 32Nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017, pages 832\u2013837. IEEE Press, 2017.","DOI":"10.1109\/ASE.2017.8115694"}],"container-title":["Open Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.degruyter.com\/view\/journals\/comp\/11\/1\/article-p135.xml","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0125\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0125\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,2,1]],"date-time":"2022-02-01T22:04:21Z","timestamp":1643753061000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0125\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,1]]},"references-count":24,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2021,1,13]]},"published-print":{"date-parts":[[2021,1,1]]}},"alternative-id":["10.1515\/comp-2020-0125"],"URL":"https:\/\/doi.org\/10.1515\/comp-2020-0125","relation":{},"ISSN":["2299-1093"],"issn-type":[{"value":"2299-1093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,1]]}}}