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
CEL - Modeling Everywhere
(2013), CEL - Modeling Everywhere, in ICSE 2013 (35th International Conference on Software Engineering).
Software Analytics for Mobile Applications - Insights & Lessons Learned
(2013), Software Analytics for Mobile Applications - Insights & Lessons Learned, in Proceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering).
Ronda: A Fine Grained Collaborative Development Environment
(2012), Ronda: A Fine Grained Collaborative Development Environment, in CDVE 2012 (9th International Conference on Cooperative Design, Visualization and Engineering).
Tracking Human-Centric Controlled Experiments with Biscuit
(2012), Tracking Human-Centric Controlled Experiments with Biscuit, in Proceedings of PLATEAU 2012 (4th International Workshop on Evaluation and Usability of Programming L.
A qualitative analysis of preemptive conflict detection
(2011), A qualitative analysis of preemptive conflict detection, in Proceedings of ICGSE 2012 (7th International Conference on Global Software Engineering).
Change-centric Support For Team Collaboration
(2011), Change-centric Support For Team Collaboration, in ..
Collective Code Bookmarks for Program Comprehension
(2011), Collective Code Bookmarks for Program Comprehension, in Pinzger Martin, Van Deursen Arie.
Enabling Program Comprehension through a Visual Object-focused Development Environment
(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).
Erase and Rewind - Learning by Replaying Examples
(2011), Erase and Rewind - Learning by Replaying Examples, in Lungu Mircea, Lanza Michele.
Gaucho: Programming == Modeling
(2011), Gaucho: Programming == Modeling, in D'Ambros Marco, Robbes Romain.
Manhattan ‚A 3D City Visualizations in Eclipse
(2011), Manhattan ‚A 3D City Visualizations in Eclipse, in Proceedings of Eclipse-IT 2011 (6th Workshop of the Italian Eclipse Community).
Object Focused Environments as Vehicles for Object-Oriented Modeling
(2011), Object Focused Environments as Vehicles for Object-Oriented Modeling, in Proceedings of ECOOP '11 (25th European Conference on Object-Oriented Programming).
Object-Focused Environments as Vehicles for Object-Oriented Modeling
(2011), Object-Focused Environments as Vehicles for Object-Oriented Modeling, in ..
Software Evolution Comprehension: Replay to the Rescue
(2011), Software Evolution Comprehension: Replay to the Rescue, in Lungu Mircea.
Enhancing Collaboration of Multi-Developer Projects with Synchronous Changes
(2010), Enhancing Collaboration of Multi-Developer Projects with Synchronous Changes, in ., ..
Gaucho: From Integrated Development Environments to Direct Manipulation Environments
(2010), Gaucho: From Integrated Development Environments to Direct Manipulation Environments, in Lanza Michele, Lungu Mircea.
Refining code ownership with synchronous changes
(2010), Refining code ownership with synchronous changes, in Journal of Empirical Software Engineering, 1-33.
Replaying Past Changes in Multi-developer Projects
(2010), Replaying Past Changes in Multi-developer Projects, in Lanza Michele.
Syde: A Tool for Collaborative Software Development
(2010), Syde: A Tool for Collaborative Software Development, in Lanza Michele.
Answering Software Evolution Questions: An Empirical Evaluation
, Answering Software Evolution Questions: An Empirical Evaluation, in Information and Software Technology, TBD(TBD).
Co-Evolution as the Key for Live Programming
, Co-Evolution as the Key for Live Programming, in Proceedings of LIVE 2013 (1st International Workshop on Live Programming).
Enabling Program Comprehension through a Visual Object-focused Development Environment
, Enabling Program Comprehension through a Visual Object-focused Development Environment, in D'Ambros Marco, Robbes Romain.
Object-focused Environments Revisited
, Object-focused Environments Revisited, in Information and Software Technology, TBD(TBD).

Zusammenarbeit

Gruppe / Person Land
Formen 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
115990 REBASE - REfactoring-BAsed object-oriented Software Evolution 01.03.2008 Projektförderung (Abt. I-III)
146734 HI-SEA - Holistic Immersive Software Evolution Ambient 01.04.2013 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.
-