DOI QR코드

DOI QR Code

An Empirical Study of Diversity and Interoperability of Programming Languages

프로그래밍 언어의 다원성과 상호운영성의 실증적 분석

  • 고봉석 (광주과학기술원 전기전자컴퓨터공학부) ;
  • 이병철 (광주과학기술원 전기전자컴퓨터공학부)
  • Received : 2016.10.07
  • Accepted : 2017.01.23
  • Published : 2017.05.15

Abstract

Programmers use multiple languages to reuse legacy code best suited to their problems. However, it is quite challenging to develop error-free multilingual programs because new types of bugs occur since misunderstanding about language interfaces such as Java Native Interface (JNI) and Python/C. There is a considerable amount of research to overcome multilingual program bugs and errors but these researches have less consideration about substantiality of programming languages, language interfaces, and bugs to evaluate their analyses and tools. In this paper, we have identified and establish substantiality of multilingual programming research with empirical study about diversity and interoperability of programming languages in Ubuntu software ecosystem based on real-world statistical data.

둘 이상의 프로그래밍 언어로 상호 작용하는 프로그램을 작성하고 사용하는 경우가 증가하고 있으나 그 무결점성을 확보하기는 어렵다. 프로그램 오류의 원인과 결과가 서로 다른 언어의 코드와 데이터에 존재할 경우 오류 제거의 난이도가 높아지고 Java Native Interface(JNI) 및 Python/C와 같은 프로그램 언어 인터페이스를 잘못 사용하여 새로운 종류의 프로그램 오류가 발생하기 때문이다. 프로그램 언어 상호 작용 오류를 해결하기 위한 프로그램 분석 기법과 도구가 활발히 연구 개발되었으나 이들을 평가하기 위한 프로그램 언어, 프로그램 언어 인터페이스 및 오류들의 실재성에 대한 고찰이 부족한 상황이다. 본 논문에서는 적지 않은 사용자를 가지는 우분투 소프트웨어 생태계 내에서 프로그래밍 언어의 다원성과 상호운영성을 실증적으로 조사하여 다중 언어 프로그래밍 연구의 실재성과 연구의 타당성을 실제 데이터 기반으로 확립하고자 한다.

Keywords

Acknowledgement

Supported by : 한국연구재단, 정보통신기술진흥센터

References

  1. Furr M, Foster JS, Checking type safety of foreign function calls, ACM Programming Language Design and Implementation (PLDI), pp. 62-72, 2005.
  2. Lee B, Wiedermann B, Hirzel M, Grimm R, McKinley KS. Jinn, synthesizing dynamic bug detectors for foreign language interfaces, ACM Programming Language Design and Implementation (PLDI), pp. 36-49, 2010.
  3. Shin Hong, Byeongcheol Lee, Taehoon Kwak, Yiru Jeon, Bongsuk Ko, Yunho Kim, Moonzoo Kim, Mutation-Based Fault Localization for Real-World Multilingual Programs. Automated Software Engineering (ASE), 2015.
  4. Leo A. Meyerovich, Ariel Rabkin, Empirical Analysis of Programming Language Adoption, OOPSLA, 1-18, 2013.
  5. Ubuntu Official Hompage, [Online]. Available: www.ubuntu.com (accessed April 15, 2016).
  6. Python-APT Library, [Online]. Available: http://apt.alioth.debian.org/python-apt-doc/library/index.html (accessed April 15, 2016).
  7. David A. Wheeler(2004), "SLOCCount User's Guide," [Online]. Available: http://www.dwheeler.com/sloccount/sloccount.html (accessed April 15, 2016).
  8. Piotr P. Graczyk. Gini Coefficient, A New Way To Express Selectivity of Kinase Inhibitors against a Family of Kinases, Journal of Medical chemistry, 5773-5779, 2007.