Theses and Dissertations at Montana State University (MSU)
Permanent URI for this collectionhttps://scholarworks.montana.edu/handle/1/733
Browse
6 results
Search Results
Item Exploratory study on the effectiveness of type-level complexity metrics(Montana State University - Bozeman, College of Engineering, 2018) Smith, Killian; Chairperson, Graduate Committee: Clemente IzurietaThe research presented in this thesis analyzes the feasibility of using information collected at the type level of object oriented software systems as a metric for software complexity, using the number of recorded faults as the response variable. In other words, we ask the question: Do popular industrial language type systems encode enough of the model logic to provide useful information about software quality? A longitudinal case study was performed on five open source Java projects of varying sizes and domains to obtain empirical evidence supporting the proposed type level metrics. It is shown that the type level metrics Unique Morphisms and Logic per Line of Code are more strongly correlated to the number of reported faults than the popular metrics Cyclomatic Complexity and Instability, and performed comparably to Afferent Coupling, Control per Line of Code, and Depth of Inheritance Tree. However, the type level metrics did not perform as well as Efferent Coupling. In addition to looking at metrics at single points in time, successive changes in metrics between software versions was analyzed. There was insufficient evidence to suggest that the metrics reviewed in this case study provided predictive capabilities in regards to the number of faults in the system. This work is an exploratory study; reducing the threats to external validity requires further research on a wider variety of domains and languages.Item Using semi-supervised learning for predicting metamorphic relations(Montana State University - Bozeman, College of Engineering, 2018) Hardin, Bonnie Elizabeth; Chairperson, Graduate Committee: Upulee KanewalaSoftware testing is difficult to automate, especially in programs which face the oracle problem, where an oracle does not exist, or is too hard to develop. Metamorphic testing is a solution to this problem. Metamorphic testing uses metamorphic relations to determine if tests pass or fail. A large amount of time is needed for a domain expert to determine which metamorphic relations can be used to test a given program. Metamorphic relation prediction removes this need for such an expert. We propose a method using semi-supervised learning algorithms to detect which metamorphic relations are applicable to a given code base. Semi-supervised learning is useful in this problem domain as most programs do not have pre-defined metamorphic relations. These programs are considered unlabeled data in a semi-supervised algorithm. We compare two semi-supervised models with a supervised model, and show that the addition of unlabeled data improves the classification accuracy of the metamorphic relation prediction model.Item Internet measurements and application layer optimizations for faster web communications(Montana State University - Bozeman, College of Engineering, 2017) Goel, Utkarsh; Chairperson, Graduate Committee: Mike WittieThe evolution of Web technologies enables interactive Web communications and makes the Web ecosystem more complex. To ensure timely delivery of Web content, the Web Performance Community (WPC) -- comprised of browser vendors, content providers, content delivery networks (CDNs), and network regulators -- develops new protocols and optimization techniques. However, new protocols suffer from insufficiently wide adoption and the optimization techniques often require ISP support. To cope with these challenges, I present several measurement techniques through which WPC could better understand the current state of the Web performance. I also present several application-layer optimizations that enable applications to control how content is delivered in different networks. This work summarizes several best-practices, which have been extensively evaluated on production infrastructure, to which the WPC could and should transition to achieve faster Web communications.Item The power of distributed software agents(Montana State University - Bozeman, College of Engineering, 1995) Kind, Lance DeanItem A web-based interface for the NeuroSys database project(Montana State University - Bozeman, College of Engineering, 2004) Howard, Stuart W.; Chairperson, Graduate Committee: John PaxtonThis paper describes and documents the implementation of a web-based interface for an existing database application. In response to the demand for managing and storing large amounts scientific data, programmers at the Center for Computational Biology at Montana State University have developed client-side software that allows a user to access, edit, and query a remote database. To use this application the client computer must have a current version of Java installed, the application must be downloaded, and browser settings may need to be adjusted. While many of the end users are computer savvy, the setup process challenges other end users. The goal of this project was to develop a server-side, web-based interface for the application that allows users to browse, query, and edit a database by simply visiting a website and logging in. Principles of good design for user interfaces and interactive systems are reviewed and the resulting system is compared with three other database applications using these design principles as criteria. Results of the comparisons are summarized and recommendations for future work on the project are made.Item A computer-aided music composition application using 3D graphics: research and initial design(Montana State University - Bozeman, College of Engineering, 2004) Dickie, Gretchen; Chairperson, Graduate Committee: Ray Babcock; Includes the article, 'Composing music using 3D computer graphics' by Ray S. Babcock.This paper presents the background research and initial design work done on a computer-aided music composition project using 3D graphics. The application is envisioned as an environment where users with varied musical backgrounds can create music by 'sculpting' 3D objects that subsequently have their spatial characteristics mapped to sound parameters. The mapping between a 3D object and its sound involves using the object's silhouette to determine the shape of the ADSR (Attack Decay Sustain Release) sound envelopes associated with the object, thus affecting the object's sound parameters. The 3Dobjects with their associated sounds can then be used to build a 3D scene that represents a musical composition that the user can play. Manipulating an object's size, color, or position in the scene affects the volume, duration, and timbre musical parameters for that object. Literature relevant to the project is reviewed, similar available software products are surveyed and appropriate methodologies and technologies for implementation of the various project modules are proposed. Two different design environments are explored, one utilizing OpenGL and the other using the Smalltalk-80 implementation Squeak. A prototype with limited functionality that was developed in the Squeak environment is presented as a demonstration of Squeak's capabilities and as a visual representation of the project's concept.