Analysis of Software Binaries for Reengineering-Driven Product Line Architecture\^aAn Industrial Case Study
Ian D. Peake (RMIT University), Jan Olaf Blech (RMIT University),, Lasith Fernando (RMIT University), Divyasheel Sharma (ABB Corporate Research,, Bangalore), Srini Ramaswamy (ABB Corporate Research, Bangalore), Mallikarjun, Kande (ABB Corporate Research, Bangalore)

TL;DR
This paper presents a method for recovering software architectures from binary files of related products to facilitate refactoring into product lines, combining runtime analysis with clustering to identify software components.
Contribution
It introduces a novel approach that integrates runtime binary analysis with graph clustering to recover and analyze software architectures from binaries.
Findings
Effective clustering of software parts into components
Application to real automation software demonstrates practicality
Supports refactoring into product line architectures
Abstract
This paper describes a method for the recovering of software architectures from a set of similar (but unrelated) software products in binary form. One intention is to drive refactoring into software product lines and combine architecture recovery with run time binary analysis and existing clustering methods. Using our runtime binary analysis, we create graphs that capture the dependencies between different software parts. These are clustered into smaller component graphs, that group software parts with high interactions into larger entities. The component graphs serve as a basis for further software product line work. In this paper, we concentrate on the analysis part of the method and the graph clustering. We apply the graph clustering method to a real application in the context of automation / robot configuration software tools.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
