[pl-seminar] FW: IBM Research Summer Interns and Regular Positions


Date: Mon, 5 Feb 2007 08:31:40 -0600
From: "Thomas Reps" <reps@xxxxxxxxxxx>
Subject: [pl-seminar] FW: IBM Research Summer Interns and Regular Positions
fyi

-----Original Message-----
From: Michael Hind [mailto:hindm@xxxxxxxxxx] 
Sent: Sunday, February 04, 2007 10:08 PM
To: reps@xxxxxxxxxxx; horwitz@xxxxxxxxxxx
Subject: IBM Research Summer Interns and Regular Positions 


Hi Tom and Susan,

        I hope you are both doing well.  Below is the info for students 
interested in summer and regular positions with our dept in IBM
Research. 
Feel free to forward this to whatever students or faculty might be 
interested.

Thanks,
Mike


IBM Research is looking for top students interested in Programming 
Languages and Software Engineering, for both summer internships and 
full-time positions.   Our summer internship program provides students 
with a unique opportunity to experience the research environment that 
exists here at IBM.  The program is highly competitive, and is designed 
for top students who are interested in tackling challenging research 
problems.  Many of our students have authored papers, or even theses,
out 
of their sojourn with us, and many have contributed significantly to
open 
source projects. 

What makes IBM Research unique is our proximity to the entire software 
life cycle.  IBM is a leader, not only in the software development 
industry, but in the deployment, testing, and maintenance of this
software 
at major customer sites throughout the world.   We are constantly
exposed 
to real world problems that help raise fundamental research challenges
and 
opportunities, often ones that the rest of the research community is not

yet aware of. 

Our department does leading research in a number of areas, all centered
on 
making program development and maintenance more productive, and making
the 
software produced more efficient, more manageable, and less
failure-prone 
at runtime.  A few representative examples of active research in these 
areas include: 
 
1. Programming Languages ? Modeling/Design
   (a) Cross-Language Integration: Many programs are written in more
than 
one language. Reasons for this include reuse of legacy libraries, access

to platform functionality, and efficiency. IBM research investigates 
language designs for cross-language integration, aiming at programmer 
productivity, static and dynamic error checking, portability, and 
efficiency. Contact: Martin Hirzel (hirzel@xxxxxxxxxx)
   (b) Programming Models for Networked Applications:  Increasingly, 
application software is being organized around collections of 
loosely-coupled distributed components, often communicating over the 
internet.  Such components typically transform and query persistent
data, 
communicate asynchronously, manage complex failure modes, and interact 
across multiple administrative domains.  Current programming languages
are 
ill-suited for this domain because they were designed for monolithic 
applications.  We are designing new programming models to better support

this emerging class of internet-scale applications through the use of 
abstractions that are easy to reason about and compose in a distributed 
environment.  Contact: John Field (jfield@xxxxxxxxxx)
   (c) PL-Database Integration: The goal of the Data Access Language 
Integration (DALI) project is to facilitate the development of database 
and service-oriented applications, in particular with respect to better 
integration of program and relational data. We are developing static 
analyses that bridge an application with the databases it accesses to 
allow for example:  optimization of SQL-style database queries such as 
those supported by JDBC and LINQ; slicing (impact) analysis between 
program variables and database values.  These capabilities can be
applied 
to code refactoring, program understanding, coverage tools for testing, 
performance tuning, etc. Contact: Mukund Raghavachari 
(raghavac@xxxxxxxxxx)
   (d) Real-time Java:  IBM Research's work in real time garbage 
collection has created an entire new market, allowing Java to be used in

application domains where it was previously considered impossible.
Current 
projects include time-portable programming models, real-time
visualization 
tools, dynamic compilation to reconfigurable hardware, and a lock-free, 
massively scalable, autonomic real-time garbage collector.  We are also 
building real-time systems in Java: a music synthesizer and a
helicopter. 
More information: http://www.research.ibm.com/metronome. Contact: David 
Bacon (bacon@xxxxxxxxxx)
   (e) Virtual Machine Performance:   Higher-level and managed languages

make software development easier, but introduce serious performance 
challenges.    IBM Research has the unique opportunity to develop novel 
solutions to these challenges, and watch these solutions have global 
impact in IBM's production JVMs.   Contact: Michael Hind 
(hindm@xxxxxxxxxx)

2. Programming Tools
   (a) Parallel Tools:  The trend towards multi-core and multi-threaded 
architectures calls for a new generation of tools to enable a larger
class 
of programmers to effectively develop parallel programs. The goal of the

Parallel Tools Project is to develop advanced parallel programming tools

in an integrated Eclipse environment that include developments tools, 
performance tools and tools for the detection of common concurrency 
related errors. Contact: Evelyn Duesterwald (duester@xxxxxxxxxx).
   (b) Refactoring and Program Transformation: The work on refactoring
at 
IBM Research has resulted in significant advances of the
state-of-the-art, 
and in the contribution of several advanced refactorings to Eclipse. 
Current research efforts are focused on refactorings for advanced
language 
features (e.g., concurrency), and supporting program analysis and 
infrastructure. Contact: Frank Tip (ftip@xxxxxxxxxx)

3. Software Engineering
   (a) Advanced Test Case Generation:  High quality test suites are 
necessary to validate that applications meet their requirements with the

required level of quality  IBM Research is developing a radically new 
approach to automating the creation of test suites using advanced
modeling 
techniques and new model analysis and test planning algorithms.
Contact: 
Amit Paradkar  (paradkar@xxxxxxxxxx)
   (b) Software Architecture and Requirements:  Agile methods have taken

