Statistical Debugging of Programs written in Dynamic Programming Language : RUBY

Debugging is an important and critical phase during the software development process. Software debugging is serious and tough practice involved in functional base test driven development. Software vendors encourages their programmers to practice test driven development during the initial development...

Full description

Bibliographic Details
Main Authors: Akhter, Adeel, Azhar, Hassan
Format: Others
Language:English
Published: Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation 2010
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:bth-1993
id ndltd-UPSALLA1-oai-DiVA.org-bth-1993
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-bth-19932018-01-12T05:13:47ZStatistical Debugging of Programs written in Dynamic Programming Language : RUBYengStatistisk Debugging av program skrivna i dynamiskt programmeringsspråk : RUBYAkhter, AdeelAzhar, HassanBlekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikationBlekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation2010Statistical DebuggingFault LocalizationPredicates ProfilingSOBERCause Isolation SchemeDynamic predicate evaluationSoftware EngineeringProgramvaruteknikDebugging is an important and critical phase during the software development process. Software debugging is serious and tough practice involved in functional base test driven development. Software vendors encourages their programmers to practice test driven development during the initial development phases to capture the bug traces and the associated code coverage infected from diagnosed bugs. Application’s source code with fewer threats of bug existence or faulty executions is assumed as highly efficient and stable especially when real time software products are in consideration. Due to the fact that process of development of software projects relies on great number of users and testers which required having an effective fault localization technique. This specific fault localization technique can highlight the most critical areas of software system at code as well as modular level so that debugging algorithm can be used to debug the application source code. Nowadays many complex or simple software systems are in corporation with open bug repositories to localize the bugs. Any inconsistency or imperfection in early development phase of software product results in low efficient system and less reliability. Statistical debugging of program source code for visualization of fault is an important and efficient way to select and rank the suspicious lines of code. This research provides guidelines for practicing statistical debugging technique for programs coded in Ruby programming language. This thesis presents statistical debugging techniques available for dynamic programming languages. Firstly, the statistical debugging techniques were thoroughly observed with different predicate base approaches followed in previous work done in the subject area. Secondly, the new process of statistical debugging for programs coded in Ruby programming language is introduced by generating dynamic predicates. Results were analyzed by implementing multiple programs written in Ruby programming language with different complexity level. The analysis of experimentation performed on candidate programs depict that SOBER is more efficient and accurate in bug identification than Cause Isolation Scheme. It is concluded that despite of extensive research in the field of statistical debugging and fault localization it is not possible to identify majority of the bugs. Moreover SOBER and Cause Isolation Scheme algorithms are found to be two most mature and effective statistical debugging algorithms for bug identification with in software source code. Address: School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden Phone: +46-(0)455-385804 Fax: +46-(0)455-385057Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:bth-1993Local oai:bth.se:arkivex7BADA7D3F74C2CA1C12578450051F046application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Statistical Debugging
Fault Localization
Predicates Profiling
SOBER
Cause Isolation Scheme
Dynamic predicate evaluation
Software Engineering
Programvaruteknik
spellingShingle Statistical Debugging
Fault Localization
Predicates Profiling
SOBER
Cause Isolation Scheme
Dynamic predicate evaluation
Software Engineering
Programvaruteknik
Akhter, Adeel
Azhar, Hassan
Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
description Debugging is an important and critical phase during the software development process. Software debugging is serious and tough practice involved in functional base test driven development. Software vendors encourages their programmers to practice test driven development during the initial development phases to capture the bug traces and the associated code coverage infected from diagnosed bugs. Application’s source code with fewer threats of bug existence or faulty executions is assumed as highly efficient and stable especially when real time software products are in consideration. Due to the fact that process of development of software projects relies on great number of users and testers which required having an effective fault localization technique. This specific fault localization technique can highlight the most critical areas of software system at code as well as modular level so that debugging algorithm can be used to debug the application source code. Nowadays many complex or simple software systems are in corporation with open bug repositories to localize the bugs. Any inconsistency or imperfection in early development phase of software product results in low efficient system and less reliability. Statistical debugging of program source code for visualization of fault is an important and efficient way to select and rank the suspicious lines of code. This research provides guidelines for practicing statistical debugging technique for programs coded in Ruby programming language. This thesis presents statistical debugging techniques available for dynamic programming languages. Firstly, the statistical debugging techniques were thoroughly observed with different predicate base approaches followed in previous work done in the subject area. Secondly, the new process of statistical debugging for programs coded in Ruby programming language is introduced by generating dynamic predicates. Results were analyzed by implementing multiple programs written in Ruby programming language with different complexity level. The analysis of experimentation performed on candidate programs depict that SOBER is more efficient and accurate in bug identification than Cause Isolation Scheme. It is concluded that despite of extensive research in the field of statistical debugging and fault localization it is not possible to identify majority of the bugs. Moreover SOBER and Cause Isolation Scheme algorithms are found to be two most mature and effective statistical debugging algorithms for bug identification with in software source code. === Address: School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden Phone: +46-(0)455-385804 Fax: +46-(0)455-385057
author Akhter, Adeel
Azhar, Hassan
author_facet Akhter, Adeel
Azhar, Hassan
author_sort Akhter, Adeel
title Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
title_short Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
title_full Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
title_fullStr Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
title_full_unstemmed Statistical Debugging of Programs written in Dynamic Programming Language : RUBY
title_sort statistical debugging of programs written in dynamic programming language : ruby
publisher Blekinge Tekniska Högskola, Sektionen för datavetenskap och kommunikation
publishDate 2010
url http://urn.kb.se/resolve?urn=urn:nbn:se:bth-1993
work_keys_str_mv AT akhteradeel statisticaldebuggingofprogramswrittenindynamicprogramminglanguageruby
AT azharhassan statisticaldebuggingofprogramswrittenindynamicprogramminglanguageruby
AT akhteradeel statistiskdebuggingavprogramskrivnaidynamisktprogrammeringssprakruby
AT azharhassan statistiskdebuggingavprogramskrivnaidynamisktprogrammeringssprakruby
_version_ 1718606693052448768