[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2597959.2597972acmotherconferencesArticle/Chapter ViewAbstractPublication PageswccceConference Proceedingsconference-collections
tutorial

ConEE: An Exhaustive Testing Tool to Support Learning Concurrent Programming Synchronization Challenges

Published: 02 May 2014 Publication History

Abstract

Concurrent Programming is a topic of importance in contemporary Computer Science, and has been a field of interest for computer science educators for several decades. Many educators agree on the difficulty of teaching Concurrent Programming, and the need for tools to better assist the efforts. We present ConEE (CONcurrent programming Educational Enumerator), a multi-threaded visual simulator based upon the CONcurrent programming VIsualisation Tool (Convit). ConEE complements Convit visualizer and simulator with a code validator that looks for deadlocks and race conditions. It also validates the output by running user-defined acceptance tests. ConEE's exhaustive enumerator validates every possible combinations of the given threads and achieves certainty as to the correctness of a program. While ConEE is limited to short programs with a small number of threads, its objective is to help students grasp the complexity of writing concurrent programs, experiment with a simulator, receive immediate feedback, and reach reasonable confidence in the validity of their code. In addition, ConEE allows instructors to validate their solutions with great confidence.

References

[1]
Byrne, M. D., Catrambone, R., and Stasko, J. T. Do algorithm animations aid learning? Tech. Rep. GIT-GVU-96-18, Georgia Institute of Technology, 1996.
[2]
Carr, S., Mayo, J., and Shene, C.-K. Threadmentor: a pedagogical tool for multithreaded programming. J. Educ. Resour. Comput. 3, 1 (Mar. 2003), 1--30.
[3]
Downey, A. B. The Little Book of Semaphores. Green Tea Press, 2008.
[4]
Dukielska, M., and Sroka, J. Javaspaces netbeans: a linda workbench for distributed programming course. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education (New York, NY, USA, 2010), ITiCSE '10, ACM, pp. 23--27.
[5]
Higginbotham, C. W., and Morelli, R. A system for teaching concurrent programming. In Proceedings of the twenty-second SIGCSE technical symposium on Computer science education (New York, NY, USA, 1991), SIGCSE '91, ACM, pp. 309--316.
[6]
Jarvinen, H.-M., Tiusanen, M., and Virtanen, A. Convit, a tool for learning concurrent programming. In AACE E-Learn Conference (2003).
[7]
Koldehofe, B., Papatriantafilou, M., and Tsigas, P. Integrating a simulation-visualisation environment in a basic distributed systems course: a case study using lydian. In Proceedings of the 8th annual conference on Innovation and technology in computer science education (New York, NY, USA, 2003), ITiCSE '03, ACM, pp. 35--39.
[8]
Korhonen, A., and Malmi, L. Algorithm simulation with automatic assessment. SIGCSE Bull. 32, 3 (July 2000), 160--163.
[9]
Manickam, V., and Aravind, A. If a picture is worth a thousand words, what would an animation be worth? In Proceedings of the 16th Western Canadian Conference on Computing Education (New York, NY, USA, 2011), WCCCE '11, ACM, pp. 28--32.
[10]
Manickam, V., and Aravind, A. If a picture is worth a thousand words, what would an animation be worth? In Proceedings of the 16th Western Canadian Conference on Computing Education (New York, NY, USA, 2011), WCCCE '11, ACM, pp. 28--32.
[11]
Musuvathi, M., Qadeer, S., and Ball, T. Chess: A systematic testing tool for concurrent software. TechReport MSR-TR-2007-149, Microsoft Research, 2007.
[12]
Sadowski, C., Ball, T., Bishop, J., Burckhardt, S., Gopalakrishnan, G., Mayo, J., Musuvathi, M., Qadeer, S., and Toub, S. Practical parallel and concurrent programming. In Proceedings of the 42nd ACM technical symposium on Computer science education (New York, NY, USA, 2011), SIGCSE '11, ACM, pp. 189--194.
[13]
Shene, C.-K. Multithreaded programming can strengthen an operating systems course. Computer Science Education Journal 12, 4 (2002), 275--299.
[14]
Sutter, H. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb's Journal 30, 3 (2005).

Cited By

View all
  • (2023)Using Model-Checking and Peer-Grading to Provide Automated Feedback to Concurrency Exercises in ProgvisProceedings of the 25th Australasian Computing Education Conference10.1145/3576123.3576125(11-20)Online publication date: 30-Jan-2023
  • (2022)A Weak Memory Model in Progvis: Verification and Improved Accuracy of Visualizations of Concurrent Programs to Aid Student LearningProceedings of the 22nd Koli Calling International Conference on Computing Education Research10.1145/3564721.3565947(1-12)Online publication date: 17-Nov-2022
  • (2022)Pilot Study of Progvis: A Visualization Tool for Object Graphs and Concurrency via Shared MemoryProceedings of the 24th Australasian Computing Education Conference10.1145/3511861.3511885(123-132)Online publication date: 14-Feb-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
WCCCE '14: Proceedings of the Western Canadian Conference on Computing Education
May 2014
87 pages
ISBN:9781450328999
DOI:10.1145/2597959
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 May 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Acceptance Testing
  2. Code Validation
  3. Concurrent Programming
  4. Deadlock
  5. Learning Tool
  6. Race Condition
  7. Simulation
  8. Visualization

Qualifiers

  • Tutorial
  • Research
  • Refereed limited

Conference

WCCCE '14

Acceptance Rates

WCCCE '14 Paper Acceptance Rate 18 of 24 submissions, 75%;
Overall Acceptance Rate 78 of 117 submissions, 67%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)2
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Using Model-Checking and Peer-Grading to Provide Automated Feedback to Concurrency Exercises in ProgvisProceedings of the 25th Australasian Computing Education Conference10.1145/3576123.3576125(11-20)Online publication date: 30-Jan-2023
  • (2022)A Weak Memory Model in Progvis: Verification and Improved Accuracy of Visualizations of Concurrent Programs to Aid Student LearningProceedings of the 22nd Koli Calling International Conference on Computing Education Research10.1145/3564721.3565947(1-12)Online publication date: 17-Nov-2022
  • (2022)Pilot Study of Progvis: A Visualization Tool for Object Graphs and Concurrency via Shared MemoryProceedings of the 24th Australasian Computing Education Conference10.1145/3511861.3511885(123-132)Online publication date: 14-Feb-2022
  • (2021)Pilot Study of a Visualization Tool for Object Graphs and Concurrency via Shared MemoryProceedings of the 52nd ACM Technical Symposium on Computer Science Education10.1145/3408877.3439570(1294-1294)Online publication date: 3-Mar-2021
  • (2015)Concurrent software testing in practice: a catalog of toolsProceedings of the 6th International Workshop on Automating Test Case Design, Selection and Evaluation10.1145/2804322.2804328(31-40)Online publication date: 30-Aug-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media