Gregory M. KapfhammerAssociate Professor of Computer Sciencehttp://www.cs.allegheny.edu/~gkapfham/ |
Computer Science 580, Junior Seminar, Spring 2008

The Computer Science 580: Junior Seminar focuses on research methods in computer science. A module of the course taught by Gregory M. Kapfhammer will focus on the design paradigm within computer science (and, of course, still be influenced by the theory and abstraction paradigms as well). Further modules of the course will examine topics related to software engineering, software testing and analysis, and distributed systems. For more information about these areas please view my Research and All Research Deliverables.
The Design Paradigm in Computer Science
- Read the paper The design, implementation, and evaluation of adaptive code unloading for resource-constrained devices that was published in ACM Transactions on Architecture and Code Optimization (TACO), Volume 2, Issue 2 (June 2005). (Full citation available from the ACM Digital Library).
- Read the paper Testing in Resource Constrained Execution Environments, that was published at the IEEE/ACM International Conference on Automated Software Engineering (ASE 2005). (Full citation available from the ACM Digital Library).
- Preview the presentation Testing in Resource Constrained Execution Environments that was given at ASE 2005. This presentation will be given during class as part of our discussion of adaptive native code unloading.
Software Testing and Analysis
- Please review Research and All Research Deliverables for more details about existing research projects involving faculty and students in the Department of Computer Science at Allegheny College. You may decide to investigate a Software Testing Tutorial that includes a simple program and the test suite for the program that is written in the JUnit testing framework.
- The following four papers have been selected:
- (4.1) Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, vol. 27, no. 2, Feb. 2001, pp. 1-25.
- (4.2) Michael Harder, Jeff Mellen, and Michael D. Ernst. Improving test suites via operational abstraction. Proceedings of the 25th International Conference on Software Engineering, (Portland, Oregon), May 6-8, 2003, pp. 60-7
- (Optional 1) Adam Smith, Joshua Geiger, Gregory M. Kapfhammer, and Mary Lou Soffa. Test Suite Reduction and Prioritization with Call Trees (Tool Paper). In the Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, Atlanta, Georgia, November 2007.
- (Optional 2) Gregory M. Kapfhammer and Mary Lou Soffa. Using Coverage Effectiveness to Evaluate Test Suite Prioritizations. In the Proceedings of the ACM International Workshop on Empirical Assessment of Software Engineering Languages and Technologies, Atlanta, Georgia, November 2007.
- (4.1) Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering, vol. 27, no. 2, Feb. 2001, pp. 1-25.
- The third and fourth papers were assigned so that you could develop new research ideas. Students are encouraged to meet with Professor Kapfhammer before the class sessions that will focus on the software testing and analysis.
- Paper Reading Assignments:
- Assignment:
- 4.1: Entire Paper
- 4.2: Entire Paper
- Optional 1: First Two Pages
- Optional 2: Both Pages
- Assignment:
- Reseach and Writing Resources:
- Phil Koopman, How to Write an Abstract
- Brian A. Malloy, The Craft of Writing a Research Paper
- Mary-Claire van Leunen and Richard Lipton, How to Have Your Abstract Rejected
- William Pugh, Advice to Authors of Extended Abstracts
- Roy Levin and David D. Redell, How (and How Not) to Write a Good Systems Paper
- POPL 1995 Program Committee, Advice for 1996 POPL submissions
- Jennifer Widom, Tips for Writing Technical Papers
- David Patterson, Writing Advice
- NAS/NAE, On Being a Scientist
- Phil Koopman, How to Write an Abstract
Link to this Page
- Teaching last edited on 29 October 2009 at 3:43 pm by 141.195.226.29