Report on Splash 2010

Download Report

Transcript Report on Splash 2010

SPLASH 2010
A very partial and subjective report
HAoSE2010
The 2nd Workshop on Human Aspects of
Software Engineering
• Ohad Barzilay Developers Attentiveness to
Example Usage
Educators' and Trainers' Symposium
• Keynote : The impending ordinariness of teaching concurrent
programming
• Doug Lea, SUNY Oswego, United States
• The process of infiltrating Computer Science and Software Curricula
with instruction on concurrent programming is similar to those that
occurred with object-oriented programming and design patterns
over the past two decades. Some basic ideas of parallelism (for
example operations on aggregates including map and reduce) are
becoming routine alternatives to sequential loops and can be
introduced very early in the curriculum. Similarly, some uses of
actors extend event-based programming. And coverage of
concurrent data structures and algorithms such as non-blocking
queues is appropriate in courses covering other non-obvious data
structures such as B-Trees.
Educators' and Trainers' Symposium
•
•
•
•
•
Panel Manifesto: a New Educational Programming Language
Andrew Black, Portland State University, United States
Kim B. Bruce, Pomona College, United States
James Noble, Victoria University of Wellington, New Zealand
No object-oriented programming language is obviously suitable for
teaching introductory computer science. Languages in common use
are showing their age, while no emerging language seems clearly fit
for this purpose. The object-oriented programming languages
community should take this opportunity to work together to select,
to shape, or design the next educational programming language.
The language should support introductory teaching well, embody
contemporary best practice in programming language design, and
could provide a foundation for future research in language design
and implementation.
PLATEAU
• Onward! Workshop: Evaluation and Usability of
Programming Languages and Tools
• Keynote : Gilad Bracha, The Fitness Function for
Programming Languages: A Matter of Taste?
• Programming languages elicit an almost religious fervor
among their adherents. In contrast, researchers are
increasingly searching for objective ways in which
languages and related software artifacts can be evaluated.
We see increased emphasis on rigorous criteria such as
mathematical formalisms, extensive implementation
experience or empirical studies. So, what makes a
programming language or tool "good"? This talk gives a
personal perspective on this question.
KEYNOTES
The Case for Evolvable Software
Stephanie Forrest
• As programmers, we like to think of software as the
product of our intelligent design, carefully crafted to
meet well-specified goals. In reality, large software
systems evolve inadvertently through the actions of
many individual programmers, often leading to
unanticipated consequences. Because software is
subject to constraints similar to those faced by evolving
biological systems, we have much to gain by viewing
software through the lens of evolutionary biology. The
talk will highlight recent research applying the
mechanisms of evolution quite directly to the problem
of repairing software bugs.
Art, Science, and Fear
Benjamin C. Pierce
• Scientists and artists share a conviction that key
elements of their work—creativity, craft, analysis,
intuition—are somehow deeply similar. Most Onward!
participants will have a clear sense of the “scientific
variants” of these qualities, and of what it takes to
manifest them in our day-to-day work as researchers
and software designers. This talk looks at how ideas are
developed and refined in the making of visual art, how
the same qualities—especially creativity, the most
ineffable—come into play, and how artists and
scientists grapple with the various fears that beset
creative work.
Searching Without Objectives
Kenneth Stanley
•
•
Subtitle: To Achieve Our Highest Goals, We Must Be Willing to Abandon Them
Someday computer scientists may build systems of astronomical complexity that provide
profound benefit to humanity. However, the question today is how such feats will ultimately
be achieved. As is common with technology, present limitations to modern approaches
challenge our imagination to search for new paradigms and organizing principles. To examine
the prerequisites to achieving our most ambitious objectives, this talk will contemplate the
implications of recent counterintuitive results from experiments with evolutionary algorithms
that suggest that search (which is a metaphor for innovation in general) is sometimes most
effective when it is not explicitly seeking an objective. In particular, through several
experiments in interactive evolution and with an algorithm called "novelty search," a picture
of innovation is emerging in which objectives can help to guide us one stepping stone away
from our present understanding, yet ultimately become handcuffs that also blind us to
essential orthogonal discoveries on the road to long-term innovation. While the implications
of these insights for reaching our highest goals are in part sobering, the silver lining is that
much can be gained by liberating ourselves from the temptation to frame all our projects in
terms of what they ultimately aim to achieve. Instead, with evidence in hand, we can exploit
the structure of the unknown by orienting ourselves towards discovery and away from the
shackles of mandated outcomes.
What is Picbreeder?
• Picbreeder is based on an idea called evolutionary art,
which is a technique developed by scientists that allows
pictures to be bred almost like animals. For example,
you can start with a butterfly and actually breed it into
an airplane by selecting parents that look like airplanes.
While evolutionary art used to be the solitary activity of
a small group of experts, Picbreeder brings it to the
masses so that not only can you breed our own pictures
and share them with others, but you can also create
new breeds (called branches) from other people's
pictures. It takes a little practice, but it's a surprisingly
powerful way to produce original artwork without the
need for prior talent or skill.
Picbreeder
F#: Don Syme
• F#: Taking Succinct, Efficient, Typed Functional
Programming into the Mainstream
• The release of F# 2.0 makes functional programming a
viable choice for mainstream development in the context of
.NET. We'll look at the evolution that set the scene for F#:
the web and multi-core changes that have taken place in
the industry to make functional programming more
relevant, the long and rich history of functional
programming itself, through to the technical stuff: the
introduction generics in .NET, LINQ in C# and the evolution
of F# itself. We'll look at F# today including its parallel and
asynchronous programming support, and sneak a preview
of F# 3.0 as we integrate a world of data into the functional
programming experience.
Static and Dynamic Type Systems
• Stefan Hanenberg:
An Experiment About Static and Dynamic
Type Systems - Doubts About the Positive
Impact of Static Type Systems on
Development Time.