SWED (Software Engineering Ethics Debater) is an educational argument diagramming tool for the domain of software engineering ethics. SWED provides a set of argument schemes as cognitive building blocks for constructing argument diagrams in this domain. SWED’s user interface and argument schemes were designed by Dr. Nancy Green, University of North Carolina Greensboro. SWED is the follow-on to her previous work on AVIZE. SWED was implemented by Larry Joshua Crotts, a UNCG computer science undergraduate, who refactored AVIZE.
AIED (Artificial Intelligence Ethics Debater) is a version of SWED used in a pilot study in Fall 2019 to test the use of SWED for teaching AI Ethics. The tutorial used in the pilot is at https://www.youtube.com/watch?v=OiTAO16_OUA. To reproduce the pilot study, the following files have been included in this release:
- Cases XMLs: CyBomberCaseStudy.xml, modified-ACM-Malware-caseStudy-with-attribution.xml
- Scheme XMLs: pilot-schemelist.xml
- Ethics XMLs: acmethics-abridged-with-copyright.xml
- Help: help-introduction-AIED.pdf
To run SWED with default argument schemes, simply download the latest release from the swed_release/ folder. A direct link to the executable (Windows) is located [here], whereas the executable JAR file (Windows, MacOS, Linux) is here. Within the swed_release/ folder, there are three subfolders:
- /cases_xmls/
- /ethics_xmls/
- /scheme_xmls/
Each subfolder contains the necessary XML files to load and create cases, ethics, and argument diagrams.
If you wish to utilize your own custom argument schemes, add the schemes in an xml file to the /scheme_xmls/ in your working directory.
If you wish to utilize your own custom case studies, add the cases in an xml file to the /cases_xmls/ in your working directory.
If you wish to utilize your own ethics resources, add the cases in an xml file to /ethics_xmls/ in your working directory.
Please refer to the help files and tutorials in the folders by those names.
All source code is located in the /src/ directory. The relevant [F]XML, and java files are under their respective directories. To rebuild the code in NetBeans 8.2, Java 8 is required (either Oracle, Amazon Corretto, or OpenJDK). Any arbitrary flavor of Java 8 is most likely acceptable, as long as JavaFX is included.
Clone the repository to your computer, then open NetBeans. NetBeans 8.2 has Maven support out of the box, so all you have to do is open the project.
See the Issues Tab.
The master branch encompasses significant development changes in the project, whereas the development branch houses various experimentation and states of progression. This branch is constantly evolving. Rarely (whenever it is best), the master branch is updated to mimic the development branch.