{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,31]],"date-time":"2026-07-31T22:37:34Z","timestamp":1785537454727,"version":"3.56.0"},"reference-count":109,"publisher":"IEEE","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015,11]]},"DOI":"10.1109\/issre.2015.7381841","type":"proceedings-article","created":{"date-parts":[[2016,1,15]],"date-time":"2016-01-15T04:50:11Z","timestamp":1452833411000},"page":"484-495","source":"Crossref","is-referenced-by-count":3,"title":["Detecting latent cross-platform API violations"],"prefix":"10.1109","author":[{"given":"Jeff","family":"Rasley","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Eleni","family":"Gessiou","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tony","family":"Ohmann","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yuriy","family":"Brun","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Shriram","family":"Krishnamurthi","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Justin","family":"Cappos","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2001.989841"},{"key":"ref38","article-title":"getmyip fallback to using TCP for Windows Mobile","year":"0"},{"key":"ref33","article-title":"file names not case-sensitive?","year":"0"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1147\/sj.411.0089"},{"key":"ref31","article-title":"errno: ENOTCONN: Socket is not connected","year":"0","journal-title":"test\/net\/imap"},{"key":"ref30","first-page":"1","article-title":"Checking system rules using system-specific, programmer-written compiler extensions","author":"engler","year":"2000","journal-title":"OSDI"},{"key":"ref37","year":"0","journal-title":"Future repy library reference"},{"key":"ref36","article-title":"LWUIT: Write once, run anywhere (mobile) (hopefully)","author":"fruhlinger","year":"2008"},{"key":"ref35","year":"0","journal-title":"Found an interesting bug in libsoup on Windows"},{"key":"ref34","doi-asserted-by":"publisher","DOI":"10.1145\/1572272.1572294"},{"key":"ref28","year":"0","journal-title":"ECMAScript language specification"},{"key":"ref27","year":"0","journal-title":"Developers battle with over 100 different versions of android"},{"key":"ref29","year":"0","journal-title":"Test262 - ECMAScript"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609723"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985797"},{"key":"ref21","year":"0","journal-title":"Chrome developer tools Network panel"},{"key":"ref24","article-title":"Confusing error &#x201C;java.net.SocketException: Invalid argument&#x201D; for socket disconnection","year":"0"},{"key":"ref23","year":"0","journal-title":"Closing a socket from another thread doesn't generate IOException"},{"key":"ref101","article-title":"Why android upgrades take so long","year":"0"},{"key":"ref26","article-title":"Datagram (UDP) broadcasts fail with &#x201C;permission denied&#x201D; on platforms that require SO_BROADCAST to be set first","year":"0"},{"key":"ref100","year":"0","journal-title":"Web Metrics Size and Number of Resources"},{"key":"ref25","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-87603-8_13"},{"key":"ref50","author":"jacky","year":"2008","journal-title":"Model-based software testing and analysis with C"},{"key":"ref51","year":"0","journal-title":"Java API compliance checker &#x2013; ISP_RAS"},{"key":"ref59","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlap.2008.08.004"},{"key":"ref58","doi-asserted-by":"publisher","DOI":"10.1145\/359545.359563"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1109\/32.877845"},{"key":"ref56","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1986.6312924"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2014.29"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1145\/2377816.2377817"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869481"},{"key":"ref52","article-title":"JavaScript split bugs: Fixed!","year":"0"},{"key":"ref40","article-title":"Java: Write-Once, Debug Everywhere?","author":"gosling","year":"2008"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236382"},{"key":"ref3","year":"0","journal-title":"Alexa Top 500 Global Sites"},{"key":"ref6","author":"ball","year":"2011","journal-title":"A decade of software model checking with SLAM"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1109\/SECPRI.2002.1004368"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/945461.945462"},{"key":"ref49","article-title":"On mac \/ bsd sockets returned by accept inherit the parent's fd flags","year":"0"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/503272.503274"},{"key":"ref9","article-title":"Spying on components: A runtime verification technique","author":"barnett","year":"2001","journal-title":"Workshop on Specification and Verification of Component-Based Systems"},{"key":"ref46","year":"0","journal-title":"Strange behavior for socket timeout"},{"key":"ref45","year":"0","journal-title":"Issue with socket SO_REUSEADDR when a client is connected"},{"key":"ref48","year":"0","journal-title":"Socket timeout can cause file-like readline() method to lose data"},{"key":"ref47","article-title":"OSX broken poll testing doesn't work","year":"0"},{"key":"ref42","author":"herlihy","year":"2008","journal-title":"The Art of Multiprocessor Programming"},{"key":"ref41","article-title":"CDE: Using system call interposition to automatically create portable software packages","author":"guo","year":"2011","journal-title":"USENIX"},{"key":"ref44","year":"0","journal-title":"Internet explorer performance lab reliably measuring browser performance"},{"key":"ref43","year":"2001"},{"key":"ref73","year":"0"},{"key":"ref72","year":"0","journal-title":"Android Compatibility"},{"key":"ref71","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568300"},{"key":"ref70","article-title":"New &#x2013; SO_REUSEADDR should also set SO_REUSEPORT on FreeBSD UDP sockets","year":"0"},{"key":"ref76","article-title":"Ticket 426: z_testconcurrentopenconns.py fails on Mac 10.4 (Tiger)","year":"0"},{"key":"ref77","doi-asserted-by":"publisher","DOI":"10.1145\/1508244.1508249"},{"key":"ref74","year":"0"},{"key":"ref75","doi-asserted-by":"publisher","DOI":"10.1145\/566172.566182"},{"key":"ref78","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2005.1553582"},{"key":"ref79","article-title":"Pr_sockopt_reuseaddr functions differently on windows from on other oses","year":"0"},{"key":"ref60","article-title":"Cooperative Bug Isolation","volume":"4440","author":"liblit","year":"2007"},{"key":"ref62","article-title":"localecompare implementation differs","year":"0"},{"key":"ref61","first-page":"19","article-title":"WiDS checker: Combating bugs in distributed systems","author":"liu","year":"2007","journal-title":"NSDI"},{"key":"ref63","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168864"},{"key":"ref64","year":"0","journal-title":"Mac and Windows OS file\/folder naming rules"},{"key":"ref65","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.26"},{"key":"ref66","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2004.1317468"},{"key":"ref67","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985870"},{"key":"ref68","article-title":"ncat broadcast support?","year":"0"},{"key":"ref2","year":"0","journal-title":"Re listen socket \/ poll block"},{"key":"ref69","article-title":"net.listentcp succeeds twice on windows","year":"0"},{"key":"ref1","year":"0","journal-title":"ab &#x2014; Apache HTTP server benchmarking tool"},{"key":"ref109","first-page":"115","article-title":"NetCheck: Network diagnoses from blackbox traces","author":"zhuang","year":"2014","journal-title":"NSDI"},{"key":"ref95","year":"0","journal-title":"[Twisted-Python] ENOBUF and Twisted"},{"key":"ref108","doi-asserted-by":"publisher","DOI":"10.1145\/1007512.1007519"},{"key":"ref94","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294275"},{"key":"ref107","doi-asserted-by":"publisher","DOI":"10.1145\/1189256.1189259"},{"key":"ref93","article-title":"Tcpsocket#readline doesn't raise if the socket is #close'd in another thread","year":"0"},{"key":"ref106","first-page":"131","article-title":"EXPLODE: A lightweight, general system for finding serious storage system errors","author":"yang","year":"2006","journal-title":"OSDI"},{"key":"ref92","article-title":"TCPServer should not use SO_REUSEADDR in Cygwin port","year":"0"},{"key":"ref105","article-title":"ws2_32: getaddrinfo edge cases broken on OS X","year":"0"},{"key":"ref91","year":"0","journal-title":"Sun Java J2EE &#x2013; Compatibility & Java Verification"},{"key":"ref104","article-title":"Write-Once, Debug Everywhere","author":"wong","year":"2002"},{"key":"ref90","article-title":"Subversion problem with case sensitivity","year":"0"},{"key":"ref103","year":"0","journal-title":"Winsock programmer's FAQ articles The lame list"},{"key":"ref102","article-title":"Windows ntpd should secure UDP 123 with SO_EXCLUSIVEADDRUSE","year":"0"},{"key":"ref98","first-page":"117","article-title":"Flight data recorder: Monitoring persistent-state interactions to improve systems management","author":"verbowski","year":"2006","journal-title":"OSDI"},{"key":"ref99","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451130"},{"key":"ref96","year":"0","journal-title":"UDP error trapping on Cygwin"},{"key":"ref97","year":"0","journal-title":"Using SO_REUSEADDR and SO_EXCLUSIVEADDRUSE"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00041-9"},{"key":"ref11","volume":"6418","author":"barringer","year":"2010","journal-title":"Runtime Verification &#x2013; First International Conference RV 2010"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-24622-0_5"},{"key":"ref13","article-title":"Compliance testing for wrapper-based API migration","author":"bartolomei","year":"2012","journal-title":"ISSTA"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2011.25"},{"key":"ref15","year":"0","journal-title":"Cannot bind to default port after using connection and restarting"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/1866307.1866332"},{"key":"ref82","article-title":"shutdown() of non-connected socket should fail with ENOTCONN","year":"0"},{"key":"ref17","author":"chanezon","year":"2006","journal-title":"Write Once Run Anywhere the devil is in the details"},{"key":"ref81","article-title":"Security: SO_EXCLUSIVEADDRUSE should be enabled when binding to ports on Windows","year":"0"},{"key":"ref18","author":"charny","year":"2005","journal-title":"Write once run anywhere not working for phones"},{"key":"ref84","year":"0","journal-title":"socket &#x2013; linux socket interface"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1986024"},{"key":"ref83","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-16561-0_34"},{"key":"ref80","year":"0"},{"key":"ref89","year":"0","journal-title":"strace(1) &#x2013; Linux man page"},{"key":"ref85","article-title":"socket.shutdown documentation: on some platforms, closing one half closes the other half","year":"0"},{"key":"ref86","article-title":"SO_REUSEADDR broken on Windows","year":"0"},{"key":"ref87","article-title":"SO_REUSEADDR doesn't have the same semantics on Windows as on Unix","year":"0"},{"key":"ref88","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.09.040"}],"event":{"name":"2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE)","location":"Gaithersbury, MD, USA","start":{"date-parts":[[2015,11,2]]},"end":{"date-parts":[[2015,11,5]]}},"container-title":["2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/7374093\/7381793\/07381841.pdf?arnumber=7381841","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2017,3,24]],"date-time":"2017-03-24T21:19:38Z","timestamp":1490390378000},"score":1,"resource":{"primary":{"URL":"http:\/\/ieeexplore.ieee.org\/document\/7381841\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,11]]},"references-count":109,"URL":"https:\/\/doi.org\/10.1109\/issre.2015.7381841","relation":{},"subject":[],"published":{"date-parts":[[2015,11]]}}}