Application of social networking algorithms in program analysis: understanding execution frequencies
dc.contributor.author | Rahman, Minhazur, author | |
dc.contributor.author | Bieman, James M., advisor | |
dc.contributor.author | France, Robert B., committee member | |
dc.contributor.author | Turk, Daniel E., committee member | |
dc.date.accessioned | 2007-01-03T05:00:51Z | |
dc.date.available | 2007-01-03T05:00:51Z | |
dc.date.issued | 2011 | |
dc.description.abstract | There 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.medium | born digital | |
dc.format.medium | masters theses | |
dc.identifier | Rahman_colostate_0053N_10636.pdf | |
dc.identifier.uri | http://hdl.handle.net/10217/46906 | |
dc.language | English | |
dc.language.iso | eng | |
dc.publisher | Colorado State University. Libraries | |
dc.relation.ispartof | 2000-2019 | |
dc.rights | Copyright 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.subject | coupling | |
dc.subject | static analysis | |
dc.subject | software engineering | |
dc.subject | social network metrics | |
dc.subject | empirical studies | |
dc.title | Application of social networking algorithms in program analysis: understanding execution frequencies | |
dc.type | Text | |
dcterms.rights.dpla | This 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.discipline | Computer Science | |
thesis.degree.grantor | Colorado State University | |
thesis.degree.level | Masters | |
thesis.degree.name | Master of Science (M.S.) |
Files
Original bundle
1 - 1 of 1
Loading...
- Name:
- Rahman_colostate_0053N_10636.pdf
- Size:
- 848.45 KB
- Format:
- Adobe Portable Document Format
- Description: