Department of Computer Science: 2008-2009 Annual Report

Page 22

Programming Languages, Compilers, and Software Engineering The programming languages and compilers group at Purdue is engaged in research spanning all aspects of software systems design, analysis, and implementation. Our faculty have active research projects in functional and object-oriented programming languages, both static and dynamic compilation techniques for scalable multicore systems, scripting languages, distributed programming abstractions and implementations, realtime and embedded systems, mobile and untrusted computing environments, and runtime systems with special focus on memory management and parallel computing environments. The software engineering group conducts research on applying advanced program analyses towards problems related to fault isolation, various kinds of bug detection including those related to race conditions in concurrent programs, and specification inference for large-scale software systems. Aspect-oriented abstractions and new program slicing and mining techniques are some of the mechanisms that are being explored to address these issues. Faculty involved in programming languages, compilers, and software engineering at Purdue include H. E. Dunsmore, Patrick Eugster, Antony Hosking, Suresh Jagannathan, Zhiyuan Li, Aditya Mathur, Vernon Rego (p. 11), Eugene H. Spafford (p. 15), Jan Vitek, and Ziangyu Zhang. Selected Publications K. Hoffman and P. Eugster, “Towards Reusable Components with Aspects: An Empirical Study on Modularity and Obliviousness”, 30th ACM/IEE International Conference on Software Engineering (ICSE 2008), May 2008. K. Hoffman and P. Eugster, “Cooperative Aspect-oriented Programming”, Science of Computer Programming, 2009. H. Yuan and P. Eugster, “An Efficient Algorithm for Solving the Dyck-CFL-Reachability Problem on Trees”, 18th European Symposium on Programming (ESOP), March 2009. Ni Y., Menon V., Adl-Tabatabai A. R., Hosking A. L., Hudson R. L., Moss J. E. B., Saha B., and Shpeisman T., “Open nesting in software transactional memory”, ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), March 2007. Pizlo F., Hosking A. L., and Vitek J., “Hierarchical real-time garbage collection”, Proceedings of the ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), June 2007. Blackburn S.M., McKinley K.S., Garner R., Hoffmann C., Khan A.M., Bentzur R., Diwan A., Feinberg D., Frampton D., Guyer S. Z., Hirzel M., Hosking A., Jump M., Lee H., Moss J. E. B., Phansalkar A., Stefanovic D., VanDrunen T., Dincklage D., and Wiedermann B., “Wake Up and Smell the Coffee: Evaluation Methodology for the 21st Century”, Communications of the ACM, August 2008. Ramanathan M., Grama A., and Jagannathan S., “Static Specification Inference Using Predicate Mining”, ACM Conference on Programming Language Design and Implementation (PLDI), June 2007. Lukasz Ziarek, Philip Schatz, and Suresh Jagannathan, “Stabilizers: A Modular Checkpointing Abstraction for Concurrent Functional Programs”, ACM International Conference on Functional Programming, 2006. Adam Welc, Antony Hosking, and Suresh Jagannathan, “Transparently Reconciling Locks with Transactions for Java Synchronization”, European Conference on Object-Oriented Programming, 2006. Lixia Liu and Zhiyuan Li, “Improving Parallelism and Locality with Asynchronous Algorithms”, Proceedings of 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), January 9-14, 2010, Bangalore, India. Lixia Liu, Zhiyuan Li, and Ahmed H. Sameh, “Analyzing memory access intensity in parallel programs on multicore”, Proceedings of 22nd ACM International Conference on Supercomputing (ICS), Pages 359-367, Island of Kos, Aegean Sea, Greece, June 7-12, 2008. 20


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.