Learn More
One of the widely used techniques for evolving software systems is refactoring, a maintenance activity that improves design structure while preserving the external behavior. Exploring past maintenance and development history can be an effective way of finding refactoring opportunities. Code elements which undergo changes in the past, at approximately the(More)
Systems enabling smart city operations are highly adaptive complex systems that pose great challenges in their development and operation. Current user-driven techniques for system domain modeling and requirements engineering are not adequate for supporting the development of such systems. In this paper, we propose a development process and an(More)
MASACAD is a multiagent information customization system that adopts the machine-learning paradigm to advise students by mining the Web. In the distributed problem-solving paradigm, systems can distribute among themselves the processes necessary to accomplish a given task. Given the number of problems that distributed processing can address, AI researchers(More)
Refactoring restructures a program to improve its structure without altering its behavior. However, it is challenging to preserve the domain semantics of a program when refactoring is decided/implemented automatically. Indeed, a program could be syntactically correct, have the right behavior, but model incorrectly the domain semantics. In this paper, we(More)
Fast Health Interoperable Resources (FHIR) is the recently proposed standard from HL7. Its distinguishing features include the user friendly implementation, support of built-in terminologies and for widely-used web standards. Given the safety-critical nature of FHIR, the rigorous analysis of e-health systems using the FHIR is a dire need since they are(More)
One of the widely used techniques to improve the quality of software systems is refactoring. Software refactoring improves the internal structure of the system while preserving its external behavior. These two concerns drive the existing approaches to refactoring automation. However, recent studies demonstrated that these concerns are not enough to produce(More)