- Project OverviewImpact is a tool for software developers to use in regards to indirect conflicts. These types of conflict are often difficult to find and even solve among developers. Impact, alerts developers to these types of changes and how other developer's actions can effect their own work. Impact works on a method invocation level, where technical dependencies are defined by method invocations.
- SEGAL Members InvolvedJordan Ell, Daniela Damian
Impact, is a research tool designed around the idea of indirect dependencies between developers working on a software project. How Impact operates is as follows. Impact monitors a software repository for new commits. Once a new source code change (commit) is introduced to the project, Impact gets to work. It will analyse the change made to the repository at the method/function level. Here, it will look for changes to methods, and the other methods in the project which rely on those that that have been changed. This forms the basis of the indirect dependencies. From here, the proper developers are alerted to the changes where needed. An example would be that developer A uses a method foo(), this method was recently changed so developer A gets a notification.
The goal of this research is to address software failures that arise from indirect dependencies. From the information we have gathered so far, indirect conflicts occur relatively frequently in software projects while there are currently no good ways of dealing with them or solving them. Developers are left to their own devices to solve such problems. The feature that sets Impact apart from pre-existing tools, is the level of granularity of the indirect conflicts which can be detected (the method level) as opposed to other tools which are at higher more abstract levels.
As we continue to improve Impact as a tool, we are also seeking third party support from experienced software developers in the way of interview and surveys to help us improve Impact. Right now the largest challenge facing Impact is information overload to its users. This is where our current efforts are being spent. We are using our third party information to construct elaborate rules for source code analysis to examine what constitutes a notification worthy source code change.
Results from our STCharts research project may prove to be useful when it comes to the further development of Impact. The notion of socio-technical congruence is deeply embedded in Impact and the results from STCharts could come in handy in terms of evaluation of the system or for information overload refinements.