Research
The Software Composition Group conducted research into tools, techniques and methods for constructing flexible software systems from components. The research group ceased its activities at the end of 2021.
Completed research projects
- Agile Software Assistance (SNSF) — Feb. 2019-Dec. 2021
- Agile Software Analysis (SNSF) — Jan. 2016-Jan. 2019
- Agile Software Assessment (SNSF) — Jan. 2013-Dec. 2015
- Synchronizing Models and Code (SNSF) — Oct. 2010-Dec. 2012
- Bringing Models Closer to Code (SNSF) — Oct. 2008-Sept. 2010
- Enabling the evolution of J2EE applications through reverse engineering and quality assurance (Hasler Foundation) — Oct. 2008-Sept. 2010
- Software Evolution Working Group (ERCIM) — started Oct. 2004
- Analyzing, Capturing and Taming Software Change (SNSF) — Oct. 2006-Sept. 2008
- NOREX — Network of Reengineering Expertise — SCOPES Project (SNSF) — Nov. 2005 - Oct. 2007
- A Unified Approach to Composition and Extensibility (SNSF) — Oct. 2004-Sept. 2006
- RECAST: Evolution of Object-Oriented Applications (SNSF) — Sept. 2002-Aug. 2006
- Foundations of Software Evolution (FWO Research Network) — January 2001 - December 2005
- Traits in C# (Microsoft Research) — March 2004 - Sept. 2005
- Release network (ESF) — July 2002 - Sept. 2005
- Tools and Techniques for Decomposing and Composing Software (SNSF) — Oct. 2002-Sept. 2004
- Meta-models and Tools for Evolution Towards Component Systems (SNSF) — Oct. 2000 - Sept. 2002
- Pervasive Component Systems (PECOS) — Oct. 2000 - Sept. 2002
- A Framework Approach to Composing Heterogeneous Applications (SNSF) — Oct. 1998 - Sept. 2000
- Coordina (Coordination models and languages) — Aug. 1997 - Aug. 2000
- FAMOOS — Sept. 1996 - Dec. 1999.
- Infrastructure for Software Component Frameworks (SNSF) — Oct. 1996 - Sept. 1998
- Composing Active Objects (SNSF) — Oct. 1994 - Sept. 1996
Completed research activities
-
Architectural Monitoring — improve the specification and verification of architectural constraints
-
Bifröst — Unifies the base-level and the meta-level
- Chameleon — Decoupled instrumentation technique
- MetaSpy — Domain-specific profilers
- Object-Centric Debugging — Object-centric debugging
- Prisma — Reflect as you go, dynamic scopes.
- Talents — Dynamically composable units of reuse
-
Big Software Data — analyzing software at the largest scale
-
ByteSurgeon — Runtime bytecode transformation for smalltalk
-
Changeboxes — Modeling change as a first-class entity
-
CityVR — gameful software visualization
-
Classboxes — A minimal module model supporting local rebinding
-
CommunityExplorer — a visualisation framework for the analysis of collaboration networks
-
Contexts — Temporal, active and structural variability with context objects
- Theseus — Dynamically updating servers without restarting
- Dynamic Ownership — Scaling encapsulation from objects to aggregates
- Delegation Proxies — Building blocks to implement active variability
-
DoodleDebug — simply visualizing Java objects
-
EATI — Ecosystem Aware Type Inference prototype implementation for Pharo smalltalk
-
Explora — a visualisation tool for the analysis of multiple metrics of software corpora
-
Freq — An augmentation of method seeking tools for faster method seeking
-
Helvetia — Context specific language integration
- Language Boxes — Bending Syntax and Semantics of the Host Language
- PetitParser — Practical Dynamic Grammars for Dynamic Languages
-
Hermion — Enhanced IDE for Smalltalk
-
JExample — Unit tests should depend on each other
-
MetaVis — an explorer of actionable visualisation
-
MediaVis — on the impact of the medium in the effectiveness of software visualizations
-
Moldable Development Tools
- The "Moldable Debugger" — a framework for developing domain-specific debuggers
- The "Moldable Inspector" — high-level ways to visualize and explore objects
- The "Moldable Spotter" — a unified search interface for IDEs
-
Moose — A platform for software and data analysis
-
Object Flow — Tracking the flow of objects at runtime
-
Pangea — infrastructure for statically analysing software corpora.
-
PerfVis — Visualization in Immersive Augmented Reality for Software Performance
-
PetitParser Compiler — a framework for faster PetitParser
-
Pharogenesis — Building the version history in Pharo and Squeak
-
Piccola — a small composition language
-
Pinocchio — An open system for language experimentation
-
QualityAssistant study — interviews with Pharo Developers on JIT feedback
-
Reflectivity — Sub-method reflection for Smalltalk
-
SCodeBubbles — exploring CodeBubbles for Smalltalk
-
Senseo — Integrating dynamic metrics in Eclipse
-
Software Cartography — Your roadmap to software!
-
Softwarenaut — a visual, interactive architecture recovery tool (see the vimeo screencast)
-
Software Visualization Evaluation — a literature review on the evaluation of software visualization
-
Software Visualization Ontology — modeling the main concepts of software visualizations
-
Subjectopia — A unified subjectivity model
-
TextLint — Natural Language Checking
-
3D Software Visualization in Augmented Reality — 3D software visualization displayed on immersive augmented reality to overcome usability issues.
-
Traits — Composable units of behavior
-
Vision Backlog — a mobile tool for Industry 4.0 requirements elicitation
-
Zeeguu - Ubiquitious Second Language Acquisition