LeenJooken/CollaborationVisualizer
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# Collaboration Visualizer The Collaboration Visualizer is a project that extracts and constructs a collaboration graph from a VCS log. ## Supported input formats Two input formats are supported: *a VCS log transformed into an event log *a plain text file generated by the Tortoise SVN system The code will parse the correct input format based on the extension. No other function has to be explicitly called. How to transform a VCS log into an event log that is supported by the program: *Case ID = File ID *Activity Type = "Commit" *Time stamp = time stamp of the commit *Resource = programmer that committed the file *Other required attributes: modifier status, revision number The transformation to the event log structure is characterized by the following. Every file becomes a case, which implies that the file ID serves as case ID. Every commit by a programmer on that file becomes an event, with ``Commit'' as the activity type, the time stamp of the commit as time stamp, and the programmer that carried out the commit as resource. Further, it is important that two additional attributes are included for every event: the revision number and the modifier status, which indicates if the file in question was added, modified or deleted in that commit. The structure of the event log will then be: Every programmer that did a commit on a file at a certain point in time will be a record in the event log. Example: / Case ID / Activity Type / time:timestamp / org:resource / revision / modifierStatus / ---------------------------------------------------------------------------------------------------------------------------- / 1 / "Commit" / Monday 25 March 2019 12:03:03 / programmerName / 255 / "Modified" / ## Supported output formats The program constructs a collaboration graph, which can be written to CSV files: 1 file for the edges, 1 file for the nodes. The node file has columns for: node ID, node label, weight, boolean indicating if the node represents a cluster of programmers The edge file has columns for: source node ID, target node ID, weight, string indicating is the edge is directed or undirected, string indicating the collaboration type ## Usage ```python Main.py -s VCSlog.txt -nf nodes.csv -ef edges.csv ``` Possible arguments: -s [VCS source file to be read; possible extensions: .txt, .XES] -nf [file name of the output CSV file that will contain the nodes] -ef [file name of the output CSV file that will contain the edges] ## Contributing Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate. ## License MIT License Copyright (c) [2019] [Leen Jooken] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published