Flávio Horita

h-index14
2papers
981citations

2 Papers

3.6SEOct 8, 2021
A Mining Software Repository Extended Cookbook: Lessons learned from a literature review

Daniel Barros, Flavio Horita, Igor Wiese et al.

The main purpose of Mining Software Repositories (MSR) is to discover the latest enhancements and provide an insight into how to make improvements in a software project. In light of it, this paper updates the MSR findings of the original MSR Cookbook, by first conducting a systematic mapping study to elicit and analyze the state-of-the-art, and then proposing an extended version of the Cookbook. This extended Cookbook was built on four high-level themes, which were derived from the analysis of a list of 112 selected studies. Hence, it was used to consolidate the extended Cookbook as a contribution to practice and research in the following areas by: 1) including studies published in all available and relevant publication venues; 2) including and updating recommendations in all four high-level themes, with an increase of 84% in comments in this study when compared with the original MSR Cookbook; 3) summarizing the tools employed for each high-level theme; and 4) providing lessons learned for future studies. Thus, the extended Cookbook examined in this work can support new research projects, as upgraded recommendations and the lessons learned are available with the aid of samples and tools.

3.0SEMar 10, 2020
Architectural Software Patterns for the Development of IoT Smart Applications

Fabrizio Borelli, Gabriela Biondi, Flávio Horita et al.

Software developers usually start coding an application with no formal architecture in mind and relying on intuition and experience instead of on well-known design patters. A different approach is recommended for the development of IoT smart applications due to its high complexity that combines sensors, actuators, communication technologies, and big data analytics, as well as its distributed nature that spans for different layers of field, fog, and cloud infrastructure. Literature reports many experiences of software development for IoT smart applications. However, architectural solutions are presented with no rationale for the choice of software components and the way they relate to each other. This paper proposes a classification for software components and their relationships in order to model a software architecture for a particular IoT smart application. Three smart applications for cities, buildings, and agriculture were selected as examples of using some components, connectors, and well-known design patterns. Finally, the problems and challenges involved in the choice of software architectures for IoT are discussed.