{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:18:39Z","timestamp":1750306719836,"version":"3.41.0"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2014,8,4]],"date-time":"2014-08-04T00:00:00Z","timestamp":1407110400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Regional Development Fund of the European Union within the Innovative Economy Operational Program"},{"DOI":"10.13039\/501100001870","name":"Foundation For Polish Science","doi-asserted-by":"publisher","award":["HOMING PLUS\/2010-2\/4"],"award-info":[{"award-number":["HOMING PLUS\/2010-2\/4"]}],"id":[{"id":"10.13039\/501100001870","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004281","name":"Narodowe Centrum Nauki","doi-asserted-by":"publisher","award":["DEC-2012\/05\/D\/ST6\/03582"],"award-info":[{"award-number":["DEC-2012\/05\/D\/ST6\/03582"]}],"id":[{"id":"10.13039\/501100004281","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Sen. Netw."],"published-print":{"date-parts":[[2015,3,2]]},"abstract":"<jats:p>\n            Unit testing, an important facet of software quality assurance, is underappreciated by wireless sensor network (sensornet) developers. This is likely because our tools lag behind the rest of the computing field. As a remedy, we present a new framework that enables modern unit testing techniques in sensornets. Although the framework takes a holistic approach to unit testing, its novelty lies mainly in two aspects. First, to boost test development, it introduces\n            <jats:italic>embedded mock modules<\/jats:italic>\n            that automatically abstract out dependencies of tested code. Second, to automate test assessment, it provides\n            <jats:italic>embedded code coverage tools<\/jats:italic>\n            that identify untested control flow paths in the code. We demonstrate that in sensornets these features pose unique problems, solving which requires dedicated support from the compiler and operating system. However, the solutions have the potential to offer substantial benefits. In particular, they reduce the unit test development effort by a few factors compared to existing solutions. At the same time, they facilitate obtaining full code coverage, compared to merely 57--72% that can be achieved with integration tests. They also allow for intercepting and reporting many classes of runtime failures, thereby simplifying the diagnosis of software flaws. Finally, they enable fine-grained management of the quality of sensornet software.\n          <\/jats:p>","DOI":"10.1145\/2629422","type":"journal-article","created":{"date-parts":[[2014,11,18]],"date-time":"2014-11-18T14:21:03Z","timestamp":1416320463000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Bringing Modern Unit Testing Techniques to Sensornets"],"prefix":"10.1145","volume":"11","author":[{"given":"Konrad","family":"Iwanicki","sequence":"first","affiliation":[{"name":"University of Warsaw, Warszawa, Poland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Przemyslaw","family":"Horban","sequence":"additional","affiliation":[{"name":"University of Warsaw"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Piotr","family":"Glazar","sequence":"additional","affiliation":[{"name":"University of Warsaw"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Karol","family":"Strzelecki","sequence":"additional","affiliation":[{"name":"University of Warsaw"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,8,4]]},"reference":[{"volume-title":"Proceedings of the International Conference on Embedded Systems and Applications (ESA'03)","author":"Akhmetshina E.","key":"e_1_2_1_1_1","unstructured":"E. Akhmetshina , Pawel Gburzynski , and Frederick S. Vizeacoumar . 2003. PicOS: A tiny operating system for extremely small embedded platforms . In Proceedings of the International Conference on Embedded Systems and Applications (ESA'03) . 116--122. E. Akhmetshina, Pawel Gburzynski, and Frederick S. Vizeacoumar. 2003. PicOS: A tiny operating system for extremely small embedded platforms. In Proceedings of the International Conference on Embedded Systems and Applications (ESA'03). 116--122."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236382"},{"volume-title":"Test-Driven Development: A Practical Guide","author":"Astels David","key":"e_1_2_1_3_1","unstructured":"David Astels . 2003. Test-Driven Development: A Practical Guide . Prentice Hall . David Astels. 2003. Test-Driven Development: A Practical Guide. Prentice Hall."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1460412.1460418"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.796139"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the ACM Workshop on Real-World Wireless Sensor Networks (REALWSN'06)","author":"Burri Nicolas","year":"2006","unstructured":"Nicolas Burri , Roland Schuler , and Roger Wattenhofer . 2006 . YETI: A TinyOS plug-in for eclipse . In Proceedings of the ACM Workshop on Real-World Wireless Sensor Networks (REALWSN'06) . Nicolas Burri, Roland Schuler, and Roger Wattenhofer. 2006. YETI: A TinyOS plug-in for eclipse. In Proceedings of the ACM Workshop on Real-World Wireless Sensor Networks (REALWSN'06)."},{"volume-title":"Proceedings of the 16th European Symposium on Programming (ESOP'07)","author":"Condit Jeremy","key":"e_1_2_1_7_1","unstructured":"Jeremy Condit , Matthew Harren , Zachary Anderson , David Gay , and George C. Necula . 2007. Dependent types for low-level programming . In Proceedings of the 16th European Symposium on Programming (ESOP'07) . 520--535. Jeremy Condit, Matthew Harren, Zachary Anderson, David Gay, and George C. Necula. 2007. Dependent types for low-level programming. In Proceedings of the 16th European Symposium on Programming (ESOP'07). 520--535."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1322263.1322283"},{"key":"e_1_2_1_9_1","unstructured":"Mark Doliner. 2006. Cobertura Homepage. Retrieved from http:\/\/cobertura.sourceforge.net\/.  Mark Doliner. 2006. Cobertura Homepage. Retrieved from http:\/\/cobertura.sourceforge.net\/."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCN.2004.38"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127777.1127838"},{"key":"e_1_2_1_12_1","unstructured":"Szczepan Faber. 2008. Mockito homepage. online: http:\/\/code.google.com\/p\/mockito\/. (2008).  Szczepan Faber. 2008. Mockito homepage. online: http:\/\/code.google.com\/p\/mockito\/. (2008)."},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the 6th ACM Workshop on Hot Topics in Networks (HotNets-VI).","author":"Fonseca Rodrigo","year":"2007","unstructured":"Rodrigo Fonseca , Omprakash Gnawali , Kyle Jamieson , and Philip Levis . 2007 . Four-Bit wireless link estimation . In Proceedings of the 6th ACM Workshop on Hot Topics in Networks (HotNets-VI). Retrieved from http:\/\/conferences.sigcomm.org\/hotnets\/2007\/papers\/hotnets6-final131.pdf. Rodrigo Fonseca, Omprakash Gnawali, Kyle Jamieson, and Philip Levis. 2007. Four-Bit wireless link estimation. In Proceedings of the 6th ACM Workshop on Hot Topics in Networks (HotNets-VI). Retrieved from http:\/\/conferences.sigcomm.org\/hotnets\/2007\/papers\/hotnets6-final131.pdf."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028664.1028765"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1274858.1274860"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644040"},{"key":"e_1_2_1_18_1","unstructured":"Google. 2008. Googlemock Homepage. Retrieved from http:\/\/code.google.com\/p\/googlemock\/.  Google. 2008. Googlemock Homepage. Retrieved from http:\/\/code.google.com\/p\/googlemock\/."},{"volume-title":"An Introduction to GCC: For the GNU compilers gcc and g&plus;&plus;","author":"Gough Brian J.","key":"e_1_2_1_19_1","unstructured":"Brian J. Gough . 2004. An Introduction to GCC: For the GNU compilers gcc and g&plus;&plus; . Network Theory Ltd ., Chapter 10.3. Brian J. Gough. 2004. An Introduction to GCC: For the GNU compilers gcc and g&plus;&plus;. Network Theory Ltd., Chapter 10.3."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/DCOSS.2014.8"},{"key":"e_1_2_1_22_1","volume-title":"OTM 2007 Workshops: Proceedings of the 2nd Workshop on Pervasive Systems (PerSys). Springer-Verlag, 845--855","author":"Iwanicki Konrad","year":"2007","unstructured":"Konrad Iwanicki and Maarten van Steen . 2007 . Towards a versatile problem diagnosis infrastructure for large wireless sensor networks . In OTM 2007 Workshops: Proceedings of the 2nd Workshop on Pervasive Systems (PerSys). Springer-Verlag, 845--855 . DOI:http:\/\/dx.doi.org\/10.1007\/978-3-540-76890-6_10 10.1007\/978-3-540-76890-6_10 Konrad Iwanicki and Maarten van Steen. 2007. Towards a versatile problem diagnosis infrastructure for large wireless sensor networks. In OTM 2007 Workshops: Proceedings of the 2nd Workshop on Pervasive Systems (PerSys). Springer-Verlag, 845--855. DOI:http:\/\/dx.doi.org\/10.1007\/978-3-540-76890-6_10"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPSN.2008.62"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098926"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/1898953.1899108"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/958491.958506"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1791212.1791234"},{"key":"e_1_2_1_30_1","unstructured":"David Moss. 2007. TUnit Documentation. Retrieved from http:\/\/docs.tinyos.net\/tinywiki\/index.php\/TUnit.  David Moss. 2007. TUnit Documentation. Retrieved from http:\/\/docs.tinyos.net\/tinywiki\/index.php\/TUnit."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/647478.727796"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1809111.1809123"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCN.2006.322172"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-04651-8_1"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1002\/nem.570"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 8th ACM\/IEEE International Conference on Information Processing in Sensor Networks (IPSN'09)","author":"Romer Kay","year":"2009","unstructured":"Kay Romer and Junyan Ma . 2009 . PDA: Passive distributed assertions for sensor networks . In Proceedings of the 8th ACM\/IEEE International Conference on Information Processing in Sensor Networks (IPSN'09) . San Francisco, CA, 337--348. Kay Romer and Junyan Ma. 2009. PDA: Passive distributed assertions for sensor networks. In Proceedings of the 8th ACM\/IEEE International Conference on Information Processing in Sensor Networks (IPSN'09). San Francisco, CA, 337--348."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1791212.1791235"},{"key":"e_1_2_1_38_1","volume-title":"Agile Software Development with Scrum","author":"Schwaber Ken","unstructured":"Ken Schwaber and Mike Beedle . 2001. Agile Software Development with Scrum ( 1 st ed.). Prentice Hall . Ken Schwaber and Mike Beedle. 2001. Agile Software Development with Scrum (1st ed.). Prentice Hall.","edition":"1"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/1147685.1147768"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1109\/EWSN.2005.1462004"},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI'06)","author":"Werner-Allen Geoff","year":"2006","unstructured":"Geoff Werner-Allen , Konrad Lorincz , Jeff Johnson , Jonathan Lees , and Matt Welsh . 2006 . Fidelity and yield in a volcano monitoring sensor network . In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI'06) . Seattle, WA, 381--396. http:\/\/www.usenix.org\/events\/osdi06\/tech\/werner-allen.html Geoff Werner-Allen, Konrad Lorincz, Jeff Johnson, Jonathan Lees, and Matt Welsh. 2006. Fidelity and yield in a volcano monitoring sensor network. In Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI'06). Seattle, WA, 381--396. http:\/\/www.usenix.org\/events\/osdi06\/tech\/werner-allen.html"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/1147685.1147769"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127777.1127840"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1322263.1322282"}],"container-title":["ACM Transactions on Sensor Networks"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629422","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2629422","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:19:30Z","timestamp":1750231170000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629422"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,8,4]]},"references-count":41,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2015,3,2]]}},"alternative-id":["10.1145\/2629422"],"URL":"https:\/\/doi.org\/10.1145\/2629422","relation":{},"ISSN":["1550-4859","1550-4867"],"issn-type":[{"type":"print","value":"1550-4859"},{"type":"electronic","value":"1550-4867"}],"subject":[],"published":{"date-parts":[[2014,8,4]]},"assertion":[{"value":"2013-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-08-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}