1. Successful structures
Software is intangible yet structured.
What architectural design principles Software architecture
Michel Wermelinger
do successful software systems use? Yijun Yu
2. Change is the only constant
flickr.com/photos/iggykaser
Software is malleable and organic: it grows and
decays. We measure how software systems
change and seek patterns of sustainable
evolution.
Software evolution
Juan Fernández-Ramil, Michel Wermelinger, Yijun Yu
3. Reduce bugs
Naming conventions help Naming conventions
create readable identifiers and Simon Butler
Michel Wermelinger
reduce errors in source code Yijun Yu
Helen Sharp
4. Access Control
We’re developing
tools and techniques
to generate software
with verified access
Model-driven access
control policies (who control implementation
can read or change Lionel Montrieux, Yijun Yu
which data). Michel Wermelinger
5. Writing new code by copying and
changing existing one is common, but Baaad clones?
costly in the long run – myth or truth?
Code cloning
Angela Lozano
Michel Wermelinger
flickr.com/photos/h2oalchemist