Sam Midkiff's Publications

Note: Up to date as of Sept. 12, 2008. If you are unable to find copies of any of these, please contact me by E-mail at smidkiff@purdue.edu. Some of these are available at the IBM Research Cyberdigest website.

Book Chapters and Books Edited

  1. Rudolf Eigenmann, Zhiyuan Li and Samuel P. Midkiff, editors, International Workshop on Languages and Compilers for High Performance Computing (LCPC 2004), Lecture Notes in Computer Science volume 3602, Springer Verlag, New York, 2005
  2. S. P. Midkiff J.E. Moreira, M. Gupta, et. al, editors, International Workshop on Languages and Compilers for Parallel Computing (LCPC 2000), Lecture Notes in Computer Science volume 2017, Springer Verlag, New York, 2001.
  3. S.P. Midkiff, M. Serrano, M. Gupta, A. Bolmarcich, P. Wu and Pramod G. Joisha Quicksilver: A Quasi-static Java Compiler for Embedded Systems in Java Microarchitectures, edited by Vijaykrishnan Narayanan and Mario I. Wolczko, pp. 124-141, Kluwer Academic Publishers, Boston, 2002.

Journals and Magazines:

  1. Population Balance Kinetic Model for Interaction of 2-Bisbenzothiazole-2-2' disulfide (MBTS) with Sulfur, A. Goyal, J. Cao, P Patkar, G. Medvedev, S.P. Midkiïff, V. Venkatasubramanian and J.M. Caruthhers. Rubber Chemistry & Technology (2008), in press
  2. Statistical Debugging: A Hypothesis Testing-Based Approach, Chao Liu, Long Fei, Xifeng Yan, Jiawei Han and Samuel P. Midkiff. IEEE Transactions on Software Engineering, 32(10): 831-848 (2006).
  3. A Fair, Secure and Trustworthy Peer-to-Peer Based Cycle-Sharing System, Shuo Yang, Ali R. Butt, Xing Fang, Y. Charlie Hu and Samuel P. Midkiff. Journal of Grid Computing - Special issue on Global and Peer-to-Peer Computing, 4(3):265-286, September 2006

  4. A compiler for multiple memory models, S.P. Midkiff, J. Lee, D.A. Padua, Concurrency, Practice and Experience, pages 197--220, 16(2), February, 2004
  5. Supporting multidimensional arrays in Java, Jose E. Moreira, Samuel P. Midkiff and Manish Gupta, Concurrency, Practice and Experience, pages 317--340, 15(3-5), March-April 2003
  6. Stack Allocation and Synchronization Optimizations for Java, J.D. Choi, M. Gupta, M. Serrano, V. Sreedhar and S.P. Midkiff, ACM Transactions on Programming Languages and Systems, pages 876--910, 25(6), Nov. 2003
  7. Efficiently Adapting Java Binaries in Limited Memory Contexts, P. Joisha, S.P. Midkiff, M. Serrano and M. Gupta, International Journal of Parallel Processing, 30(4), Aug. 2002
  8. The NINJA Project: Making Java Work for High Performance Numerical Computing, J. Moreira, S. Midkiff, M. Gupta, P. Artigas, P. Wu and G. Almasi, Communications of the ACM, pages 102-109, 44(10) October, 2001
  9. NINJA: Java for High Performance Numerical Computing J. Moreira, S. Midkiff, M. Gupta, P. Wu, P. Artigas and G. Almasi, Scientific Programming, pages 19--33, 10(1) 2002
  10. Automatic Loop Transformations and Parallelization for Java, P. V. Artigas, M. Gupta, S. P. Midkiff and J. E. Moreira, Parallel Processing Letters, pages 153--164, Vol. 10(2-3), Feb. 2002
  11. Java Programming for High Performance Numerical Computing, Jose Moreira, Samuel P. Midkiff, Manish Gupta, Pedro Artigas, Marc Snir and Richard Lawrence, IBM Systems Journal, pages 21--56, 39(1) March 2000
  12. From Flop to Megaflops: Java for technical computing, J.E. Moreira, S.P. Midkiff, M. Gupta, ACM Trans. on Programming Languages and Systems, pages 265--295, 22(2) March 2000
  13. A constant propagation algorithm for explicitly parallel programs, J. Lee, S.P. Midkiff and D.A. Padua, International Journal of Parallel Programming, pages 563--589, 26(5) 1998.
  14. Optimizing array reference checking in Java programs, S.P. Midkiff, J.E. Moreira, M. Snir, IBM System Journal, 37(3), pages 409-453, Aug. 1998
  15. Fortran 90 in CSE: A case study, J.E. Moreira and S.P. Midkiff, IEEE Computational Science and Engineering, pages 29--49, 5(2) April, 1998.
  16. A Comparison of Java, C/C++, and Fortran for Numerical Computing J.E. Moreira and S.P. Midkiff, IEEE Antennas and Propagation Magazine, pages 102--104, 40(5), Oct. 1998
  17. Dynamic Data Distribution and Processor Repartitioning for Irregularly Structured Computation, J. E. Moreira, V.K. Naik and S.P. Midkiff, Journal of Parallel and Distributed Computing, 1997
  18. A Comparison of Interprocedural Array Analysis Methods, M. Hind, and M. Burke, P Carini and S.P. Midkiff, Scientific Programming, Vol. 3, pages 255-271, 1994
  19. Compiler algorithms for synchronization, S.P. Midkiff and D. Padua, IEEE Transactions on Computers, C-36(12), pages 1485-1495, Dec. 1987

