DC Field | Value | Language |
---|---|---|
dc.contributor.advisor | Kim, Moonzoo | - |
dc.contributor.advisor | 김문주 | - |
dc.contributor.author | Kwak, Taehoon | - |
dc.contributor.author | 곽태훈 | - |
dc.date.accessioned | 2017-03-29T02:39:53Z | - |
dc.date.available | 2017-03-29T02:39:53Z | - |
dc.date.issued | 2016 | - |
dc.identifier.uri | http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=649667&flag=dissertation | en_US |
dc.identifier.uri | http://hdl.handle.net/10203/221858 | - |
dc.description | 학위논문(석사) - 한국과학기술원 : 전산학부, 2016.2 ,[v, 36 p. :] | - |
dc.description.abstract | Programmers maintain and evolve their software in a variety of programming languages to take advantage of various control/data abstractions and legacy libraries. The programming language ecosystem has diversified over the last few decades, and non-trivial programs are likely to be written in more than a single language. Unfortunately, language interfaces such as Java Native Interface and Python/C are difficult to use correctly and the scope of fault localization goes beyond language boundaries, which makes debugging multilingual bugs challenging. Moreover, since existing fault localization techniques mostly focus on small-size monolingual programs, the techniques show low accuracy on localizing the fault of large-size multilingual programs. To overcome the aforementioned limitations, I propose a mutation-based fault localization technique for real-world multilingual programs. The key intuition behind the mutation-based approach is that mutation testing results will be largely different depending on whether mutation is on correct statement or mutation is on faulty statement. To improve the accuracy for locating multilingual bugs, I have developed and applied new mutation operators as well as conventional mutation operators. The evaluation of the proposed approach is performed on six non-trivial multilingual bugs which are obtained from bug repositories for real-world open-source projects, such as Eclipse SWT, SQLitejdbc, Java-gnome, and Azureus. The size of target projects is ranging from 6KLOC to 341KLOC. The result is promising in that the proposed technique identifies the faulty statements as the most suspicious statements for all six bugs. Even in the worst case a programmer can locate the faulty statement within 8 statements recommended by the proposed technique. Especially, I describe a detailed experiment result to suggest that mutation-based approach often provides the mutants which can be served as a hint to fix the multilingual bug. | - |
dc.language | eng | - |
dc.publisher | 한국과학기술원 | - |
dc.subject | Mutation-based Analysis | - |
dc.subject | Debugging | - |
dc.subject | Fault Localization | - |
dc.subject | Multilingual Programs | - |
dc.subject | Foreign Function Interface | - |
dc.subject | 프로그램 변이 기반 분석 | - |
dc.subject | 디버깅 | - |
dc.subject | 결함 위치 추정 | - |
dc.subject | 다중 언어 프로그램 | - |
dc.subject | 외부 함수 인터페이스 | - |
dc.title | Mutation-based debugging of real-world multilingual programs | - |
dc.title.alternative | 프로그램 변이를 이용한 실제 다중 언어 프로그램 디버깅 | - |
dc.type | Thesis(Master) | - |
dc.identifier.CNRN | 325007 | - |
dc.description.department | 한국과학기술원 :전산학부, | - |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.