Browsing by Author "Ghosh, Sudipto, committee member"
Now showing 1 - 20 of 23
Results Per Page
Sort Options
Item Open Access A distributed network of autonomous environmental monitoring systems(Colorado State University. Libraries, 2018) Kinhal, Kiran Krishnamurthy, author; Azimi-Sadjadi, Mahmood R., advisor; Wilson, Jesse, committee member; Ghosh, Sudipto, committee memberAcoustic wireless sensor networks have found applications in various areas including monitoring, assisted living, home automation, security and situational awareness. The process of acoustic detection and classification usually demands significant human involvement in the form of visual and audio examination of the collected data. The accuracy of the detection and classification outcome through this process is often limited by inevitable human errors. In order to overcome this limitation and to automate this process, we present a new fully decentralized decision-making platform referred to as Environmental Monitoring Station (EMS) for sensor-level detection and classification of acoustic airborne sources in national parks. The EMS automatically reports this information to a park station through two wireless communication systems. More specifically, in this thesis, we focus on the implementation of the communication systems on the EMS, and also on the design of 1/3rd octave filter bank that is used for onboard spectral sub-band feature generation. A 1/3rd octave filter bank was implemented on the ARTIX-7 FPGA as a custom hardware unit and was interfaced with the detection and classification algorithm on the MicroBlaze softcore processor. The detection results are stored in an SD card and the source counts are tracked in the MicroBlaze firmware. The EMS board is equipped with two expansion slots for incorporating the XBee as well as GSM communication systems. The XBee modules help to build a self-forming mesh network of EMS nodes and makes it easy to add or remove nodes into the network. The GSM module is used as a gateway to send data to the web server. The EMS system is capable of performing detection, classification, and reporting of the source events in near real-time. A field test was recently conducted in the Lake Mead National Recreation Area by deploying a previously trained system as a slave node and a gateway as a master node to demonstrate and evaluate the detection and classification and the networking abilities of the developed system. It was found that the trained EMS system was able to adequately detect and classify the sources of interest and communicate the results through a gateway to the park station successfully. At the time of writing this document, only two fully functional EMS boards were built. Thus, it was not possible to physically build a mesh network of several EMS systems. Thus, future research should focus on accomplishing this task. During the field test, it was not possible to achieve a high transmission range for XBee, due to RF interference present in the deployment area. An effort needs to be made to achieve a higher transmission range for XBees by using a high gain antenna and keeping the antenna in line-of-sight as much as possible. Due to inadequate training data, the EMS system frequently misclassified the sources and mis-detected interference as sources. Thus, it is necessary to train the detection and classification algorithm by using a larger and more representative data set with considerable variability to make it more robust and less prone to variability in deployment location.Item Open Access A hybrid model checking approach to analysing rule conformance applied to HIPAA privacy rules(Colorado State University. Libraries, 2017) Bennett, Phillipa, author; Bieman, James, advisor; Georg, Geri, advisor; Turk, Daniel, committee member; Ghosh, Sudipto, committee memberMany of today's computing systems must show evidence of conformance to rules. The rules may come from business protocol choices or from multi-jurisdictional sources. Some examples are the rules that come from the regulations in the Health Insurance Portability and Accountability Act (HIPAA) protecting the privacy of patient information and the Family Educational Rights and Privacy Act (FERPA) protecting the privacy of student education records. The rules impose additional requirements on already complex systems, and rigorous analysis is needed to show that any system implementing the rules exhibit conformance. If the analysis finds that a rule is not satisfied, we adjudge that the system fails conformance analysis and that it contains a fault, and this fault must be located in the system and fixed. The exhaustive analysis performed by Model Checking makes it suitable for showing that systems satisfy conformance rules. Conformance rules may be viewed in two, sometimes overlapping, categories: process- aware conformance rules that dictate process sequencing, and data-aware conformance rules that dictate acceptable system states. Where conformance rules relate to privacy, the analysis performed in model check- ing requires the examination of fine-grained structural details in the system state for showing conformance to data-aware conformance rules. The analysis of these rules may cause model checking to be intractable due to a state space explosion when there are too many system states or too many details in a system state. To over- come this intractable complexity, various abstraction techniques have been proposed that achieve a smaller abstracted system state model that is more amenable to model checking. These abstraction techniques are not useful when the abstractions hide the details necessary to verify conformance. If non-conformance occurs, the abstraction may not allow isolation of the fault. In this dissertation, we introduce a Hybrid Model Checking Approach (HMCA) to analyse a system for both process- and data-aware conformance rules without abstracting the details from a system's detailed process- and data models. Model Checking requires an analysable model of the system under analysis called a program graph and a representation of the rules that can be checked on the program graph. In our approach, we use connections between a process-oriented (e.g. a Unified Modelling Language (UML) activity model) and a data-oriented (e.g. UML class model) to create a unified paths-and-state system model. We represent this unified model as a UML state machine. The rule-relevant part of the state machine along with a graph-oriented formalism of the rules are the inputs to HMCA. The model checker uses an exhaustive unfolding of the program graph to produce a transition system showing all the program graph's reachable paths and states. Intractable complexity during model checking is encountered when trying to create the transition system. In HMCA, we use a divide and conquer approach that applies a slicing technique on the program graph to semi- automatically produce the transition system by analysing each slice individually, and composing its result with the results from other slices. Our ability to construct the transition system from the slices relieves a traditional model checker of that step. We then return to use model checking techniques to verify whether the transition system satisfies the rules. Since the analysis involves examining system states, if any of the rules are not satisfied, we can isolate the specific location of the fault from the details contained in the slices. We demonstrate our technique on an instance of a medical research system whose requirements include the privacy rules mandated by HIPAA. Our technique found seeded faults for common mistakes in logic that led to non-conformance and underspecification leading to conflicts of interests in personnel relationships.Item Open Access A meta-modeling approach to specifying patterns(Colorado State University. Libraries, 2004) Kim, Dae-Kyoo, author; France, Robert B., advisor; Bieman, James M., committee member; Ghosh, Sudipto, committee member; Turk, Daniel E., committee memberA major goal in software development is to produce quality products in less time and with less cost. Systematic reuse of software artifacts that encapsulate high-quality development experience can help one achieve the goal. Design patterns are a common form of reusable design experience that can help developers reduce development time. Prevalent design patterns are, however, described informally (e.g., [35]). This prevents systematic use of patterns. The research documented in this dissertation is aimed at developing a practical pattern specification technique that supports the systematic use of patterns during design modeling. A pattern specification language called the Role-Based Metamodeling Language (RBML) was developed as part of this research. The RBML specifies a pattern as a specialization of the UML metamodel. The RBML uses the Unified Modeling Language (UML) as a syntactic base to enable the use of UML modeling tools for creating and evolving pattern specifications. We used the RBML to develop specifications for design patterns in the Design Patterns book [35] including Abstract Factory, Bridge, Decorator, Observer, State, Iterator, and Visitor. We also used the RBML to define a large application domain pattern for checkin-checkout systems, and used the resulting specification to develop UML designs for a library system and a car rental system. In addition, we used the RBML to specify access control mechanisms as patterns including Role-Based Access Control (RBAC), Mandatory Access Control (MAC), and a Hybrid Access Control (HAC) that is a composition of RBAC and MAC. The RBML is currently used at NASA for modeling pervasive requirements as patterns. NASA also uses the RBML in the development of Weather CTAS System that is a weather forecasting system. To determine the potential of the RBML to support the development of tools that enable systematic use of patterns, we developed a prototype tool called RBMLPattern Instantiator (RBML-PI) that generates conforming UML models from RBML pattern specifications.Item Open Access A scenario-based technique to analyze UML design class models(Colorado State University. Libraries, 2014) Yu, Lijun, author; France, Robert B., advisor; Ray, Indrakshi, committee member; Ghosh, Sudipto, committee member; Malaiya, Yashwant, committee member; Turk, Dan, committee memberIdentifying and resolving design problems in the early design phases can help reduce the number of design errors in implementations. In this dissertation a tool-supported lightweight static analysis technique is proposed to rigorously analyze UML design class models that include operations specified using the Object Constraint Language (OCL). A UML design class model is analyzed against a given set of scenarios that describe desired or undesired behaviors. The technique can leverage existing class model analysis tools such as USE and OCLE. The analysis technique is lightweight in that it analyzes functionality specified in a UML design class model within the scope of a given set of scenarios. It is static because it does not require that the UML design class model be executable. The technique is used to (1) transform a UML design class model to a snapshot transition model that captures valid state transitions, (2) transform given scenarios to snapshot transitions and (3) determine if the snapshot transitions conform or not to the snapshot transition model. A design inconsistency exists if snapshot transitions that represent desired behaviors do not conform to the snapshot transition model, or if snapshot transitions representing undesired behaviors conform to the snapshot transition model. A Scenario-based UML Design Analysis tool was developed using Kermeta and the Eclipse Modeling Framework. The tool can be used to transform an Ecore design class model to a snapshot transition model and transform scenarios to snapshot transitions. The tool is integrated with the USE analysis tool. We used the Scenario-based UML Design Analysis technique to analyze two design class models: a Train Management System model and a Generalized Spatio-Temporal RBAC model. The two demonstration case studies show how the technique can be used to analyze the inconsistencies between UML design class models and scenarios. We performed a pilot study to evaluate the effectiveness of the Scenario-based UML Design Analysis technique. In the pilot study the technique uncovered at least as many design inconsistencies as manual inspection techniques uncovered, and the technique did not uncover false inconsistencies. The pilot study provides some evidence that the Scenario-based UML Design Analysis technique is effective. The dissertation also proposes two scenario generation techniques. These techniques can be used to ease the manual effort needed to produce scenarios. The scenario generation techniques can be used to automatically generate a family of scenarios that conform to specified scenario generation criteria.Item Open Access A spiral design: redesigning CS 1 based on techniques for memory recall(Colorado State University. Libraries, 2021) Lionelle, Albert, author; Beveridge, J. Ross, advisor; Ghosh, Sudipto, committee member; Blanchard, Nathaniel, committee member; Folkestad, James, committee memberComputer Science (CS 1) offerings in most universities tend to be notoriously difficult. Over the past 60 years about a third of students either fail or drop out of the course. Past research has focused on improving teaching methods through small changes without changing the overall course structure. The premise of this research is that restructuring the CS 1 course using a Spiral pedagogy based on principles for improving memory and recall can help students learn the information and retain it for future courses. Using the principles of Spacing, Interleaving, Elaboration, Practiced Retrieval, and Reflection, CS 1 was fundamentally redesigned with a complete reordering of topics. The new pedagogy was evaluated by comparing the students with those coming from a traditional offering in terms of (1) CS 1 performance, (2) CS 2 performance, and (3) retention of students between CS 1 and 2. Additionally, students were tracked on the individual outcome / topic level of their performance, and students filled out surveys measuring learning motivation and self-regulation. The Spiral pedagogy helped students outperform those who learned via the traditional pedagogy by 9% on final exam scores in CS 1 with a significant difference. Furthermore, 23% of students taught using the Spiral pedagogy mastered greater than 90% of the outcomes, where those taught with the traditional method only mastered 5% of the learning outcomes. Students who were taught with the Spiral pedagogy showed a greatly increased interest in Computer Science by the end of the course, with women showing the greatest increase in interest towards Computer Science. Retention is increased between CS 1 and CS 2 with a 19.2% increase for women, and a 9.2% increase overall. Five weeks later, students were given the same final exam by way of a review exam in CS 2. With the gap in time to forget, those taught with the Spiral pedagogy scored 10-12.5% higher than their peers taught using the traditional method. The change in pedagogy showed an influence with Cohen's d = .69. Furthermore, students continued to do better in CS 2 with increased grades across all assessments, including programming capabilities. By the end of CS 2 only 65% of students who learned by the traditional method passed CS 2 with a C or above while students who learned via the Spiral pedagogy had 80% pass with a C or above. The framework for the Spiral Design is presented along with implementation suggestions if others wish to duplicate the pedagogy for their course along with future research suggestions; including building a Spiral Curriculum to enhance performance across courses and interactive tools to act as a means of intervention using techniques proven to improve recall of past content. Overall the Spiral Design shows promising results as the next generation in course design for supporting student achievement and provides additional pathways for future research.Item Open Access An aspect-based approach to modeling access control policies(Colorado State University. Libraries, 2007) Song, Eunjee, author; France, Robert B., advisor; Ray, Indrakshi, advisor; Bieman, James M., committee member; Ghosh, Sudipto, committee member; Kim, Joon K., committee memberAccess control policies determine how sensitive information and computing resources are to be protected. Enforcing these policies in a system design typically results in access control features that crosscut the dominant structure of the design (that is, features that are spread across and intertwined with other features in the design). The spreading and intertwining of access control features make it difficult to understand, analyze, and change them and thus complicate the task of ensuring that an evolving design continues to enforce access control policies. Researchers have advocated the use of aspect-oriented modeling (AOM) techniques for addressing the problem of evolving crosscutting features. This dissertation proposes an approach to modeling and analyzing crosscutting access control features. The approach utilizes AOM techniques to isolate crosscutting access control features as patterns described by aspect models. Incorporating an access control feature into a design involves embedding instantiated forms of the access control pattern into the design model. When composing instantiated access control patterns with a design model, one needs to ensure that the resulting composed model enforces access control policies. The approach includes a technique to verify that specified policies are enforced in the composed model. The approach is illustrated using two well-known access control models: the Role- Based Access Control (RBAC) model and the Bell-LaPadula (BLP) model. Features that enforce RBAC and BLP models are described by aspect models. We show how the aspect models can be composed to create a new hybrid access control aspect model. We also show how one can verify that composition of a base (primary) design model and an aspect model that enforces specified policies produces a composed model in which the policies are still enforced.Item Open Access Aperture: a system for interactive visualization of voluminous geospatial data(Colorado State University. Libraries, 2020) Bruhwiler, Kevin, author; Pallickara, Shrideep, advisor; Pallickara, Sangmi Lee, advisor; Ghosh, Sudipto, committee member; Chandrasekaran, Venkatachalam, committee memberThe growth in observational data volumes over the past decade has occurred alongside a need to make sense of the phenomena that underpin them. Visualization is a key component of the data wrangling process that precedes the analyses that informs these insights. The crux of this study is interactive visualizations of spatiotemporal phenomena from voluminous datasets. Spatiotemporal visualizations of voluminous datasets introduce challenges relating to interactivity, overlaying multiple datasets and dynamic feature selection, resource capacity constraints, and scaling. Our methodology to address these challenges relies on a novel mix of algorithms and systems innovations working in concert to ensure effective apportioning and amortization of workloads and enables interactivity during visualizations. In particular our research prototype, Aperture, leverages sketching algorithms, effective query predicate generation and evaluation, avoids performance hotspots, harnesses coprocessors for hardware acceleration, and convolutional neural network based encoders to render visualizations while preserving responsiveness and interactivity. Finally, we also explore issues in effective containerization to support visualization workloads. We also report on several empirical benchmarks that profile and demonstrate the suitability of our methodology to preserve interactivity while utilizing resources effectively to scale.Item Open Access Assessment and improvement of automated program repair mechanisms and components(Colorado State University. Libraries, 2015) Assiri, Fatmah Yousef, author; Bieman, James M., advisor; Ghosh, Sudipto, committee member; France, Robert B., committee member; Callahan, Gerald, committee memberAutomated program repair (APR) refers to techniques that locate and fix software faults automatically. An APR technique locates potentially faulty locations, then it searches the space of possible changes to select a program modification operator (PMO). The selected PMO is applied to a potentially faulty location thereby creating a new version of the faulty program, called a variant. The variant is validated by executing it against a set of test cases, called repair tests, which is used to identify a repair. When all of the repair tests are successful, the variant is considered a potential repair. Potential repairs that have passed a set of regression tests in addition to those included in the repair tests are deemed to be validated repairs. Different mechanisms and components can be applied to repair faults. APR mechanisms and components have a major impact on APR effectiveness, repair quality, and performance. APR effectiveness is the ability to and potential repairs. Repair quality is defined in terms of repair correctness and maintainability, where repair correctness indicates how well a potential repaired program retains required functionality, and repair maintainability indicates how easy it is to understand and maintain the generated potential repair. APR performance is the time and steps required to find a potential repair. Existing APR techniques can successfully fix faults, but the changes inserted to fix faults can have negative consequences on the quality of potential repairs. When a potential repair is executed against tests that were not included in the repair tests, the "repair" can fail. Such failures indicate that the generated repair is not a validated repair due to the introduction of other faults or the generated potential repair does not actually fix the real fault. In addition, some existing techniques add extraneous changes to the code that obfuscate the program logic and thus reduce its maintainability. APR effectiveness and performance can be dramatically degraded when an APR technique applies many PMOs, uses a large number of repair tests, locates many statements as potentially faulty locations, or applies a random search algorithm. This dissertation develops improved APR techniques and tool set to help optimize APR effectiveness, the quality of generated potential repairs, and APR performance based on a comprehensive evaluation of APR mechanisms and components. The evaluation involves the following: (1) the PMOs used to produce repairs, (2) the properties of repair tests used in the APR, (3) the fault localization techniques employed to identify potentially faulty statements, and (4) the search algorithms involved in the repair process. We also propose a set of guided search algorithms that guide the APR technique to select PMO that fix faults, which thereby improve APR effectiveness, repair quality, and performance. We performed a set of evaluations to investigate potential improvements in APR effectiveness, repair quality, and performance. APR effectiveness of different program modification operators is measured by the percent of fixed faults and the success rate. Success rate is the percentage of trials that result in potential repairs. One trial is equivalent to one execution of the search algorithm. APR effectiveness of different fault localization techniques is measured by the ability of a technique to identify actual faulty statements, and APR effectiveness of various repair test suites and search algorithms is also measured by the success rate. Repair correctness is measured by the percent of failed potential repairs for 100 trials for a faulty program, and the average percent of failed regression tests for N potential repairs for a faulty program; N is the number of potential repairs generated for 100 trials. Repair maintainability is measured by the average size of a potential repair, and the distribution of modifications throughout a potential repaired program. APR performance is measured by the average number of generated variants and the average total time required to find potential repairs. We built an evaluation framework creating a configurable mutation-based APR (MUT-APR) tool. MUT-APR allows us to vary the APR mechanisms and components. Our key findings are the following: (1) simple PMOs successfully fix faulty expression operators and improve the quality of potential repairs compared to other APR techniques that use existing code to repair faults, (2) branch coverage repair test suites improve APR effectiveness and repair quality significantly compared to repair test suites that satisfy statement coverage or random testing; however, they lowered APR performance, (3) small branch coverage repair test suites improved APR effectiveness, repair quality, and performance significantly compared to large branch coverage repair tests, (4) the Ochiai fault localization technique always identifies seeded faulty statements with an acceptable performance, and (5) guided random search algorithm improves APR effectiveness, repair quality, and performance compared to all other search algorithms; however, the exhaustive search algorithms is guaranteed a potential repair that failed fewer regression tests with a significant performance degradation as the program size increases. These improvements are incorporated into the MUT-APR tool for use in program repairs.Item Open Access Automatic detection of constraints in software documentation(Colorado State University. Libraries, 2021) Ghosh, Joy, author; Moreno Cubillos, Laura, advisor; Ghosh, Sudipto, committee member; Vijayasarathy, Leo, committee memberSoftware documentation is an important resource when maintaining and evolving software, as it supports developers in program understanding. To keep it up to date, developers need to verify that all the constraints affected by a change in source code are consistently described in the documentation. The process of detecting all the constraints in the documentation and cross-checking the constraints in the source code is time-consuming. An approach capable of automatically identifying software constraints in documentation could facilitate the process of detecting constraints, which are necessary to cross-check documentation and source code. In this thesis, we explore different machine learning algorithms to build binary classification models that assign sentences extracted from software documentation to one of two categories: constraints and non-constraints. The models are trained on a data set that consists of 368 manually tagged sentences from four open-source software systems. We evaluate the performance of the different models (Decision tree, Naive Bayes, Support Vector Machine, Fine-tuned BERT) based on precision, recall and F1-score. Our best model (i.e., a decision tree featuring bigrams) was able to achieve 74.0% precision, 83.8% recall and an F1-score of 0.79. This suggests that our results are promising and that it is possible to build machine learning based models for the automatic detection of constraints in the software documentation.Item Open Access Collaborating with artists to design additional multimodal and unimodal interaction techniques for three-dimensional drawing in virtual reality(Colorado State University. Libraries, 2023) Sullivan, Brian T., author; Ortega, Francisco, advisor; Ghosh, Sudipto, committee member; Tornatzky, Cyane, committee member; Barrera Machuca, Mayra, committee member; Batmaz, Anil Ufuk, committee memberAlthough drawing is an old and common mode of human creativity and expression, virtual reality (VR) has presented an opportunity for a novel form of drawing. Instead of representing three-dimensional objects with marks on a two-dimensional surface, VR permits people to create three-dimensional (3D) drawings in midair. It remains unknown, however, what would constitute an optimal interface for 3D drawing in VR. This thesis helps to answer this question by describing a co-design study conducted with artists to identify desired multimodal and unimodal interaction techniques to incorporate into user interfaces for 3D VR drawing. Numerous modalities and interaction techniques were proposed in this study, which can inform future research into interaction techniques for this developing medium.Item Open Access Design and evaluation of the FAMILIAR tool(Colorado State University. Libraries, 2014) Jaksic, Aleksandar, author; France, Robert B., advisor; Anderson, Charles W., committee member; Ghosh, Sudipto, committee member; Troup, Lucy J., committee memberSoftware Product Line Engineering (SPLE) aims to efficiently produce multiple software products, on a large scale, that share a common set of core development features. Feature Modeling is a popular SPLE technique used to describe variability in a product family. FAMILIAR (FeAture Model scrIpt Language for manipulation and Automatic Reasoning) is a Domain-Specific Modeling Language (DSML) for manipulating Feature Models (FMs). One of the strengths of the FAMILIAR language is that it provides rich semantics for FM composition operators (aggregate, merge, insert) as well as decomposition operators (slice). The main contribution of this thesis is to provide an integrated graphical modeling environment that significantly improves upon the initial FAMILIAR framework that was text-based and consisted of loosely coupled parts. As part of this thesis we designed and implemented a new FAMILIAR Tool that provides (1) a fast rendering framework for the graphically representing feature models, (2) a configuration editor and (3) persistence of feature models. Furthermore, we evaluated the usability of our new FAMILIAR Tool by performing a small experiment primarily focusing on assessing quality aspects of newly authored FMs as well as user effectiveness and efficiency.Item Open Access Detecting non-secure memory deallocation with CBMC(Colorado State University. Libraries, 2021) Singh, Mohit K., author; Prabhu, Vinayak, advisor; Ray, Indrajit, advisor; Ghosh, Sudipto, committee member; Ray, Indrakshi, committee member; Simske, Steve, committee memberScrubbing sensitive data before releasing memory is a widely recommended but often ignored programming practice for developing secure software. Consequently, sensitive data such as cryptographic keys, passwords, and personal data, can remain in memory indefinitely, thereby increasing the risk of exposure to hackers who can retrieve the data using memory dumps or exploit vulnerabilities such as Heartbleed and Etherleak. We propose an approach for detecting a specific memory safety bug called Improper Clearing of Heap Memory Before Release, referred to as Common Weakness Enumeration 244. The CWE-244 bug in a program allows the leakage of confidential information when a variable is not wiped before heap memory is freed. Our approach uses the CBMC model checker to detect this weakness and is based on instrumenting the program using (1) global variable declarations that track and monitor the state of the program variables relevant for CWE-244, and (2) assertions that help CBMC to detect unscrubbed memory. We develop a tool, SecMD-Checker, implementing our instrumentation based algorithm, and we provide experimental validation on the Juliet Test Suite that the tool is able to detect all the CWE-244 instances present in the test suite. The proposed approach has the potential to work with other model checkers and can be extended for detecting other weaknesses that require variable tracking and monitoring, such as CWE-226, CWE-319, and CWE-1239.Item Open Access Efficient input space exploration for falsification of cyber-physical systems(Colorado State University. Libraries, 2022) Savaliya, Meetkumar, author; Prabhu, Vinayak, advisor; Pasricha, Sudeep, committee member; Ghosh, Sudipto, committee memberIn recent years black-box optimization based search testing for Signal Temporal Logic (STL)specifications has been shown to be a promising approach for finding bugs in complex Cyber Physical Systems (CPS) that are out of reach of formal analysis tools. The efficacy of this approach depends on efficiently exploring the input space, which for CPS is infinite. Inputs for CPS are defined as functions from some time domain to the domain of signal values. Typically, in black-box based testing, input signals are constructed from a small set of parameters, and the optimizer searches over this set of parameters to get a falsifying input. In this work we propose a heuristic that uses the step response of the system – a standard system characteristic from Control Engineering – to obtain a smaller time interval in which the optimizer needs to vary the inputs, enabling the use of a smaller set of parameters over which the optimizer needs to search over. We evaluate the heuristic on three complex Simulink model benchmarks from the CPS falsification community, and we demonstrate the efficacy of our approach.Item Open Access Enhancing the test and evaluation process: implementing agile development, test automation, and model-based systems engineering concepts(Colorado State University. Libraries, 2020) Walker, Joshua T., author; Borky, John, advisor; Bradley, Thomas, advisor; Chong, Edwin, committee member; Ghosh, Sudipto, committee member; Jayasumana, Anura, committee memberWith the growing complexity of modern systems, traditional testing methods are falling short. Test documentation suites used to verify the software for these types of large, complex systems can become bloated and unclear, leading to extremely long execution times and confusing, unmanageable test procedures. Additionally, the complexity of these systems can prevent the rapid understanding of complicated system concepts and behaviors, which is a necessary part of keeping up with the demands of modern testing efforts. Opportunities for optimization and innovation exist within the Test and Evaluation (T&E) domain, evidenced by the emergence of automated testing frameworks and iterative testing methodologies. Further opportunities lie with the directed expansion and application of related concepts such as Model-Based Systems Engineering (MBSE). This dissertation documents the development and implementation of three methods of enhancing the T&E field when applied to a real-world project. First, the development methodology of the system was transitioned from Waterfall to Agile, providing a more responsive approach when creating new features. Second, the Test Automation Framework (TAF) was developed, enabling the automatic execution of test procedures. Third, a method of test documentation using the Systems Modeling Language (SysML) was created, adopting concepts from MBSE to standardize the planning and analysis of test procedures. This dissertation provides the results of applying the three concepts to the development process of an airborne Electronic Warfare Management System (EWMS), which interfaces with onboard and offboard aircraft systems to receive and process the threat environment, providing the pilot or crew with a response solution for the protection of the aircraft. This system is representative of a traditional, long-term aerospace project that has been constantly upgraded over its lifetime. Over a two-year period, this new process produced a number of qualitative and quantitative results, including improving the quality and organization of the test documentation suite, reducing the minimum time to execute the test procedures, enabling the earlier identification of defects, and increasing the overall quality of the system under test. The application of these concepts generated many lessons learned, which are also provided. Transitioning a project's development methodology, modernizing the test approach, and introducing a new system of test documentation may provide significant benefits to the development of a system, but these types of process changes must be weighed against the needs of the project. This dissertation provides details of the effort to improve the effectiveness of the T&E process on an example project, as a framework for possible implementation on similar systems.Item Open Access Generalized RSK for enumerating projective maps from n-pointed curves(Colorado State University. Libraries, 2022) Reimer-Berg, Andrew, author; Gillespie, Maria, advisor; Ghosh, Sudipto, committee member; Hulpke, Alexander, committee member; Shoemaker, Mark, committee memberSchubert calculus has been studied since the 1800s, ever since the mathematician Hermann Schubert studied the intersections of lines and planes. Since then, it has grown to have a plethora of connections to enumerative geometry and algebraic combinatorics alike. These connections give us a way of using Schubert calculus to translate geometric problems into combinatorial ones, and vice versa. In this thesis, we define several combinatorial objects known as Young tableaux, as well as the well-known RSK correspondence between pairs of tableaux and sequences. We also define the Grassmannian space, as well as the Schubert cells that live inside it. Then, we describe how Schubert calculus and the Littlewood-Richardson rule allow us to turn problems of intersecting geometric spaces into ones of counting Young tableaux with particular characteristics. We give a combinatorial proof of a recent geometric result of Farkas and Lian on linear series on curves with prescribed incidence conditions. The result states that the expected number of degree-d morphisms from a general genus g, n-marked curve C to Pr, sending the marked points on C to specified general points in Pr, is equal to (r + 1)g for sufficiently large d. This computation may be rephrased as an intersection problem on Grassmannians, which has a natural combinatorial interpretation in terms of Young tableaux by the classical Littlewood-Richardson rule. We give a bijection, generalizing the well-known RSK correspondence, between the tableaux in question and the (r + 1)-ary sequences of length g, and we explore our bijection's combinatorial properties. We also apply similar methods to give a combinatorial interpretation and proof of the fact that, in the modified setting in which r = 1 and several marked points map to the same point in P1, the number of morphisms is still 2g for sufficiently large d.Item Open Access Harnessing spatiotemporal data characteristics to facilitate large-scale analytics over voluminous, high-dimensional observational datasets(Colorado State University. Libraries, 2021) Rammer, Daniel P., author; Pallickara, Shrideep, advisor; Pallickara, Sangmi Lee, advisor; Ghosh, Sudipto, committee member; Breidt, Jay, committee memberSpatiotemporal data volumes have increased exponentially alongside a need to extract knowledge from them. We propose a methodology, encompassing a suite of algorithmic and systems innovations, to accomplish spatiotemporal data analysis at scale. Our methodology partitions and distributes data to reconcile the competing pulls of dispersion and load balancing. The dispersion schemes are informed by designing distributed data structures to organize metadata in support of expressive query evaluations and high-throughput data retrievals. Targeted, sequential disk block accesses and data sketching techniques are leveraged for effective retrievals. We facilitate seamless integration into data processing frameworks and analytical engines by building compliance for the Hadoop Distributed File System. A refinement of our methodology supports memory-residency and dynamic materialization of data (or subsets thereof) as DataFrames, Datasets, and Resilient Distributed Datasets. These refinements are backed by speculative prefetching schemes that manage speed differentials across the data storage hierarchy. We extend the data-centric view of our methodology to orchestration of deep learning workloads while preserving accuracy and ensuring faster completion times. Finally, we assess the suitability of our methodology using diverse high-dimensional datasets, myriad model fitting algorithms (including ensemble methods and deep neural networks), and multiple data processing frameworks such as Hadoop, Spark, TensorFlow, and PyTorch.Item Open Access Identifying the areas where building information modeling software adds value for general contractors working in the State of Colorado(Colorado State University. Libraries, 2011) Sheata, Wally, author; Hamzeh, Farook, advisor; Senior, Bolivar, committee member; Ghosh, Sudipto, committee memberThe purpose of this research is to identify the areas where Building Information Modeling (BIM) software is currently adding value to General Contractors working in the state of Colorado. The scope of this study is limited to the top Local and National General Contractors in the state of Colorado generating over $100 million a year in revenue as reported by McGraw Hill 2009 Top Colorado Contractors. An exploratory study was completed using industry experts as well as academic research to identify areas where BIM adds value to general contractors. The findings indicate that the majority of the sample group is using BIM on their projects to a certain degree, with very little negative value in any category. There were slight differences when comparing the national and local contractors with regards to the area of added value through the use of BIM, but overall they were very consistent. A conclusion was drawn that while these firms are very interested in BIM and want to continue to grow it within their firms, there are still many areas where BIM has yet to be fully utilized to add value within both the national and local companies.Item Open Access Near real-time processing of voluminous, high-velocity data streams for continuous sensing environments(Colorado State University. Libraries, 2020) Hewa Raga Munige, Thilina, author; Pallickara, Shrideep, advisor; Chandrasekar, V., committee member; Ghosh, Sudipto, committee member; Pallickara, Sangmi, committee memberRecent advancements in miniaturization, falling costs, networking enhancements, and battery technologies have contributed to a proliferation of networked sensing devices. Arrays of coordinated sensing devices are deployed in continuous sensing environments (CSEs) where the phenomena of interest are monitored. Observations sensed by devices in a CSE setting are encapsulated as multidimensional data streams that must subsequently be processed. The vast number of sensing devices, the high rates at which data are generated, and the high-resolutions at which these measurements are performed contribute to the voluminous, high-velocity data streams that are now increasingly pervasive. These data streams must be processed in near real-time to power user-facing applications such as visualization dashboards and monitoring systems, as well as various stages of data ingestion pipelines such as ETL pipelines. This dissertation focuses on facilitating efficient ingestion and near real-time processing of voluminous, high-velocity data streams originating in CSEs. Challenges in ingesting and processing such streams include energy and bandwidth constraints at the data sources, data transfer and processing costs, underutilized resources, and preserving the performance of stream processing applications in the presence of variable workloads and system conditions. Toward this end, we explore design principles to build a high-performant and adaptive stream processing engine to address processing challenges that are unique to CSE data streams. Further, we demonstrate how our holistic methodology based on space-efficient representations of data streams through a controlled trade-off of accuracy, can substantially alleviate stream ingestion challenges while improving the stream processing performance. We evaluate the efficacy of our methodology using real-world streaming datasets in a large-scale setup and contrast against the state-of-the-art developments in the field.Item Open Access Proactive extraction of IoT device capabilities for security applications(Colorado State University. Libraries, 2020) Dolan, Andrew, author; Ray, Indrakshi, advisor; Majumdar, Suryadipta, advisor; Simske, Steven, committee member; Ghosh, Sudipto, committee memberInternet of Things (IoT) device adoption is on the rise. Such devices are mostly self-operated and require minimum user interventions. This is achieved by abstracting away their design complexities and functionalities from users. However, this abstraction significantly limits a user's insights on evaluating the true capabilities (i.e., what actions a device can perform) of a device and hence, its potential security and privacy threats. Most existing works evaluate the security of those devices by analyzing the environment data (e.g., network traffic, sensor data, etc.). However, such approaches entail collecting data from encrypted traffic, relying on the quality of the collected data for their accuracy, and facing difficulties in preserving both utility and privacy of the data. We overcome the above-mentioned challenges and propose a proactive approach to extract IoT device capabilities from their informational specifications to verify their potential threats, even before a device is installed. More specifically, we first introduce a model for device capabilities in the context of IoT. Second, we devise a technique to parse the vendor-provided materials of IoT devices and enumerate device capabilities from them. Finally, we apply the obtained capability model and extraction technique in a proactive access control model to demonstrate the applicability of our proposed solution. We evaluate our capability extraction approach in terms of its efficiency and enumeration accuracy on devices from three different vendors.Item Open Access Pruning visual transformers to increase model compression and decrease inference time(Colorado State University. Libraries, 2024) Yost, James E., author; Whitley, Darrell, advisor; Ghosh, Sudipto, committee member; Betten, Anton, committee memberWe investigate the efficacy of pruning a visual transformer during training to reduce inference time while maintaining accuracy. Various training techniques were explored, including epoch-based training, fixed-time training, and training to achieve a specific accuracy threshold. Results indicate that pruning from the inception of training offers significant reductions in inference time without sacrificing model accuracy. Different pruning rates were evaluated, demonstrating a trade-off between training speed and model compression. Slower pruning rates allowed for better convergence to higher accuracy levels and more efficient model recovery. Furthermore, we examine the cost of pruning and the recovery time of pruned models. Overall, the findings suggest that early-stage pruning strategies can effectively produce smaller, more efficient models with comparable or improved performance compared to non-pruned counterparts, offering insights into optimizing model efficiency and resource utilization in AI applications.