Matches in SemOpenAlex for { <https://semopenalex.org/work/W3161339029> ?p ?o ?g. }
- W3161339029 abstract "This paper explores the extent to which regular expressions (regexes) are portable across programming languages. Many languages offer similar regex syntaxes, and it would be natural to assume that regexes can be ported across language boundaries. But can regexes be copy/pasted across language boundaries while retaining their semantic and performance characteristics? In our survey of 158 professional software developers, most indicated that they re-use regexes across language boundaries and about half reported that they believe regexes are a universal language. We experimentally evaluated the riskiness of this practice using a novel regex corpus -- 537,806 regexes from 193,524 projects written in JavaScript, Java, PHP, Python, Ruby, Go, Perl, and Rust. Using our polyglot regex corpus, we explored the hitherto-unstudied regex portability problems: logic errors due to semantic differences, and security vulnerabilities due to performance differences. We report that developers' belief in a regex lingua franca is understandable but unfounded. Though most regexes compile across language boundaries, 15% exhibit semantic differences across languages and 10% exhibit performance differences across languages. We explained these differences using regex documentation, and further illuminate our findings by investigating regex engine implementations. Along the way we found bugs in the regex engines of JavaScript-V8, Python, Ruby, and Rust, and potential semantic and performance regex bugs in thousands of modules." @default.
- W3161339029 created "2021-05-24" @default.
- W3161339029 creator A5013948143 @default.
- W3161339029 creator A5039701716 @default.
- W3161339029 creator A5065310265 @default.
- W3161339029 creator A5068145628 @default.
- W3161339029 creator A5078891338 @default.
- W3161339029 date "2021-05-10" @default.
- W3161339029 modified "2023-09-27" @default.
- W3161339029 title "Why Aren't Regular Expressions a Lingua Franca? An Empirical Study on the Re-use and Portability of Regular Expressions" @default.
- W3161339029 cites W109452506 @default.
- W3161339029 cites W1475493299 @default.
- W3161339029 cites W171406816 @default.
- W3161339029 cites W1813069714 @default.
- W3161339029 cites W1934945143 @default.
- W3161339029 cites W1951734032 @default.
- W3161339029 cites W1973650376 @default.
- W3161339029 cites W1991079201 @default.
- W3161339029 cites W1996374694 @default.
- W3161339029 cites W1998753103 @default.
- W3161339029 cites W2007245320 @default.
- W3161339029 cites W2014755981 @default.
- W3161339029 cites W2015456006 @default.
- W3161339029 cites W2023925487 @default.
- W3161339029 cites W2039429335 @default.
- W3161339029 cites W2041190309 @default.
- W3161339029 cites W2056830820 @default.
- W3161339029 cites W2065031183 @default.
- W3161339029 cites W2084043558 @default.
- W3161339029 cites W2103260577 @default.
- W3161339029 cites W2114754963 @default.
- W3161339029 cites W2117867487 @default.
- W3161339029 cites W2132944054 @default.
- W3161339029 cites W2136279823 @default.
- W3161339029 cites W2139608544 @default.
- W3161339029 cites W2142074714 @default.
- W3161339029 cites W2149236908 @default.
- W3161339029 cites W2153887189 @default.
- W3161339029 cites W2154151876 @default.
- W3161339029 cites W2155760407 @default.
- W3161339029 cites W2157260510 @default.
- W3161339029 cites W2169264274 @default.
- W3161339029 cites W2169974813 @default.
- W3161339029 cites W2480448195 @default.
- W3161339029 cites W2481472254 @default.
- W3161339029 cites W2506796853 @default.
- W3161339029 cites W2545778708 @default.
- W3161339029 cites W2603401210 @default.
- W3161339029 cites W2605396795 @default.
- W3161339029 cites W2610548325 @default.
- W3161339029 cites W2628359750 @default.
- W3161339029 cites W2759023773 @default.
- W3161339029 cites W2760683747 @default.
- W3161339029 cites W2762844179 @default.
- W3161339029 cites W2767380523 @default.
- W3161339029 cites W2767914643 @default.
- W3161339029 cites W2775209903 @default.
- W3161339029 cites W2798388185 @default.
- W3161339029 cites W2806253293 @default.
- W3161339029 cites W2888047193 @default.
- W3161339029 cites W2889480272 @default.
- W3161339029 cites W2895703309 @default.
- W3161339029 cites W2898674000 @default.
- W3161339029 cites W2899462170 @default.
- W3161339029 cites W2922478741 @default.
- W3161339029 cites W2950694606 @default.
- W3161339029 cites W3105133011 @default.
- W3161339029 cites W3105535951 @default.
- W3161339029 cites W3150132563 @default.
- W3161339029 hasPublicationYear "2021" @default.
- W3161339029 type Work @default.
- W3161339029 sameAs 3161339029 @default.
- W3161339029 citedByCount "0" @default.
- W3161339029 crossrefType "posted-content" @default.
- W3161339029 hasAuthorship W3161339029A5013948143 @default.
- W3161339029 hasAuthorship W3161339029A5039701716 @default.
- W3161339029 hasAuthorship W3161339029A5065310265 @default.
- W3161339029 hasAuthorship W3161339029A5068145628 @default.
- W3161339029 hasAuthorship W3161339029A5078891338 @default.
- W3161339029 hasConcept C121329065 @default.
- W3161339029 hasConcept C154945302 @default.
- W3161339029 hasConcept C169590947 @default.
- W3161339029 hasConcept C199360897 @default.
- W3161339029 hasConcept C204321447 @default.
- W3161339029 hasConcept C41008148 @default.
- W3161339029 hasConcept C519991488 @default.
- W3161339029 hasConcept C544833334 @default.
- W3161339029 hasConcept C63000827 @default.
- W3161339029 hasConceptScore W3161339029C121329065 @default.
- W3161339029 hasConceptScore W3161339029C154945302 @default.
- W3161339029 hasConceptScore W3161339029C169590947 @default.
- W3161339029 hasConceptScore W3161339029C199360897 @default.
- W3161339029 hasConceptScore W3161339029C204321447 @default.
- W3161339029 hasConceptScore W3161339029C41008148 @default.
- W3161339029 hasConceptScore W3161339029C519991488 @default.
- W3161339029 hasConceptScore W3161339029C544833334 @default.
- W3161339029 hasConceptScore W3161339029C63000827 @default.
- W3161339029 hasLocation W31613390291 @default.
- W3161339029 hasOpenAccess W3161339029 @default.
- W3161339029 hasPrimaryLocation W31613390291 @default.