{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T19:30:06Z","timestamp":1750188606155,"version":"3.40.3"},"publisher-location":"Cham","reference-count":42,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031353543"},{"type":"electronic","value":"9783031353550"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-35355-0_1","type":"book-chapter","created":{"date-parts":[[2023,6,9]],"date-time":"2023-06-09T18:03:11Z","timestamp":1686333791000},"page":"3-20","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["An Experimental Evaluation of\u00a0Tools for\u00a0Grading Concurrent Programming Exercises"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-7855-5235","authenticated-orcid":false,"given":"Manuel","family":"Barros","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0009-0007-4256-5295","authenticated-orcid":false,"given":"Maria","family":"Ramos","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0009-0005-6131-7647","authenticated-orcid":false,"given":"Alexandre","family":"Gomes","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2714-8027","authenticated-orcid":false,"given":"Alcino","family":"Cunha","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3341-9217","authenticated-orcid":false,"given":"Jos\u00e9","family":"Pereira","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7000-0485","authenticated-orcid":false,"given":"Paulo S\u00e9rgio","family":"Almeida","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,6,10]]},"reference":[{"key":"1_CR1","unstructured":"Codeboard. https:\/\/codeboard.io\/. Accessed 30 Apr 2023"},{"key":"1_CR2","unstructured":"Deadlock not being detected. https:\/\/groups.google.com\/g\/java-pathfinder\/c\/rzkaeuNDZCY. Accessed 04 Jan 2023"},{"key":"1_CR3","unstructured":"Dl-Check. https:\/\/github.com\/devexperts\/dlcheck. Accessed 02 Jan 2023"},{"key":"1_CR4","unstructured":"Google groups thread: java.lang.error: java.lang.nosuchfieldexception: tid. https:\/\/groups.google.com\/g\/java-pathfinder\/c\/t1n73xdyrFI. Accessed 29 April 2023"},{"key":"1_CR5","unstructured":"JaDA. http:\/\/jada.cs.unibo.it\/demo.html. Accessed 30 Apr 2023"},{"key":"1_CR6","unstructured":"Java Pathfinder. https:\/\/github.com\/javapathfinder\/jpf-core"},{"key":"1_CR7","unstructured":"Java Pathfinder (master branch). https:\/\/github.com\/javapathfinder\/jpf-core\/tree\/45a4450cd0bd1193df5419f7c9d9b89807d00db6. Accessed 04 Jan 2023"},{"key":"1_CR8","unstructured":"JCarder. http:\/\/www.jcarder.org\/download.html. Accessed 30 Apr 2023"},{"key":"1_CR9","unstructured":"JUnit. https:\/\/junit.org\/junit5\/. Accessed 30 Apr 2023"},{"key":"1_CR10","unstructured":"RV-Predict. https:\/\/runtimeverification.com\/predict\/. Accessed 30 Apr 2023"},{"key":"1_CR11","unstructured":"ThreadSafe. http:\/\/www.contemplateltd.com\/. Accessed 27 Dec 2022"},{"key":"1_CR12","unstructured":"Visual Threads. http:\/\/www.unix.digital.com\/visualthreads\/index.html. Accessed 30 Apr 2023"},{"key":"1_CR13","unstructured":"White box testing techniques, tools and advantages \u2013 a quick guide (2022). https:\/\/www.xenonstack.com\/insights\/what-is-white-box-testing. Accessed 03 Jan 2023"},{"key":"1_CR14","doi-asserted-by":"publisher","unstructured":"Blackshear, S., Gorogiannis, N., O\u2019Hearn, P., Sergey, I.: RacerD: compositional static race detection. In: Proceedings of the ACM Conference on Programming Languages 2(OOPSLA), pp. 1\u201328 (2018). https:\/\/doi.org\/10.1145\/3276514","DOI":"10.1145\/3276514"},{"key":"1_CR15","doi-asserted-by":"publisher","unstructured":"Cai, Y., Wu, S., Chan, W.: ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs. In: Proceedings of the 36th International Conference on Software Engineering, pp. 491\u2013502. ACM (2014). https:\/\/doi.org\/10.1145\/2568225.2568312","DOI":"10.1145\/2568225.2568312"},{"key":"1_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1007\/978-3-319-17524-9_1","volume-title":"NASA Formal Methods","author":"C Calcagno","year":"2015","unstructured":"Calcagno, C., et al.: Moving fast with software verification. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 3\u201311. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-17524-9_1"},{"key":"1_CR17","doi-asserted-by":"publisher","unstructured":"Elmas, T., Qadeer, S., Tasiran, S.: Goldilocks: a race-aware Java runtime. Commun. ACM 53, 85\u201392 (2010). https:\/\/doi.org\/10.1145\/1839676.1839698","DOI":"10.1145\/1839676.1839698"},{"key":"1_CR18","doi-asserted-by":"publisher","unstructured":"Engler, D., Ashcraft, K.: RacerX: effective, static detection of race conditions and deadlocks. In: Proceedings of the19th ACM Symposium on Operating Systems Principles, pp. 237\u2013252. ACM (2003). https:\/\/doi.org\/10.1145\/945445.945468","DOI":"10.1145\/945445.945468"},{"key":"1_CR19","unstructured":"Erickson, J., Musuvathi, M., Burckhardt, S., Olynyk, K.: Effective data-race detection for the kernel, pp. 151\u2013162 (2010)"},{"key":"1_CR20","doi-asserted-by":"publisher","unstructured":"Eslamimehr, M., Palsberg, J.: Sherlock: scalable deadlock detection for concurrent programs. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 353\u2013365. FSE 2014, Computing Machinery (2014). https:\/\/doi.org\/10.1145\/2635868.2635918","DOI":"10.1145\/2635868.2635918"},{"key":"1_CR21","doi-asserted-by":"publisher","unstructured":"Flanagan, C., Leino, K., Lillibridge, M., Nelson, G., Saxe, J., Stata, R.: Extended static checking for Java. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, pp. 234\u2013245. ACM (2002). https:\/\/doi.org\/10.1145\/512529.512558","DOI":"10.1145\/512529.512558"},{"key":"1_CR22","doi-asserted-by":"publisher","unstructured":"Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. SIGPLAN Not. 44(6), 121\u2013133 (2009). https:\/\/doi.org\/10.1145\/1543135.1542490","DOI":"10.1145\/1543135.1542490"},{"key":"1_CR23","doi-asserted-by":"publisher","unstructured":"Gao, J., Yang, X., Jiang, Y., Liu, H., Ying, W., Zhang, X.: Jbench: a dataset of data races for concurrency testing. In: Proceedinsg of the 15th IEEE\/ACM 15th International Conference on Mining Software Repositories, pp. 6\u20139. ACM (2018). https:\/\/doi.org\/10.1145\/3196398.3196451","DOI":"10.1145\/3196398.3196451"},{"issue":"3","key":"1_CR24","doi-asserted-by":"publisher","first-page":"179","DOI":"10.1145\/356603.356607","volume":"4","author":"R Holt","year":"1972","unstructured":"Holt, R.: Some deadlock properties of computer systems. ACM Comput. Surv. 4(3), 179\u2013196 (1972). https:\/\/doi.org\/10.1145\/356603.356607","journal-title":"ACM Comput. Surv."},{"key":"1_CR25","doi-asserted-by":"crossref","unstructured":"Holzmann, G.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley Professional, Boston (2011)","DOI":"10.1007\/978-3-642-31759-0_12"},{"key":"1_CR26","doi-asserted-by":"publisher","unstructured":"Huang, J., Meredith, P., Ro\u015fu, G.: Maximal sound predictive race detection with control flow abstraction. In: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 337\u2013348. ACM (2014). https:\/\/doi.org\/10.1145\/2666356.2594315","DOI":"10.1145\/2666356.2594315"},{"key":"1_CR27","doi-asserted-by":"publisher","unstructured":"Huang, J., Zhang, C.: Persuasive prediction of concurrency access anomalies. In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, pp. 144\u2013154. ISSTA 2011. Association for Computing Machinery (2011). https:\/\/doi.org\/10.1145\/2001420.2001438","DOI":"10.1145\/2001420.2001438"},{"key":"1_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"675","DOI":"10.1007\/978-3-642-02658-4_54","volume-title":"Computer Aided Verification","author":"P Joshi","year":"2009","unstructured":"Joshi, P., Naik, M., Park, C.-S., Sen, K.: CalFuzzer: an extensible active testing framework for concurrent programs. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 675\u2013681. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-02658-4_54"},{"key":"1_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"36","DOI":"10.1007\/978-3-642-03466-4_2","volume-title":"Theoretical Aspects of Computing","author":"L Lamport","year":"2009","unstructured":"Lamport, L.: The PlusCal algorithm language. In: Leucker, M., Morgan, C. (eds.) ICTAC 2009. LNCS, vol. 5684, pp. 36\u201360. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-03466-4_2"},{"key":"1_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1007\/978-3-642-12029-9_23","volume-title":"Fundamental Approaches to Software Engineering","author":"Q Luo","year":"2010","unstructured":"Luo, Q., Zhang, S., Zhao, J., Hu, M.: A lightweight and portable approach to making concurrent failures reproducible. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 323\u2013337. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-12029-9_23"},{"key":"1_CR31","doi-asserted-by":"publisher","unstructured":"Marino, D., Musuvathi, M., Narayanasamy, S.: LiteRace: effective sampling for lightweight data-race detection. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 134\u2013143. PLDI 2009. Association for Computing Machinery (2009). https:\/\/doi.org\/10.1145\/1542476.1542491","DOI":"10.1145\/1542476.1542491"},{"key":"1_CR32","doi-asserted-by":"publisher","unstructured":"Melo, S., Souza, S., Silva, R., Souza, P.: Concurrent software testing in practice: a catalog of tools. In: Proceedings of the 6th International Workshop on Automating Test Case Design, Selection and Evaluation, pp. 31\u201340. ACM (2015). https:\/\/doi.org\/10.1145\/2804322.2804328","DOI":"10.1145\/2804322.2804328"},{"key":"1_CR33","doi-asserted-by":"publisher","unstructured":"Naik, M., Aiken, A., Whaley, J.: Effective static race detection for Java. In: Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 308\u2013319. ACM (2006). https:\/\/doi.org\/10.1145\/1133981.1134018","DOI":"10.1145\/1133981.1134018"},{"issue":"1","key":"1_CR34","doi-asserted-by":"publisher","first-page":"74","DOI":"10.1145\/130616.130623","volume":"1","author":"R Netzer","year":"1992","unstructured":"Netzer, R., Miller, B.: What are race conditions? Some issues and formalizations. ACM Lett. Program. Lang. Syst. 1(1), 74\u201388 (1992). https:\/\/doi.org\/10.1145\/130616.130623","journal-title":"ACM Lett. Program. Lang. Syst."},{"key":"1_CR35","doi-asserted-by":"publisher","unstructured":"Nir-Buchbinder, Y., Ur, S.: ConTest listeners: a concurrency-oriented infrastructure for Java test and heal tools. In: Pezz\u00e8, M. (ed.) Proceedings of the 4th International Workshop on Software Quality Assurance, SOQUA 2007, in conjunction with the 6th ESEC\/FSE joint meeting, pp. 9\u201316. ACM (2007). https:\/\/doi.org\/10.1145\/1295074.1295077","DOI":"10.1145\/1295074.1295077"},{"key":"1_CR36","doi-asserted-by":"publisher","unstructured":"Pugh, W., Ayewah, N.: Unit testing concurrent software. In: Proceedings of the 22nd IEEE\/ACM International Conference on Automated Software Engineering, pp. 513\u2013516. ASE 2007. Association for Computing Machinery (2007). https:\/\/doi.org\/10.1145\/1321631.1321722","DOI":"10.1145\/1321631.1321722"},{"key":"1_CR37","doi-asserted-by":"publisher","unstructured":"Said, M., Wang, C., Yang, Z., Sakallah, K.: Generating data race witnesses by an SMT-based analysis, vol. 6617 (2011). https:\/\/doi.org\/10.1007\/978-3-642-20398-5_23","DOI":"10.1007\/978-3-642-20398-5_23"},{"key":"1_CR38","doi-asserted-by":"publisher","unstructured":"Samak, M., Ramanathan, M.K.: Trace driven dynamic deadlock detection and reproduction. SIGPLAN Not. 49(8), 29\u201342 (2014). https:\/\/doi.org\/10.1145\/2692916.2555262","DOI":"10.1145\/2692916.2555262"},{"issue":"4","key":"1_CR39","doi-asserted-by":"publisher","first-page":"391","DOI":"10.1145\/265924.265927","volume":"15","author":"S Savage","year":"1997","unstructured":"Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: a dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15(4), 391\u2013411 (1997). https:\/\/doi.org\/10.1145\/265924.265927","journal-title":"ACM Trans. Comput. Syst."},{"key":"1_CR40","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"166","DOI":"10.1007\/978-3-540-70889-6_13","volume-title":"Hardware and Software, Verification and Testing","author":"K Sen","year":"2007","unstructured":"Sen, K., Agha, G.: A race-detection and flipping algorithm for automated testing of multi-threaded programs. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, pp. 166\u2013182. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-70889-6_13"},{"key":"1_CR41","doi-asserted-by":"publisher","unstructured":"\u015eerb\u0103nu\u0163\u0103, T., Chen, F., Ro\u015fu, G.: Maximal causal models for sequentially consistent systems. In: Qadeer, S., Tasiran, S. (eds.) Proceedings of the 3rd International Conference on Runtime Verification. LNCS, vol. 7687, pp. 136\u2013150. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-35632-2_16","DOI":"10.1007\/978-3-642-35632-2_16"},{"key":"1_CR42","doi-asserted-by":"publisher","unstructured":"Zhai, K., Xu, B., Chan, W., Tse, T.: CARISMA: a context-sensitive approach to race-condition sample-instance selection for multithreaded applications. In: Proceedings of the 2012 International Symposium on Software Testing and Analysis, pp. 221\u2013231. ACM (2012). https:\/\/doi.org\/10.1145\/2338965.2336780","DOI":"10.1145\/2338965.2336780"}],"container-title":["Lecture Notes in Computer Science","Formal Techniques for Distributed Objects, Components, and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-35355-0_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,9]],"date-time":"2023-06-09T18:03:22Z","timestamp":1686333802000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-35355-0_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031353543","9783031353550"],"references-count":42,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-35355-0_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"10 June 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FORTE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Formal Techniques for Distributed Objects, Components, and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 June 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23 June 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"43","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"forte2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.discotec.org\/2023\/forte","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"26","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"13","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"50% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"5","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}