42,99 €
inkl. MwSt.
Versandkostenfrei*
Versandfertig in über 4 Wochen
  • Broschiertes Buch

In this work we attempt to infer software architecture from source code automatically. We have studied and used unsupervised learning methods for this, namely clustering. The state of the art source code (structure) analysis methods and tools were explored, and the ongoing research in software reverse architecting was studied. Graph clustering based on minimum cut trees is a recent algorithm which satisfies strong theoretical criteria and performs well in practice, in terms of both speed and accuracy. Its successful applications in the domain of Web and citation graphs were reported. To our…mehr

Produktbeschreibung
In this work we attempt to infer software architecture from source code automatically. We have studied and used unsupervised learning methods for this, namely clustering. The state of the art source code (structure) analysis methods and tools were explored, and the ongoing research in software reverse architecting was studied. Graph clustering based on minimum cut trees is a recent algorithm which satisfies strong theoretical criteria and performs well in practice, in terms of both speed and accuracy. Its successful applications in the domain of Web and citation graphs were reported. To our knowledge, however, there has been no application of this algorithm to the domain of reverse architecting. Moreover, most of existing software artifact clustering research addresses legacy systems in procedural languages or C++, while we aim at modern object-oriented languages and the implied character of relations between software engineering artifacts. We consider the research direction important because this clustering method allows substantially larger tasks to be solved, which particularly means that we can cluster software engineering artifacts at class-level granularity.
Autorenporträt
Mr Sarge Rogatch received his Master in Artificial Intelligence degree from Amsterdam University in 2010. He is currently working as freelance programmer for open-source C++ compiler Clang/LLVM. He has experience in Algorithms & Data Structures and Performance Optimization, and his interests are Open Source and Artificial Intelligence.