Repository logo
 

Application of social networking algorithms in program analysis: understanding execution frequencies

dc.contributor.authorRahman, Minhazur, author
dc.contributor.authorBieman, James M., advisor
dc.contributor.authorFrance, Robert B., committee member
dc.contributor.authorTurk, Daniel E., committee member
dc.date.accessioned2007-01-03T05:00:51Z
dc.date.available2007-01-03T05:00:51Z
dc.date.issued2011
dc.description.abstractThere may be some parts of a program that are more commonly used at runtime, whereas there may be other parts that are less commonly used or not used at all. In this exploratory study, we propose an approach to predict how frequently or rarely different parts of a program will get used at runtime without actually running the program. Knowledge of the most frequently executed parts can help identify the most critical and the most testable parts of a program. The portions predicted to be the less commonly executed tend to be hard to test parts of a program. Knowing the hard to test parts of a program can aid the early development of test cases. In our approach we statically analyse code or static models of code (like UML class diagrams), using quantified social networking measures and web structure mining measures. These measures assign ranks to different portions of code for use in predictions of the relative frequency that a section of code will be used. We validated these rank ordering of predictions by running the program with a common set of use cases and identifying the actual rank ordering. We compared the predictions with other measures that use direct coupling or lines of code. We found that our predictions fared better as they were statistically more correlated to the actual rank ordering than the other measures. We present a prototype tool written as an eclipse plugin, that implements and validates our approach. Given the source code of a Java program, our tool computes the values of the metrics required by our approach to present ranks of all classes in order of how frequently they are expected to get used. Our tool can also instrument the source code to log all the necessary information at runtime that is required to validate our predictions.
dc.format.mediumborn digital
dc.format.mediummasters theses
dc.identifierRahman_colostate_0053N_10636.pdf
dc.identifier.urihttp://hdl.handle.net/10217/46906
dc.languageEnglish
dc.language.isoeng
dc.publisherColorado State University. Libraries
dc.relation.ispartof2000-2019
dc.rightsCopyright and other restrictions may apply. User is responsible for compliance with all applicable laws. For information about copyright law, please see https://libguides.colostate.edu/copyright.
dc.subjectcoupling
dc.subjectstatic analysis
dc.subjectsoftware engineering
dc.subjectsocial network metrics
dc.subjectempirical studies
dc.titleApplication of social networking algorithms in program analysis: understanding execution frequencies
dc.typeText
dcterms.rights.dplaThis Item is protected by copyright and/or related rights (https://rightsstatements.org/vocab/InC/1.0/). You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
thesis.degree.disciplineComputer Science
thesis.degree.grantorColorado State University
thesis.degree.levelMasters
thesis.degree.nameMaster of Science (M.S.)

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Rahman_colostate_0053N_10636.pdf
Size:
848.45 KB
Format:
Adobe Portable Document Format
Description: