Development of a method for software maintenance using event logs
Previous studies have shown that software maintenance can comprise between 60% and 80% of a software system’s overall cost due to the time spent on maintenance. It is also important to note that in any software system, it is vital to make software maintenance a priority to encourage efficient use of the resources available to the software system. A need, therefore, exists to reduce the time spent on software maintenance. From the literature it could be seen that event logs are vital for software maintenance in systems, but a gap exists regarding which method should be followed on how to log events within the systems. There are currently no methods showing or explaining how to log events and how these event logs should be structured for implementation. Therefore, this dissertation will develop a generic method for software maintenance which uses structured event logs as a base which can be implemented on any software system. This method will aim to reduce the time spent on software maintenance, which can correlate to reducing the overall cost of a software system’s life cycle. The current literature has shown that event logs can also contain valuable information regarding a system’s overall performance. This method will ensure that a software system has enough information in its event log structure to be able to run analyses on the event logs for interpretation. Another advantage to the design of this method is that it will enable effective filtering and make the event logs available to software maintainers. It will also enable the event logs to be easily accessible and stored in one central location. Lastly, this method will ensure that every event log is effectively structured in such a way that it can be implemented and interpreted on any software system. Using this method, a hypothesis is drawn that an event log that contains all the information – as designed from literature – can be used to recognise patterns and event signatures over time and compare them before and after the method has been implemented. Using this method, the time it takes to identify error and critical error hotspots in event logs can also be reduced. Where these hotspots can be identified, a quicker reaction time to them can be expected, which in turn reduces the time spent on software maintenance. There are three distinct systems which were identified on which the designed method for software maintenance were implemented. These systems are all unique with different functionalities which include a system which translates data, a system which extracts data, and a system which sends out reports of the processed data. These systems were used as case studies to prove that the designed method for software maintenance can be used and implemented on any software system to reduce the time spent on software maintenance. The time spent filtering through and finding unstructured event logs compared to the structured event logs in the method after implementation in these case studies was reduced by almost half the time.
- Engineering