Projekt

Zurück zur Übersicht

GSync - Global Synchronous Software Development

Titel Englisch GSync - Global Synchronous Software Development
Gesuchsteller/in Lanza Michele
Nummer 129496
Förderungsinstrument Projektförderung (Abt. I-III)
Forschungseinrichtung Facoltà di scienze informatiche Università della Svizzera italiana
Hochschule Università della Svizzera italiana - USI
Hauptdisziplin Informatik
Beginn/Ende 01.04.2010 - 31.03.2013
Bewilligter Betrag 261'191.00
Alle Daten anzeigen

Keywords (5)

software visualization, collaborative software engineering, software evolution, mining software archives, software development

Lay Summary (Englisch)

Lead
Lay summary
Modern software development has in the past two decades gone through radical changes due to higher-productivity tools and techniques to develop and analyze software. In practice this prolongs the lifetime of systems, and therefore generates novel problems affecting them. It is nowadays indeed difficult to make a distinction between developing and maintaining software, because modern techniques have made systems undergo a transition towards ``permanent evolution''. In recent times software industry is facing a new phenomenon: distributed, collaborative software engineering. Indeed, software is nowadays often built by geographically separated development teams, which leads to a number of challenges, namely awareness (the understanding of other's activities to provide a context for one's activities), communication (the exchange of information between developers working remotely), and synchronization (the versioning of the system and the coordination of development activities). Despite recent efforts by a number of researchers, these and other issues concerning collaborative software engineering remain largely unaddressed. The goal of this project is to build on our previous work on "Change-based Software Evolution" in the context of the predecessor project REBASE, and extend it to "Global Synchronous Software Development", a collaborative context in which we model in a fine-grained way the real-time changes that are performed in parallel by developers working on a system.
Direktlink auf Lay Summary Letzte Aktualisierung: 21.02.2013

Verantw. Gesuchsteller/in und weitere Gesuchstellende

Mitarbeitende

Publikationen

