Skip to content

Instantly share code, notes, and snippets.

@ddk50
Created March 4, 2012 04:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ddk50/1970698 to your computer and use it in GitHub Desktop.
Save ddk50/1970698 to your computer and use it in GitHub Desktop.
test
diff --git a/lib/getoptlong.rb b/lib/getoptlong.rb
index 259382e..ae96943 100644
--- a/lib/getoptlong.rb
+++ b/lib/getoptlong.rb
@@ -446,7 +446,8 @@ class GetoptLong
terminate
return nil
elsif @ordering == PERMUTE
- while 0 < ARGV.length && ARGV[0] !~ /^-./
+## while 0 < ARGV.length && ARGV[0] !~ /^-./ correct
+ while 0 < ARGV.length && ARGV[0] !~ /$-./
@non_option_arguments.push(ARGV.shift)
end
if ARGV.length == 0
本プログラムがバグの位置を正しく推定して、プログラマを補助でき
ているかどうかを確かめるため。3つのプログラムに対してバグを人為的に埋め込み
正しくバグの位置を推定することが可能かどうかを確かめた。
テストに使ったプログラムは次に示す3つのプログラムである。1つ目のプログラムは
筆者が開発した、入力された20までの整数に対して素数かどうかを判定するプログラ
ムである。2つ目のプログラムは、Ruby処理系に付属しているgetoptlongライブラリの
コードである。3つ目のプログラムは、こちらも、Ruby処理系に付属している
"=============passing case============="
Hello
"=============failing case============="
Missing dir argument (try --help)
"=============score============="
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:132 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:183 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:274 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:286 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:295 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:296 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:303 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:310 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:312 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:315 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:328 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:334 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:359 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:434 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:443 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:445 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:448 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:604 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:453 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:358 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:432 -- 0.0"
"test3.rb:54 -- 0.3068528194400547"
"test3.rb:44 -- 1.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/getoptlong.rb:450 -- 1.0039558788589757"
@ddk50
Copy link
Author

ddk50 commented Mar 4, 2012

diff --git a/lib/csv.rb b/lib/csv.rb
index 13f86ec..d0fe8f1 100644
--- a/lib/csv.rb
+++ b/lib/csv.rb
@@ -1926,7 +1926,8 @@ class CSV
end
else
# Regular ole unquoted field.

  •      csv << (part.empty? ? nil : part)
    
    +# csv << (part.empty? ? nil : part) ## collect
  •      csv << (part.empty? ? part : nil)
     end
    
    end

@ddk50
Copy link
Author

ddk50 commented Mar 4, 2012

require 'csv'
require 'bayesdebug'

arr_of_arrs = CSV.parse("CSV,data,String")

Bayse.passing_case_match("")
Bayse.failing_case_match("CSV,data,String")
Bayse.guess {|i|
p CSV.parse(i)
}

@ddk50
Copy link
Author

ddk50 commented Mar 4, 2012

"=============passing case============="
[]
"=============failing case============="
[[nil, nil, nil]]
"=============score============="
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1568 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2328 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2329 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1576 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2028 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2036 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2037 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2038 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1806 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1790 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2163 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1598 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2068 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2072 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2084 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2100 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2153 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1377 -- 0.0"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2047 -- 0.07213177477483101"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1816 -- 0.07213177477483101"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1833 -- 0.07213177477483101"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1954 -- 0.12509280256138822"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1857 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1956 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1959 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1862 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1877 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2054 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1936 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1951 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1938 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2059 -- 0.1931471805599453"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1851 -- 0.2652789553347764"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1791 -- 0.2652789553347764"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:2052 -- 0.2652789553347764"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1930 -- 0.6362943611198906"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1888 -- 0.6362943611198906"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1919 -- 0.6362943611198906"
"/home/kazushi/myruby-trunk/lib/ruby/1.9.1/csv.rb:1903 -- 0.6362943611198906"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment