• English
    • svenska
  • svenska 
    • English
    • svenska
  • Logga in
Redigera dokument 
  •   Startsida
  • Student essays / Studentuppsatser
  • Department of Computer Science and Engineering / Institutionen för data- och informationsteknik
  • Kandidatuppsatser
  • Redigera dokument
  •   Startsida
  • Student essays / Studentuppsatser
  • Department of Computer Science and Engineering / Institutionen för data- och informationsteknik
  • Kandidatuppsatser
  • Redigera dokument
JavaScript is disabled for your browser. Some features of this site may not work without it.

Reverse Architecting: Automatic labelling of- Concerns in Reverse Engineered Software Systems

Sammanfattning
A significantly large fraction of time during development and maintenance is spent on understanding unfamiliar parts of software systems. The existence of software documentation, such as software architecture design documentation can significantly reduce the amount of time spent on this task. However in reality, few software systems have an up-to-date documentation because project time pressure makes it impractical to do so. During comprehension therefore, software engineers often try to recover these lost design documentation through reverse engineering. However, current reverse engineered diagrams show only one perspective of a software system; the components that exist in the system and the relationship between them. Often, software engineers require additional perspectives in order to understand how a system works. In this research, we aim to solve this problem by providing one such perspective on top of reverse engineered diagrams. We provide a framework and tool for automatically identifying common system concerns that are found in modern software systems, and then map them back to the software components in the system that implement them. An example of such system concerns are user interfaces, persistence, security etc. A regular question that comes up during comprehension is which software components in a system implement these concerns. We propose a taxonomy of these common concerns, and a framework and tool for automatically identifying and labelling system components that implement them. Our framework is based one lightweight static analysis. It calculates three metrics that are then used during identification. An evaluation of the Concern Detector tool (and in essence the framework) on 4 software systems showed that, authors of the systems agreed 65.5% - 76.8% with the tool’s classification of components in their systems. This indicates that, the tool is useful for describing the roles of these components in terms of implementing these concerns. The current implementation is for the java programming language; however the approach is designed to be generalizable for most object oriented programming languages.
Examinationsnivå
Student essay
URL:
http://hdl.handle.net/2077/39968
Samlingar
  • Kandidatuppsatser
Fil(er)
Bachelor Thesis (1.157Mb)
Datum
2015-07-20
Författare
Andam, Berima K.
Nyckelord
Reverse engineering
program comprehension
concern
static analysis
software metrics
Språk
eng
Metadata
Visa fullständig post

DSpace software copyright © 2002-2016  DuraSpace
gup@ub.gu.se | Teknisk hjälp
Theme by 
Atmire NV
 

 

Visa

VisaSamlingarI datumordningFörfattareTitlarNyckelordDenna samlingI datumordningFörfattareTitlarNyckelord

Mitt konto

Logga inRegistrera dig

DSpace software copyright © 2002-2016  DuraSpace
gup@ub.gu.se | Teknisk hjälp
Theme by 
Atmire NV