Using Jason to Develop Refactoring Agents

2013 
Refactoring is one of the main techniques used when maintaining and evolving the software. It works by changing the software in such way that improves its internal structure without changing its external behavioral. This paper focuses on issues around software refactoring, such as: (i) figure out where the software should be refactored, (ii) define which refactoring(s) should be applied, (iii) ensure that the external behavior of the software will be preserved after applying the refactoring, (iv) evaluate the gains and losses on the software quality resulting of the refactoring, (v) apply the refactoring, and, (vi) maintain the consistence between the refactored program code and other artifacts. Given the amount of issues to be considered, the refactoring activities when done in a manual way are an error-prone and extremely expensive. This paper provides an extension of the Jason platform to enable the development of refactoring agents able to perform software refactoring in an autonomic way. Such approach accelerates the process of executing a refactoring and reduces the probability of introducing defects.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    13
    References
    0
    Citations
    NaN
    KQI
    []