2010-09-05 57 views
10

是否有測量正則表達式代碼覆蓋率的工具?一個給定正則表達式和輸入字符串列表的工具,告訴你哪些部分的正則表達式被執行,並採取類似於語句覆蓋,分支覆蓋,條件覆蓋等的措施。正則表達式的代碼覆蓋工具?

我不在乎什麼語言或運行環境。

(更新:經過一些更多的思考,我意識到從一個正則表達式開始並生成各種範例非常容易。有一些工具可以執行此操作:http://research.microsoft.com/en-us/projects/rex/http://code.google.com/p/xeger/)。儘管如此,他們似乎並沒有試圖獲得全面覆蓋。他們只是通過DFA的隨機路徑。)

+1

如果這引起你的注意,你必須有一些正則表達式的doozies。他們有多大(長度)以及你在做什麼? (我有類似於語言前端的標記描述集,所以引起了我的注意)。 – 2010-09-05 13:58:22

+0

這出現在開放式人工創建的輸入文檔集上的啓發式語境中。在這些情況下很難對執行情況感到自信,所以我認爲任何能夠提高我的信心水平的東西都值得深入調查。 – 2010-09-05 15:32:14

+0

重新更新:您不想通過從正則表達式生成路徑來測試正則表達式。除了可以列舉通過正則表達式的路徑,我不會證明任何東西,我懷疑是否有任何不同意見。 – 2010-09-06 02:48:10

回答

1

Regex Buddy - 它允許你打開一個測試文件,並運行它對你的正則表達式,並顯示你匹配等。這是非常便宜的考慮它是多麼有用。

+0

我也會提出這個建議,但爲了調試,RegexBuddy給你一個「僅僅」視覺幫助(這是完美的調試正則表達式),並且由於這些調試樹可能長達數千和數千行(並且除了匹配或失敗所需的全部步驟之外不測量任何內容),所以我不確定這是他需要的。但絕對嘗試。 – 2010-09-05 04:38:46

+0

它看起來像一個有趣的工具,但是,可能不完全是我的意思。如果我沒有找到任何答案,我會回來看看。 – 2010-09-05 15:35:56

+0

如果你用正則表達式做任何事情,這可能就是你想要的東西。 – 2010-09-15 07:21:30

1

嘗試計劃「正則表達式教練」

+0

感謝您的指針。這是一個有趣的工具,但不會覆蓋,具體來說,就我可以在網站上看到的那樣。 – 2010-09-18 19:54:01

2

我也有興趣在測試中的正則表達式,並測量這些測試的正則表達式實現的覆蓋率。我還沒有找到現成的工具,但research paper間接測量了正則表達式測試覆蓋率,首先將正則表達式轉換爲Brics Automaton,然後從Brics自動機轉換爲XML表示形式,然後從該XML表示形式轉換爲ac#實現該自動機使用受Alekseykin啓發的技術。看起來這是一個自動化過程。我直接從一位論文作者那裏獲得這些信息,他也指示我去看project site。我還沒有嘗試過,但打算。也許有人可以打敗我並報告他們的發現。