Welcome to the Developers page. Here you may get familiar with each one of the platform's toolboxes, through detailed demo videos and descriptions. Moreover, in case you are interested in first results of applying the SDK4ED framework in the applications provided by the project consortium, a dedicated section has been tailored just for this reason.
Last but not least, for a hands-on experience with SDK4ED, as well as consulting the project wiki for extensive training material, you are encouraged to visit the below links.
Toolboxes
Refactorings are part of the Technical Debt Toolbox and are divided in three categories, code
refactorings, design refactorings and architecture refactorings. Refactorings provide solutions to
issues accumulating technical debt. The code refactorings provide a collection of Technical Debt
Issues that contains the rank, based on smell interest probability. Furthermore, for each TD Issue it
contains a collection of the file paths, the line and the estimated effort to fix that Technical Debt
Issue. The Design Refactoring provide suggestions of refactorings and the impact of them on the
design of the software. Two types of refactorings are included, the first one is the extract method
refactoring and the second one suggests move class refactorings that improve coupling and
cohesion of the whole project
The Energy Toolbox enables the user to deeply inspect her source code’s energy-related qualities. Analyzing the whole repository at once, the toolbox cares to locate hotspots of high resource usage that indicate equally high power levels. Analysis of the hotspots is performed on both the loop and the function level. Insights from said analysis are used to suggest possible code refactorings for mitigating the spotted consumption. Analysis results and corresponding suggestions are saved and accessible, in order to minimize future response latency.
In the below demo, the full functionality of the toolbox is displayed.
The purpose of the Forecasting Toolbox is to provide predictive forecasts regarding the evolution of the three core quality attributes targeted by the SDK4ED platform, namely Technical Debt, Energy and Dependability. Towards building a solid basis for the Forecasting Toolbox realization, various dedicated time series and ML models were investigated and introduced as part of the business logic of the toolbox. Hence, this toolbox offers three main features implemented in the form of individual web services: i) TD Forecaster, which is responsible for predicting the evolution of the total remediation effort (measured in minutes) to fix all code issues of a software application, ii) Energy Forecaster, which is responsible for predicting the evolution of the total energy consumption (measured in Joules) of a software application, and iii) Dependability Forecaster, which is responsible for predicting the evolution of the Security Index of a software application.
The TradeOff Manager of the Decision Support tool aims to provide the user with comparable insights with respect to the suggestions given by each of the 3 analysis toolboxes of the platform (Energy, Technical Debt, Dependability). Since each toolbox focuses on different code qualities, an overall view of the interdependencies between individual suggestions is essential for optimal decision making. In the below demonstration, a total of 2 refactorings are retrieved from the toolboxes for a specific project, and the respective impacts to all code qualities are displayed both in tabular and graphical form.
Refactorings as Financial Investment panel hosts a decision-support tool (namely ADMIT—
Architectural Decision-making as a Financial Investment) for software optimization. Therefore, the
tool aims at supporting stakeholders to decide if the application of a quality optimization is
beneficial or not. The developed approach relies upon the cost-benefit modelling and the
prevention-appraisal-failure cost models.