Refereed Conferences

  1. Advanced Collective Communication in Aspen. Qasim Ali, Samuel P. Midkiff and Vijay Pai, Proceedings of the 22nd ACM International Conference on Supercomputing (ICS 08), pages 83-93, June 7-12, 2008.
  2. Practical escape analyses: how good are they?, Kyungwoo Lee, Xing Fang and Samuel P. Midkiff. Proceedings of the ACM Symposium on Virtual Execution Environments (VEE 2007), pages 180-190.
  3. An Optimizing Compiler for Parallel Chemistry Simulations, J. Cao, A. Goyal, S. P. Midkiff and J. M. Caruthers. 2007 IEEE International Parallel & Distributed Processing Symposium (IPDPS), pages 1-10.
  4. Expressing and Exploiting Concurrency in Networked Applications with Aspen, Gautam Upadhyaya, Vijay S. Pai and Samuel P. Midkiff, Proceedings 2007 ACM Symposium on the Principles and Practice of Parallel Computing (PPoPP), 2007, pages 13-23.
  5. Grid resource management-CycleMeter: detecting fraudulent peers in internet cycle sharing, Z. Zhang and Y. Charlie Hu and S. P. Midkiff. SC '06, Proceedings of the 2006 ACM/IEEE conference on Supercomputing, 13 pages, 2006.
  6. Artemis: Practical Runtime Monitoring of Applications for Execution Anomalies, Long Fei and Samuel P. Midkiff. ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation (PLDI), pages 84-95, 2006.
  7. Monitoring Remotely Executing Shared Memory Programs in Software DSMs Long Fei, Xing Fang, Y.C. Hu and S.P. Midkiff. 20th IEEE International Parallel and Distributed Processing Symposium, March 2006.
  8. Argus: Online Statistical Bug Detection, Long Fei, Kyungwoo Lee and S.P. Midkiff. Fundamental Approaches to Software Engineering (FASE06), in Lecture Notes in Computer Science, Volume 3922, pages 3080323.
  9. SOBER: Statistical Model-based Bug Localization, Proceedings of The ¿fth joint meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2005), pages 286-295, 2005.
  10. Compiler Techniques for High Performance Sequentially Consistent Java Programs, Zehra Sura, Xing Fang, Chi-Leung Wong, Samuel P. Midkiff, Jaejin Lee and David Padua. ACM Symposium on the Principles and Practice of Parallel Programming (PPoPP), pages 2-13, June, 2005, Chicago, IL.
  11. Trust but Verify: Monitoring Remotely Executing Programs for Progress and Correctness, Shuo Yang, Ali R. Butt, Y.Charlie Hu and Samuel P. Midkiff. ACM Symposium on the Principles and Practice of Parallel Programming (PPoPP), pages 196-205. June, 2005, Chicago, IL.
  12. AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-based Invariants P. Zhou, W. Liu, L. Fei, F. Qin, S. Lu, Y. Zhou, S. Midkiff, and J. Torrellas. Proceedings 37th Annual IEEE/ACM International Symposium on Microarchitecture, pages 269-280.
  13. Java, Peer-to-Peer, and Accountability: Building Blocks for Distributed Cycle Sharing, Ali Raza Butt, Xing Fang, Y. Charlie Hu, and Samuel Midkiff, Proceedings 3rd USENIX Virtual Machine Research and Technology Symposium, Aug., 2004
  14. Automatic fence insertion for shared memory multiprocessing, X. Fang, J. Lee and S.P. Midkiff, Proceedings of the 2003 ACM International Conference on Supercomputing, June 2003, San Francisco, CA
  15. The Pensieve Project: A Compiler Infrastructure for Memory Models C.-L. Wong, Z. Sura, X. Fang, S.P. Midkiff, J. Lee and D. Padua, Proceedings of the Sixth International Symposium on Parallel Architectures, Algorithms and Networks, May, 2002
  16. A Comparison of Three Approaches to Language, Compiler and Library Support for Multidimensional Arrays in Java, J.E. Moreira, S.P. Midkiff and Manish Gupta, Proceedings of the 2001 Joint ACM Java Grande/ISCOPE Conference, June, 2001
  17. A Framework for the Efficient Reuse of Binary Code in Java, P. Joisha, S.P. Midkiff, M.J. Serrano and M. Gupta, Proceedings of the 15'th {ACM} International Conference on Supercomputing, pages 440--453, June, 2001, Sorrento, Italy }
  18. Automatic Loop Transformations and Parallelization for Java, Pedro Artigas, Manish Gupta, Samuel P. Midkiff and Jose Moreira Proceedings of the ACM International Conference on Supercomputing, pages 1--10, May, 2000, Santa Fe, New Mexico
  19. Quicksilver: A Quasi-Static Compiler for Java, Mauricio Serrano, Rajesh Bordawekar, Samuel P. Midkiff and Manish Gupta", Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2000), Oct, 2000
  20. Exploiting parallelism with the Array package for Java: A case study using Data Mining, J.E. Moreira, S.P. Midkiff, M. Gupta, R. Lawrence, Proceedings of SC '99, Nov. 1999, Portland OR.
  21. Escape Analysis for Java, J-D. Choi, M. Gupta, M. Serrano, V. Sreedhar and S.P. Midkiff, Proceedings ACM 1999 Conference on Object-Oriented Programming Systems, Languages and Applications, Nov., 1999, Denver, CO.
  22. Java for numerically intensive computing: From Flops to Gigaflops, J.E. Moreira, S.P. Midkiff and M. Snir, Proceedings of Frontiers '99, Frontiers of Massively Parallel Computation, pages 251--257, 1999,
  23. Efficient support for complex numbers in Java, P. Wu, S.P. Midkiff, J.E. Moreira and M. Gupta, Proceedings of 1999 ACM Java Grande Conference, June, 1999, San Francisco, CA.
  24. Concurrent static single assignment form and constant propagation for explicitly parallel programs J. Lee, S.P. Midkiff and D.A. Padua, Proceedings of 1999 ACM SIGPLAN Symposium on the Principles and Practice of Parallel Programming, May, 1999, Atlanta, GA.
  25. A Checkpointing Strategy for Scalable Recovery on Distributed Parallel Systems, V. K. Naik, S.P. Midkiff and J. E. Moreira, Proceedings of Supercomputing '97, 1997.
  26. Run-Time Support for Dynamic Processor Allocation in HPF Programs, S.P. Midkiff, J. Moreira and V. Naik, SIAM Conference on Parallel Processing, 1997, Minneapolis, MN.
  27. Local iteration set computation for block-cyclic distributions, S. P. Midkiff, Proceedings of the 24'th International Conference on Parallel Processing, Oconomowoc, Wi. Aug. 1995.
  28. An HPF Compiler for the IBM SP2, M. Gupta, S. Midkiff, E. Schonberg, V. Seshadri, D. Shields, K-Y. Wang, W-M. Ching and T. Ngo, Proceedings of Supercomputing '95, San Diego, Ca., 1995.
  29. An empirical comparison of four synchronization optimization techniques, S.P. Midkiff and D.A. Padua, Proc. of 20'th Int'l Conf. on Parallel Processing,August, 1991.
  30. Issues in the compile-time optimization of parallel programs, S.P. Midkiff and D.A. Padua, Proc. of 19'th International Conf. on Parallel Processing, August, 1990.
  31. Compiler generated synchronization for DO loops, S.P. Midkiff and D.A. Padua, Proceedings of the 1986 International Conference on Parallel Processing, St. Charles, IL, Aug. 1986.