Publikation
Enhancing Collaboration of Multi-Developer Projects with Synchronous Changes
Hattori Lile (2010), Enhancing Collaboration of Multi-Developer Projects with Synchronous Changes, in ., .IEEE Computer Society, Palo Alto.
Syde: A Tool for Collaborative Software Development
Hattori Lile (2010), Syde: A Tool for Collaborative Software Development, in Lanza Michele, IEEE Computer Society, Palo Alto.
Object-Focused Environments as Vehicles for Object-Oriented Modeling
Olivero Fernando (2011), Object-Focused Environments as Vehicles for Object-Oriented Modeling, in ., IEEE Computer Society, Los Alamitos.
Gaucho: Programming == Modeling
Olivero Fernando, Lanza Michele (2011), Gaucho: Programming == Modeling, in D'Ambros Marco, Robbes RomainIEEE Computer Society, Los Alamitos.
Change-centric Support For Team Collaboration
Hattori Lile (2011), Change-centric Support For Team Collaboration, in ., IEEE Computer Society, Los Alamitos.
Erase and Rewind - Learning by Replaying Examples
Hattori Lile, Bacchelli Alberto (2011), Erase and Rewind - Learning by Replaying Examples, in Lungu Mircea, Lanza MicheleIEEE Computer Society, Los Alamitos.
Replaying Past Changes in Multi-developer Projects
Hattori Lile, Lungu Mircea (2010), Replaying Past Changes in Multi-developer Projects, in Lanza Michele, IEEE Computer Society, Los Alamitos.
Gaucho: From Integrated Development Environments to Direct Manipulation Environments
Olivero Fernando (2010), Gaucho: From Integrated Development Environments to Direct Manipulation Environments, in Lanza Michele, Lungu MirceaIEEE Computer Society, Los Alamitos.
Manhattan ‚A 3D City Visualizations in Eclipse
Bacchelli Alberto, Rigotti Francesco, Hattori Lile, Lanza Michele (2011), Manhattan ‚A 3D City Visualizations in Eclipse, in Proceedings of Eclipse-IT 2011 (6th Workshop of the Italian Eclipse Community), IEEE Computer Society, Los Alamitos.
A qualitative analysis of preemptive conflict detection
Hattori Lile, Lanza Michele, D'Ambros Marco (2011), A qualitative analysis of preemptive conflict detection, in Proceedings of ICGSE 2012 (7th International Conference on Global Software Engineering), IEEE Computer Society, Los Alamitos.
Software Evolution Comprehension: Replay to the Rescue
Hattori Lile, D'Ambros Marco, Lanza Michele (2011), Software Evolution Comprehension: Replay to the Rescue, in Lungu Mircea, IEEE Computer Society, Palo Alto.
Refining code ownership with synchronous changes
Hattori Lile, Lanza Michele, Robbes Romain (2010), Refining code ownership with synchronous changes, in Journal of Empirical Software Engineering, 1-33.
Collective Code Bookmarks for Program Comprehension
Guzzi Anja, Hattori Lile, Lanza Michele (2011), Collective Code Bookmarks for Program Comprehension, in Pinzger Martin, Van Deursen ArieIEEE Computer Society, Palo Alto.
Software Analytics for Mobile Applications - Insights & Lessons Learned
Minelli Roberto, Lanza Michele (2013), Software Analytics for Mobile Applications - Insights & Lessons Learned, in Proceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering), IEEE CS Press, Los Alamitos.
Object Focused Environments as Vehicles for Object-Oriented Modeling
Olivero Fernando (2011), Object Focused Environments as Vehicles for Object-Oriented Modeling, in Proceedings of ECOOP '11 (25th European Conference on Object-Oriented Programming), IEEE Computer Society, Los Alamitos.
Enabling Program Comprehension through a Visual Object-focused Development Environment
Olivero Fernando, Lanza Michele, D'Ambros Marco, Robbes Romain (2011), Enabling Program Comprehension through a Visual Object-focused Development Environment, in VL/HCC 2011 (27th IEEE Symposium on Visual Languages and Human-Centric Computing), IEEE Computer Society, Los Alamitos.
Ronda: A Fine Grained Collaborative Development Environment
Olivero Fernando, Lanza Michele, D'Ambros Marco (2012), Ronda: A Fine Grained Collaborative Development Environment, in CDVE 2012 (9th International Conference on Cooperative Design, Visualization and Engineering), IEEE Computer Society, Los Alamitos.
Tracking Human-Centric Controlled Experiments with Biscuit
Olivero Fernando, Lanza Michele, D'Ambros Marco, Robbes Romain (2012), Tracking Human-Centric Controlled Experiments with Biscuit, in Proceedings of PLATEAU 2012 (4th International Workshop on Evaluation and Usability of Programming L, IEEE Computer Society, Los Alamitos.
CEL - Modeling Everywhere
Lemma Remo, Lanza Michele, Olivero Fernando (2013), CEL - Modeling Everywhere, in ICSE 2013 (35th International Conference on Software Engineering), IEEE CS Press, Los Alamitos.
Co-Evolution as the Key for Live Programming
Lemma Remo, Lanza Michele, Olivero Fernando (accepted), Co-Evolution as the Key for Live Programming, in Proceedings of LIVE 2013 (1st International Workshop on Live Programming), IEEE CS Press, Los Alamitos.
Object-focused Environments Revisited
Olivero Fernando, Lanza Michele, D'Ambros Marco (accepted), Object-focused Environments Revisited, in Information and Software Technology, TBD(TBD).
Enabling Program Comprehension through a Visual Object-focused Development Environment
Olivero Fernando, Lanza Michele (accepted), Enabling Program Comprehension through a Visual Object-focused Development Environment, in D'Ambros Marco, Robbes RomainIEEE Computer Society, Palo Alto.
Answering Software Evolution Questions: An Empirical Evaluation
Hattori Lile, D'Ambros Marco, Lanza Michele, Lungu Mircea (accepted), Answering Software Evolution Questions: An Empirical Evaluation, in Information and Software Technology, TBD(TBD).

Zusammenarbeit

Gruppe / Person Land
Felder der Zusammenarbeit
INRIA Lille Frankreich (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Austausch von Mitarbeitern
University of Chile Chile (Südamerika)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation
- Austausch von Mitarbeitern
University of Bern Schweiz (Europa)
- vertiefter/weiterführender Austausch von Ansätzen, Methoden oder Resultaten
- Publikation

Wissenschaftliche Veranstaltungen

Aktiver Beitrag

Titel Art des Beitrags Titel des Artikels oder Beitrages Datum Ort Beteiligte Personen
BENEVOL 2011 - Belgian/Netherlands Software Evolution Seminar Vortrag im Rahmen einer Tagung Keynote 07.12.2011 Brussels, Belgien Lanza Michele
CBSOFT 2011 - Brazilian Software Engineering Conference Vortrag im Rahmen einer Tagung Keynote 14.09.2011 Sao Paulo, Brasilien Lanza Michele
ICPC 2011 - IEEE International Conference on Program Comprehension Einzelvortrag Software Evolution Comprehension: Replay to the Rescue 14.06.2011 Kingston, Kanada Hattori Lile; Lanza Michele
ICSE 2011 - ACM/IEEE International Conference on Software Engineering Vortrag im Rahmen einer Tagung Tutorial on Software Visualization 14.05.2011 Honululu, Vereinigte Staaten von Amerika Lanza Michele


Selber organisiert

Titel Datum Ort
CHOOSE Forum on Models vs Services 14.12.2012 Bern, Schweiz
CHOOSE Forum on Software Development 2.0 01.11.2011 Bern, Schweiz

Veranstaltungen zum Wissenstransfer

Aktiver Beitrag

Titel Art des Beitrags Titel des Artikels oder Beitrages Datum Ort Beteiligte Personen
2011 Leipzig Softwareforum Invited Talk Vortrag 14.05.2011 Leipzig, Deutschland


Auszeichnungen

Titel Jahr
Best Paper Award at IWPSE 2010 2010

Verbundene Projekte

Nummer Titel Start Förderungsinstrument
146734 HI-SEA - Holistic Immersive Software Evolution Ambient 01.04.2013 Projektförderung (Abt. I-III)
115990 REBASE - REfactoring-BAsed object-oriented Software Evolution 01.03.2008 Projektförderung (Abt. I-III)

Abstract

Modern software development has in the past two decades gone through radical changes due to higher-productivity tools and techniques to develop and analyze software. In practice this prolongs the lifetime of systems, and therefore generates novel problems affecting them. It is nowadays indeed difficult to make a distinction between developing and maintaining software, because modern techniques have made systems undergo a transition towards ``permanent evolution''. In recent times software industry is facing a new phenomenon: distributed, collaborative software engineering. Indeed, software is nowadays often built by geographically separated development teams, which leads to a number of challenges, namely awareness (the understanding of other's activities to provide a context for one's activities), communication (the exchange of information between developers working remotely), and synchronization (the versioning of the system and the coordination of development activities). Despite recent efforts by a number of researchers, these and other issues concerning collaborative software engineering remain largely unaddressed. The goal of this continuation project is to build on our previous work on "Change-based Software Evolution" in the context of the predecessor project REBASE, and extend it to "Global Synchronous Software Development", a collaborative context in which we model in a fine-grained way the real-time changes that are performed in parallel by developers working on a system. In particular, the GSync project aims to answer the following research questions: 1. How can we model a collaborative change-centric approach? How should concurrent changes be recorded, stored, and shared among workspaces? How can we detect arising commit conflits before they happen, and how can we resolve them? 2. How can we visually augment workspace awareness? How can we assist teams to coordinate development activities? How can we model the relationships of trust that are in place when developers work collaboratively? Can we augment the productivity of developers working in parallel? 3. How can we use 3D visualization to render the complex information generated by collaborative development? How can we step beyond the current state-of-the-art IDEs and create an immersive collaborative development environment? For the GSync project we propose to investigate the following research tracks: 1. Enabling Synchronous Development. We will continue our work on change-based software evolution by devising the infrastructure to take into account collaborative aspects, by addressing the issues that arise when multiple developers work at the same time on the same system. In detail, this implies the creation of a client-server application that records every change happening to a system in real time and then broadcasts this information to all developers. The client side is represented by Syde, the Eclipse IDE plugin we have been developing, which we want to extend to model in a more accurate way, namely at the abstract syntax tree (AST) level, what happens to a system as it is being changed. The server side will serve as central repository for all the changes, and will also broadcast changes to all clients. We will also investigate how in a collaborative context commit conflicts can be detected and resolved before they happen, and will use this as a basis to develop the means to provide assistance to developers working in a collaborative context. 2. Immersive Synchronous Development. Our goal is to use visualization to convey to developers the events that pertain to the first research track, which deals mostly with infrastructural issues that must remain invisible to the developers to minimize information overload. We will devise visual means to augment workspace awareness, to warn of potential conflicts, and in a latter moment to proactively assist developers. In the last part of the project, our goal is to build, on top of the Eclipse IDE, an immersive 3D environment that supports synchronous development activities. 3. Demonstrator & Industrial Validation. This track integrates the first two, as they are intrinsically intertwined, i.e., the first track will provide the infrastructure for the second one, which in turn will provide valuable feedback for the first one. Our goal is to periodically publicly release an integrated version of our software prototypes, which in turn is also needed to potentially attract industrial partners for a real-world validation of our research endeavours.