off of late.  However, the realities of globalization mean that 
application development will remain a distributed activity.  We are 
examining how better tools and methods around architecture and 
requirements can help distributed teams to capture, share, manipulate, 
understand, and manage software engineering artifacts.  Can we help
teams 
separated by time and space to obtain the benefits of agile methods? 
Contact: Steve Abrams (sabrams@xxxxxxxxxx).

4. Software Quality/ Analysis/Verification
   (a) Analyzing Non-Functional Properties:  The complexity of 
applications consisting of multiple components and frameworks has been 
steadily increasing. The resulting performance and memory footprint 
problems are often addressed too late in the development process, as an 
afterthought.  Several projects at Watson have made significant progress

automating the discovery of problems like memory leaks, performance
bugs, 
and general footprint analysis. However, there is a long way to go: How 
can these problems be addressed earlier in the development cycle? How
can 
non-functional requirements be incorporated and enforced in the 
development process? What can be learned from existing practices, to 
improve future practice?  Contact: Edith Schonberg (ediths@xxxxxxxxxx).
   (b) Deep Program Analysis for Software Quality:  We are applying deep

program analysis to early bug detection, design/specification recovery, 
and concurrency and resource management, with the goal of improving 
software quality and productivity. The central research problem in this 
area is to scale deep analyses to large applications, while providing 
precise and focused feedback to application developers.  We are
addressing 
this challenge through projects exploring a variety of analysis
techniques 
and application domains.  Contact: John Field (jfield@xxxxxxxxxx).
   (c) Language-based Security: We are working on a number of projects 
whose purpose is to enforce application security through programming 
language constructs and/or program analysis.  The problems addressed 
include design and development of automated tools for access control and

information flow security enforcement.  Contact: John Field 
(jfield@xxxxxxxxxx).
   (d) Visualizing the Execution of Distributed Applications:  A
currently 
popular approach for reducing cost and complexity is building
applications 
by composing services accessible over a network (SOA). A key challenge
in 
this paradigm is obtaining an understanding of the overall activity 
triggered by the operation of a composite application. This information
is 
critical for debugging, testing and understanding resource utilization
of 
such applications.  Our research is directed towards the creation of new

tools, methodologies and environments that provide a deeper
understanding 
of SOA applications.  Contact: John Morar  (morar@xxxxxxxxxx)

5. Usability:
   (a) Human Centric Tools:  Our tools, applications and services are 
becoming more and more interconnected and complex. We are looking at
ways 
to make these tools usable and simplify our environments. This ranges
from 
new programming models for web components to end user programming, to
User 
Centered Design methodologies for these new environments, to the 
pragmatics of large scale SOA implementations, to glancable interfaces
and 
visualizations. Contact: Juerg von Kaenel  (jvk@xxxxxxxxxx)

6. Virtualization:
   (a) Virtual Appliance Computing:  Virtual appliances (live software 
state encapsulated in virtual machine sandboxes) are rapidly replacing 
install images as the unit of software packaging, distribution and 
management. This project is exploring ways to use the sandbox as a hook 
through which external tools can monitor, analyze and manipulate virtual

state, and enable radically different paradigms for working with
software. 
Contact: Vas Bala (vbala@xxxxxxxxxx)

7. Web 2.0 / Semantic Web
   (a) Desktop Widgets, Situational Applications and End User Mashups:
Web 
2.0 technologies are rapidly reshaping the user's experience on the
World 
Wide Web.  A new, post-windows, GUI model is emerging in the form of 
desktop widgets like those offered by Apple, Yahoo, Google, Mozilla and 
others.  The evolution of the web user experience from hypertext
browsing 
to dashboards of ATOM-driven "live" widgets that exploit multiple, large

format LCD monitors and other ambient displays is fundamentally changing

the way we interact with information, services and communities over the 
Internet.  In this research effort we are exploring this new world in
the 
context of End User Programming.  What must be done to empower end users

without training in programming to create, deploy, share and enhance 
widget-based mashups and other situational applications?  Contact: Sam 
Adams (ssadams@xxxxxxxxxx).
   (b) Scalable Ontology Reasoning:  The use of ontologies and need for 
semantic retrieval is increasing rapidly.  However, the inability of 
reasoners to scale to large knowledge bases is a major inhibitor. We
have 
been working on promising new technology for reasoning over very large 
knowledge bases in secondary storage, with excellent initial results.
Our 
technology is based on aggressive summarization. We are interested in 
making semantic retrieval practical, and looking at real use cases to 
validate our work. Contact: Edith Schonberg (ediths@xxxxxxxxxx).

Students interested in summer jobs in programming languages and software

engineering at the T.J. Watson Research Center (NY area) should send a 
resume to the appropriate contact listed above or to Aditya Kalyanpur,
our 
summer internship coordinator (adityakal@xxxxxxxxxx).

For more information about Programming Languages and Software
Engineering 
Projects at IBM Research, see 
http://www.research.ibm.com/compsci/plansoft/index.html 

------------------------------------------------------------------------
-
Michael Hind, Manager, Dynamic Optimization Group 
IBM Watson Research Center
http://www.research.ibm.com/people/h/hind
hind@xxxxxxxxxxxxxx, 914 784-7589, tie: 863-7589
Jikes RVM is on sourceforge:  http://jikesrvm.sourceforge.net

[← Prev in Thread] Current Thread [Next in Thread→]
  • [pl-seminar] FW: IBM Research Summer Interns and Regular Positions, Thomas Reps <=