Workshops

  1. Evaluating the Impact of Thread Escape Analysis on a Memory Consistency Model-aware Compiler , Chi-Leung Wong, Zehra Sura, Xing Fang, Kyungwoo Lee, Samuel P. Midkiff, Jaejin Lee, and David Padua. 18¿th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2005), In Lecture Notes in Computer Science, Volume 4339, pages 170-184. Oct. 2005, Yorktown Heights, NY.
  2. Lightweight Monitoring of the Progress of Remotely Executing Computations, Shuo Yang, Ali R. Butt, Y. Charlie Hu, and Samual P. Midkiff. 18th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2005), In Lecture Notes in Computer Science, Volume 4339, pages 319-333. Oct. 2005, Yorktown Heights, NY.
  3. Experiences in Using Cetus for Source-to-Source Transformations. Troy A. Johnson, Sang Ik Lee, Long Fei, Ayon Basumallik, Gautam Upadhyaya, Rudolf Eigenmann and Samuel P. Midkiff. 17¿th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2004), pages 1¿14, Sept. 2004, West Lafayette, IN. Lecture Notes in Computer Science volume 3602, Springer Verlag, New York, 2005
  4. Gary C. Lee and S.P. Midkiff, Ninja 2: Towards fast, portable, numerical Java. 2004 Workshop on Compilers for Parallel Computing, pages 277-278, July 2¿4, Seon, Germany
  5. Automatic implementation of programming language consistency models, Z. Sura, C.-L. Wong, X. Fang, J. Lee S.P. Midkiff, and D. Padua, Proceedings of the 15th Workshop on Languages and Compilers for Parallel Computing (LCPC), Lecture Notes in Computer Science, Volume 2481, pages 172-187. College Park, Maryland July 2002
  6. Compiler Guaranteed Sequential Consistency. Xing Fang, Chi-Leung Wong, Zehra Sura, Jaejin Lee, Samuel Midkiff and David Padua. Midwest Society for Programming Languages and Systems Workshop (MSPLS), page 2. April 2002.
  7. The Pensieve Pro ject: A Compiler Infrastructure for Memory Models. Chi-Leung Wong, Zehra Sura, Xing Fang, Jaejin Lee, Samuel Midkiff and David Padua Midwest Society for Programming Languages and Systems Workshop (MSPLS), page 3. April 2002
  8. A framework for the efficient reuse of binary code in Java. P. Joisha, S.P. Midkiff, M.J. Serrano, and M. Gupta. 2001 Workshop on Compilers for Parallel Computing, June 2001.
  9. Applying high order transformations to Java. Pedro Artigas, Manish Gupta, Samuel P. Midkiff, and Jose Moreira. Workshop on Compilers for Parallel Computing, Jan 2000.
  10. A standard Java Array package for technical computing, J.E. Moreira, S.P. Midkiff and M. Gupta, Proceedings of the Ninth SIAM Conference on Parallel Processing for Scientific Computing, March, 1999, San Antonio, TX.
  11. High performance numerical computing in Java: Language and compiler issues, P.V. Artigas, M. Gupta, S.P. Midkiff and J.E. Moreira, 12'th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, Voume 1863, pages 1-17. San Diego, CA, 1999.
  12. From Flop to Megaflops: Java for technical computing, J.E. Moreira, S.P. Midkiff and M. Gupta, 11'th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, Volume 1656, pages 1-17. Aug. 1998, Chapel Hill, NC.
  13. Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs, J. Lee, S. P. Midkiff and D. A. Padua, 10'th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, Volume 1366, pages 114-130. Aug. 1997, Minneapolis, MN.
  14. Optimizing the representation of local iteration sets and access sequences for block-cyclic distributions S.P. Midkiff, 9'th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, Volume 1239, pages 420-434, 1996. Santa Clara, Ca.
  15. Computing the Local Iteration Set of a block-cyclically distributed reference with affine subscripts, S.P. Midkiff, 6'th Workshop on Compilers for Parallel Computing Aachen, Germany, 1996.
  16. Dependence analysis in parallel loops with i±k subscripts, S. P. Midkiff. 8'th International Workshop on Languages and Compilers for Parallel Computing, Lecture Notes in Computer Science, Volume 1033, pages 331-345. Columbus, Ohio. Aug. 1995.
  17. Ptran II - A compiler for high performance Fortran, S. Midkiff, E. Schonberg, M. Gupta, P. Sweeney and K. Wang, M. Burke, Proceedings of Fourth International Workshop on Compilers for Parallel Computing, Delft, The Netherlands. Dec. 1993.
  18. Interprocedural Array Analysis: How Much Precision Do We Need?, M. Hind, M. Burke, P. Carini and S. Midkiff, Proceedings of 3rd Workshop on Compilers for Parallel Computers, pages 2-14, Vienna, Austria. July, 1992.
  19. Research Directions in Compiling For Massive Parallelism S.P. Midkiff, A. Nicolau, D.A. Padua, Massively Parallel Processing, 1992., The New Frontiers. A Workshop on Future Directions of, pages 2--20, October 19, 1992
  20. Compiling programs with user parallelism, S.P. Midkiff, D.A. Padua and R.G. Cytron, Proceedings of the 3rd Workshop on Languages and compilers for parallel computing, Published in "Selected papers of the second workshop on Languages and compilers for parallel computing", pages 402-422, Pittman Publishing, 1990.
  21. Aug. 1990.

Patents issued

  1. Method for optimizing locks in computer programs, J-D. Choi, M. Gupta, M. Serrano, V. Sreedhar, S.P. Midkiff, USPTO number 6,530,079, issued March 4, 2003
  2. Method for optimizing creation and destruction of objects in computer programs, J-D. Choi, M. Gupta, M. Serrano, V. Sreedhar, S.P. Midkiff, USPTO number 6,381,738, issued April 30, 2002
  3. Method for optimizing array bounds checks in programs, M. Gupta, S.P. Midkiff and J.E. Moreira USPTO number 6,343,375, issued January 29, 2002
  4. Method for compiling program components in a mixed static and dynamic environment, Rajesh Bordawekar, Manish Gupta, Samuel Pratt Midkiff, Mauricio, Serrano, United States Patent 6973646, Dec. 6, 2005.

Return to Sam Midkiff's Home Page