The document discusses optimizing requirements models using a new algorithm called KEYS. KEYS beats other standard algorithms like simulated annealing and state of the art methods. KEYS allows requirements models to be optimized 50,000 times faster, in almost real-time. KEYS works by first identifying "keys" or important variables that influence the overall model, and then optimizing settings for those key variables. The document provides details on how KEYS finds keys using a technique called BORE sampling. It also discusses using KEYS to optimize a requirements model called DDP used at JPL for designing deep space missions.
Random Artificial Incorporation of Noise in a Learning Classifier System Envi...Daniele Loiacono
Random Artificial Incorporation of Noise in a Learning Classifier System (RAIN) is a technique that incorporates low levels of random classification noise into the training data presented to a Michigan-style learning classifier system (LCS). This is done to discourage overfitting and promote effective generalization on noisy problem domains. The document describes experiments testing two implementations of RAIN - Targeted Generality (TG) and Targeted Fitness Weighted Generality (TFWG) - on simulated genetic epidemiology datasets. The results show that Targeted RAIN was able to reduce overfitting without reducing testing accuracy, and may improve the ability of the LCS to identify predictive attributes, though power increases were not statistically significant. Future work is proposed to further
If you fix everything you lose fixes for everything else CS, NcState
This document summarizes research conducted at West Virginia University and the Jet Propulsion Laboratory under NASA grants. It discusses an approach called STAR (Simulated Annealing with collars and Rules) for handling uncertainty in software project models. STAR uses simulated annealing to stochastically sample different input settings, scores the outputs, and favors higher scoring settings to generate rules. The document compares STAR to other modeling methods and finds that even without tuning, STAR produces surprisingly accurate results, often within 25% of methods using historical data to learn input relationships. This performance is attributed to key inputs being tightly constrained by a few influential "collar" variables.
Modeling XCS in class imbalances: Population sizing and parameter settingskknsastry
This paper analyzes the scalability of the population size required in XCS to maintain niches that are infrequently activated. Facetwise models have been developed to predict the effect of the imbalance ratio—ratio between the number of instances of the majority class and the minority class that are sampled to XCS—on population initialization, and on the creation and deletion of classifiers of the minority class. While theoretical models show that, ideally, XCS scales linearly with the imbalance ratio, XCS with standard configuration scales exponentially.
The causes that are potentially responsible for this deviation from the ideal scalability are also investigated. Specifically, the inheritance procedure of classifiers’ parameters, mutation, and subsumption are analyzed, and improvements in XCS’s mechanisms are proposed to effectively and efficiently handle imbalanced problems. Once the recommendations are incorporated to XCS, empirical results show that the population size in XCS indeed scales linearly with the imbalance ratio.
Substructrual surrogates for learning decomposable classification problems: i...kknsastry
This paper presents a learning methodology based on a substructural classification model to solve decomposable classification problems. The proposed method consists of three important components: (1) a structural model that represents salient interactions between attributes for a given data, (2) a surrogate model which provides a functional approximation of the output as a function of attributes, and (3) a classification model which predicts the class for new inputs. The structural model is used to infer the functional form of the surrogate and its coefficients are estimated using linear regression methods. The classification model uses a maximally-accurate, least-complex surrogate to predict the output for given inputs. The structural model that yields an optimal classification model is searched using an iterative greedy search heuristic. Results show that the proposed method successfully detects the interacting variables in hierarchical problems, group them in linkages groups, and build maximally accurate classification models. The initial results on non-trivial hierarchical test problems indicate that the proposed method holds promise and have also shed light on several improvements to enhance the capabilities of the proposed method.
This document discusses challenges in building an automated prompting system using machine learning to assist older adults with activities of daily living. It addresses issues like imbalanced class distributions in activity step classification data, overlapping classes, and modeling errors in streaming sensor data for online activity prediction. The author proposes techniques like oversampling minority classes using Gibbs sampling and cluster-based undersampling to handle imbalanced and overlapping class issues in offline activity step classification. For online prediction of streaming sensor data, the author discusses modeling activity errors using distributions of sensor event timing and frequency and evaluating error likelihoods.
CosTriage: A Cost-Aware Algorithm for Bug Reporting Systems (AAAI 2011)Sung Kim
CosTriage is a cost-aware algorithm for bug triage in bug reporting systems. It improves upon previous approaches by considering both accuracy and cost (expected bug fix time) when assigning bugs to developers. It uses a topic modeling technique to categorize bugs into types to address the sparseness problem in past bug fix history data. It then constructs developer profiles based on estimated bug fix times for different bug types. A hybrid recommender system merges scores from a classifier and the cost profiles to recommend bug assignments that optimize both accuracy and cost, improving expected fix time by up to 30% without sacrificing much accuracy.
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)Sung Kim
The document describes research on using bug tossing graph information to improve bug triage.
- Researchers extracted bug tossing paths from history to generate a graph showing relationships between developers.
- This graph was integrated into machine learning models to predict which developers should be assigned bugs, achieving an improvement over models without the graph information.
- Experiments on Eclipse and Mozilla bugs showed the approach using both machine learning and the tossing graph outperformed models using only machine learning, correctly predicting developer assignments with higher accuracy.
ZapCode is a color grid code that can be scanned by mobile devices using installed software. This redirects users to online content related to the unique code. There are over 17 billion possible code combinations. Advertisers can use ZapCodes on traditional media like billboards to allow users to access additional digital content when they scan the code on their phone. ZapCodes provide analytics on campaign effectiveness by measuring metrics like location and time of scans. Marketers are advised to integrate ZapCodes into their creative development and media planning processes.
Random Artificial Incorporation of Noise in a Learning Classifier System Envi...Daniele Loiacono
Random Artificial Incorporation of Noise in a Learning Classifier System (RAIN) is a technique that incorporates low levels of random classification noise into the training data presented to a Michigan-style learning classifier system (LCS). This is done to discourage overfitting and promote effective generalization on noisy problem domains. The document describes experiments testing two implementations of RAIN - Targeted Generality (TG) and Targeted Fitness Weighted Generality (TFWG) - on simulated genetic epidemiology datasets. The results show that Targeted RAIN was able to reduce overfitting without reducing testing accuracy, and may improve the ability of the LCS to identify predictive attributes, though power increases were not statistically significant. Future work is proposed to further
If you fix everything you lose fixes for everything else CS, NcState
This document summarizes research conducted at West Virginia University and the Jet Propulsion Laboratory under NASA grants. It discusses an approach called STAR (Simulated Annealing with collars and Rules) for handling uncertainty in software project models. STAR uses simulated annealing to stochastically sample different input settings, scores the outputs, and favors higher scoring settings to generate rules. The document compares STAR to other modeling methods and finds that even without tuning, STAR produces surprisingly accurate results, often within 25% of methods using historical data to learn input relationships. This performance is attributed to key inputs being tightly constrained by a few influential "collar" variables.
Modeling XCS in class imbalances: Population sizing and parameter settingskknsastry
This paper analyzes the scalability of the population size required in XCS to maintain niches that are infrequently activated. Facetwise models have been developed to predict the effect of the imbalance ratio—ratio between the number of instances of the majority class and the minority class that are sampled to XCS—on population initialization, and on the creation and deletion of classifiers of the minority class. While theoretical models show that, ideally, XCS scales linearly with the imbalance ratio, XCS with standard configuration scales exponentially.
The causes that are potentially responsible for this deviation from the ideal scalability are also investigated. Specifically, the inheritance procedure of classifiers’ parameters, mutation, and subsumption are analyzed, and improvements in XCS’s mechanisms are proposed to effectively and efficiently handle imbalanced problems. Once the recommendations are incorporated to XCS, empirical results show that the population size in XCS indeed scales linearly with the imbalance ratio.
Substructrual surrogates for learning decomposable classification problems: i...kknsastry
This paper presents a learning methodology based on a substructural classification model to solve decomposable classification problems. The proposed method consists of three important components: (1) a structural model that represents salient interactions between attributes for a given data, (2) a surrogate model which provides a functional approximation of the output as a function of attributes, and (3) a classification model which predicts the class for new inputs. The structural model is used to infer the functional form of the surrogate and its coefficients are estimated using linear regression methods. The classification model uses a maximally-accurate, least-complex surrogate to predict the output for given inputs. The structural model that yields an optimal classification model is searched using an iterative greedy search heuristic. Results show that the proposed method successfully detects the interacting variables in hierarchical problems, group them in linkages groups, and build maximally accurate classification models. The initial results on non-trivial hierarchical test problems indicate that the proposed method holds promise and have also shed light on several improvements to enhance the capabilities of the proposed method.
This document discusses challenges in building an automated prompting system using machine learning to assist older adults with activities of daily living. It addresses issues like imbalanced class distributions in activity step classification data, overlapping classes, and modeling errors in streaming sensor data for online activity prediction. The author proposes techniques like oversampling minority classes using Gibbs sampling and cluster-based undersampling to handle imbalanced and overlapping class issues in offline activity step classification. For online prediction of streaming sensor data, the author discusses modeling activity errors using distributions of sensor event timing and frequency and evaluating error likelihoods.
CosTriage: A Cost-Aware Algorithm for Bug Reporting Systems (AAAI 2011)Sung Kim
CosTriage is a cost-aware algorithm for bug triage in bug reporting systems. It improves upon previous approaches by considering both accuracy and cost (expected bug fix time) when assigning bugs to developers. It uses a topic modeling technique to categorize bugs into types to address the sparseness problem in past bug fix history data. It then constructs developer profiles based on estimated bug fix times for different bug types. A hybrid recommender system merges scores from a classifier and the cost profiles to recommend bug assignments that optimize both accuracy and cost, improving expected fix time by up to 30% without sacrificing much accuracy.
BugTriage with Bug Tossing Graphs (ESEC/FSE 2009)Sung Kim
The document describes research on using bug tossing graph information to improve bug triage.
- Researchers extracted bug tossing paths from history to generate a graph showing relationships between developers.
- This graph was integrated into machine learning models to predict which developers should be assigned bugs, achieving an improvement over models without the graph information.
- Experiments on Eclipse and Mozilla bugs showed the approach using both machine learning and the tossing graph outperformed models using only machine learning, correctly predicting developer assignments with higher accuracy.
ZapCode is a color grid code that can be scanned by mobile devices using installed software. This redirects users to online content related to the unique code. There are over 17 billion possible code combinations. Advertisers can use ZapCodes on traditional media like billboards to allow users to access additional digital content when they scan the code on their phone. ZapCodes provide analytics on campaign effectiveness by measuring metrics like location and time of scans. Marketers are advised to integrate ZapCodes into their creative development and media planning processes.
This document provides an overview of a tutorial on EMF-IncQuery, an incremental query engine for EMF models. It discusses the motivation for model queries and issues with existing solutions. The tutorial will cover the EMF-IncQuery technology, including hands-on examples of basic and advanced model queries. It will conclude with performance benchmarks and a question and answer section. Attendees will learn how to define and execute queries over EMF models incrementally for improved performance with complex queries over large models.
MEME – An Integrated Tool For Advanced Computational ExperimentsGIScRG
The document describes MEME, an integrated tool for advanced computational experiments. MEME allows users to efficiently explore model responses through parameter sweeps and design of experiments. It supports running simulations in parallel on local clusters and grids. MEME collects, analyzes, and visualizes results. It implements intelligent "IntelliSweep" methods like iterative uniform interpolation and genetic algorithms to refine parameter space exploration.
This document provides an outline for a Django tutorial given at OSCON in 2007. The tutorial covers various topics related to Django including unit testing, middleware, signals, forms and AJAX, template tags, custom fields, OpenID integration, scaling techniques, and geospatial data (GIS). For each section, the document provides an overview and examples. It emphasizes the importance of unit testing and provides testing code examples.
This document outlines the goals and activities for a classroom unit on DNA, heredity, and genetics. The unit includes lectures, discussions, and hands-on labs. Students will build DNA models, analyze family trees, and conduct virtual genetics labs. They will also run plasmid and gel electrophoresis labs to visualize and analyze DNA. The unit aims to help students understand how genes influence traits and to think critically about biotechnology and its impact on society. A final project challenges students to design a GMO and debate the ethics of genetic engineering.
A lot of people talk about Data Mining, Machine Learning and Big Data. It clearly must be important, right?
A lot of people are also trying to sell you snake oil - sometimes half-arsed and overpriced products or solutions promising a world of insight into your customers or users if you handover your data to them. Instead, trying to understanding your own data and what you could do with it, should be the first thing you’d be looking at.
In this talk, we’ll introduce some basic terminology about Data and Text Mining as well as Machine Learning and will have a look at what you can on your own to understand more about your data and discover patterns in your data.
This document outlines tips and techniques used by penetration testers. It begins with an introduction explaining that penetration testing involves both standardized methodologies as well as improvisation. The document then provides several tips related to reconnaissance, scanning, networking, passwords, and reporting from penetration tests. Each tip is meant to help save time, enable hacks that otherwise wouldn't be possible, or better help clients understand security risks. Overall, the tips suggest using common tools and techniques creatively to find and exploit security vulnerabilities.
Pivotal Labs Open View Presentation Quality Assurance And Developer Testingguestc8adce
1) The document discusses moving from a traditional development model where QA finds bugs after development is complete, to a model where quality is the focal point and everyone is responsible for testing.
2) It advocates for automating tests and running them frequently during development to find bugs early and have confidence in changes.
3) The goal is to develop software quickly with low defect rates by shifting left the work of finding bugs through techniques like test-driven development.
Data driven model optimization [autosaved]Russell Jarvis
Russell Jarvis is developing a general purpose optimizer called NeuronUnit to fit abstract neural models to the firing dynamics of specific biological neurons. As a proof of concept, he is using NeuronUnit to fit the Izhikevich model to a murine layer 5 neocortex pyramidal neuron. He discusses using virtual electrophysiology experiments in NeuronUnit along with real neuron recordings from the Allen Brain Atlas to derive error functions that guide the optimization of the model parameters to replicate the biological neuron.
1) Testing at the nanometer scale presents new challenges due to increasing process variations, complex signal integrity issues, and new defect mechanisms.
2) New test techniques are needed to detect failures such as small delay defects and high-resistance bridges. Approaches such as bridge fault testing and delay fault testing generate significantly more test patterns.
3) Solutions to reduce cost and power consumption during testing include scan compression techniques, preventing unnecessary switching during scan shifts, and developing power-aware test patterns.
Nanometer chip testing faces new challenges due to increasing process variations, new failure mechanisms, and higher costs. Solutions include new fault models like bridge fault testing, delay fault testing to check timing at high speeds, scan compression to reduce test data volume, and scan-based diagnostics to improve yield learning. Effective solutions require close collaboration between test, technology, and automated test equipment experts.
Exploratory Testing in a chaotic world to shareDoron Bar
This document discusses exploratory testing (ET) and provides guidance on how to plan and execute ET. It explains that the goal of ET is to discover new bugs, reduce testing time, and satisfy curiosity. While the requirements analysis and test design techniques are similar to scripted testing, ET involves designing test charters rather than formal test cases. The document then provides examples of different types of ET techniques like scenario-based testing, bug-based testing, and heuristic-based testing. It suggests sources of information to guide ET when requirements are not available, such as user documentation, forums, and blogs. The overall message is that testing is an art and ET involves learning about the product through exploration to discover issues.
User Centered Technology Group OverviewJay Trimble
The document summarizes the work of Jay Trimble at NASA developing touchscreen and user interface technologies. It describes:
1) Trimble developing one of the first touchscreens for Mars rover operations in the early 2000s, before they became popular.
2) The technology was later used for ocean research, next generation rover field tests, and the International Space Station.
3) Trimble released open source mission control software and tools for searching planetary data and modeling solar system geometry to make these resources accessible to others.
This document discusses RAMIT's TeleTendo e-testing application and its integration with the Acknowledge project. TeleTendo is an online repository of multilingual, multimedia questions that can be used for testing and learning across medical domains. RAMIT demonstrated how a subset of TeleTendo's learning objects could be enriched with metadata and used to generate competency profiles for radiologists and medical students within Acknowledge. The integration would allow learning content to be shared between the TeleTendo and Acknowledge platforms using web services and standards like LOM. Two scenarios were presented of a medical student and professor accessing the systems for learning and updating course materials.
This document describes MPEG-V Sensory Information (SI), also known as RoSE WD v3.0. It discusses the scope and structure of the standard, which aims to describe sensory effects and map them to device capabilities to trigger human senses. The standard includes a sensory effect description language, vocabulary, and context descriptions. It is being developed by an ad-hoc group and referenced in other MPEG requirements and standards documents.
This document discusses using community feedback to improve software engineering data quality over time. It proposes using a dynamic data model where human feedback enhances static data sets, similar to how Wikipedia evolves. Key challenges are how to collect feedback, integrate it with AI, and motivate user participation through incentives, usability and trust. The goal is to lower costs while building a stronger evidence base that adapts to changing conditions through a synergistic human-AI approach.
The Robust Optimization of Non-Linear Requirements Modelsgregoryg
The document discusses robust optimization of non-linear requirements models. It introduces the defect detection and prevention (DDP) model used at NASA JPL to represent requirements, risks, mitigations, and their relationships. It then describes two algorithms, KEYS and KEYS2, for efficiently exploring the search space of the DDP model to find high-quality, robust solutions. Finally, it benchmarks these algorithms against other search-based approaches like simulated annealing, MaxWalkSat, and A* search.
More Related Content
Similar to Optimizing Requirements Decisions with KEYS
This document provides an overview of a tutorial on EMF-IncQuery, an incremental query engine for EMF models. It discusses the motivation for model queries and issues with existing solutions. The tutorial will cover the EMF-IncQuery technology, including hands-on examples of basic and advanced model queries. It will conclude with performance benchmarks and a question and answer section. Attendees will learn how to define and execute queries over EMF models incrementally for improved performance with complex queries over large models.
MEME – An Integrated Tool For Advanced Computational ExperimentsGIScRG
The document describes MEME, an integrated tool for advanced computational experiments. MEME allows users to efficiently explore model responses through parameter sweeps and design of experiments. It supports running simulations in parallel on local clusters and grids. MEME collects, analyzes, and visualizes results. It implements intelligent "IntelliSweep" methods like iterative uniform interpolation and genetic algorithms to refine parameter space exploration.
This document provides an outline for a Django tutorial given at OSCON in 2007. The tutorial covers various topics related to Django including unit testing, middleware, signals, forms and AJAX, template tags, custom fields, OpenID integration, scaling techniques, and geospatial data (GIS). For each section, the document provides an overview and examples. It emphasizes the importance of unit testing and provides testing code examples.
This document outlines the goals and activities for a classroom unit on DNA, heredity, and genetics. The unit includes lectures, discussions, and hands-on labs. Students will build DNA models, analyze family trees, and conduct virtual genetics labs. They will also run plasmid and gel electrophoresis labs to visualize and analyze DNA. The unit aims to help students understand how genes influence traits and to think critically about biotechnology and its impact on society. A final project challenges students to design a GMO and debate the ethics of genetic engineering.
A lot of people talk about Data Mining, Machine Learning and Big Data. It clearly must be important, right?
A lot of people are also trying to sell you snake oil - sometimes half-arsed and overpriced products or solutions promising a world of insight into your customers or users if you handover your data to them. Instead, trying to understanding your own data and what you could do with it, should be the first thing you’d be looking at.
In this talk, we’ll introduce some basic terminology about Data and Text Mining as well as Machine Learning and will have a look at what you can on your own to understand more about your data and discover patterns in your data.
This document outlines tips and techniques used by penetration testers. It begins with an introduction explaining that penetration testing involves both standardized methodologies as well as improvisation. The document then provides several tips related to reconnaissance, scanning, networking, passwords, and reporting from penetration tests. Each tip is meant to help save time, enable hacks that otherwise wouldn't be possible, or better help clients understand security risks. Overall, the tips suggest using common tools and techniques creatively to find and exploit security vulnerabilities.
Pivotal Labs Open View Presentation Quality Assurance And Developer Testingguestc8adce
1) The document discusses moving from a traditional development model where QA finds bugs after development is complete, to a model where quality is the focal point and everyone is responsible for testing.
2) It advocates for automating tests and running them frequently during development to find bugs early and have confidence in changes.
3) The goal is to develop software quickly with low defect rates by shifting left the work of finding bugs through techniques like test-driven development.
Data driven model optimization [autosaved]Russell Jarvis
Russell Jarvis is developing a general purpose optimizer called NeuronUnit to fit abstract neural models to the firing dynamics of specific biological neurons. As a proof of concept, he is using NeuronUnit to fit the Izhikevich model to a murine layer 5 neocortex pyramidal neuron. He discusses using virtual electrophysiology experiments in NeuronUnit along with real neuron recordings from the Allen Brain Atlas to derive error functions that guide the optimization of the model parameters to replicate the biological neuron.
1) Testing at the nanometer scale presents new challenges due to increasing process variations, complex signal integrity issues, and new defect mechanisms.
2) New test techniques are needed to detect failures such as small delay defects and high-resistance bridges. Approaches such as bridge fault testing and delay fault testing generate significantly more test patterns.
3) Solutions to reduce cost and power consumption during testing include scan compression techniques, preventing unnecessary switching during scan shifts, and developing power-aware test patterns.
Nanometer chip testing faces new challenges due to increasing process variations, new failure mechanisms, and higher costs. Solutions include new fault models like bridge fault testing, delay fault testing to check timing at high speeds, scan compression to reduce test data volume, and scan-based diagnostics to improve yield learning. Effective solutions require close collaboration between test, technology, and automated test equipment experts.
Exploratory Testing in a chaotic world to shareDoron Bar
This document discusses exploratory testing (ET) and provides guidance on how to plan and execute ET. It explains that the goal of ET is to discover new bugs, reduce testing time, and satisfy curiosity. While the requirements analysis and test design techniques are similar to scripted testing, ET involves designing test charters rather than formal test cases. The document then provides examples of different types of ET techniques like scenario-based testing, bug-based testing, and heuristic-based testing. It suggests sources of information to guide ET when requirements are not available, such as user documentation, forums, and blogs. The overall message is that testing is an art and ET involves learning about the product through exploration to discover issues.
User Centered Technology Group OverviewJay Trimble
The document summarizes the work of Jay Trimble at NASA developing touchscreen and user interface technologies. It describes:
1) Trimble developing one of the first touchscreens for Mars rover operations in the early 2000s, before they became popular.
2) The technology was later used for ocean research, next generation rover field tests, and the International Space Station.
3) Trimble released open source mission control software and tools for searching planetary data and modeling solar system geometry to make these resources accessible to others.
This document discusses RAMIT's TeleTendo e-testing application and its integration with the Acknowledge project. TeleTendo is an online repository of multilingual, multimedia questions that can be used for testing and learning across medical domains. RAMIT demonstrated how a subset of TeleTendo's learning objects could be enriched with metadata and used to generate competency profiles for radiologists and medical students within Acknowledge. The integration would allow learning content to be shared between the TeleTendo and Acknowledge platforms using web services and standards like LOM. Two scenarios were presented of a medical student and professor accessing the systems for learning and updating course materials.
This document describes MPEG-V Sensory Information (SI), also known as RoSE WD v3.0. It discusses the scope and structure of the standard, which aims to describe sensory effects and map them to device capabilities to trigger human senses. The standard includes a sensory effect description language, vocabulary, and context descriptions. It is being developed by an ad-hoc group and referenced in other MPEG requirements and standards documents.
Similar to Optimizing Requirements Decisions with KEYS (20)
This document discusses using community feedback to improve software engineering data quality over time. It proposes using a dynamic data model where human feedback enhances static data sets, similar to how Wikipedia evolves. Key challenges are how to collect feedback, integrate it with AI, and motivate user participation through incentives, usability and trust. The goal is to lower costs while building a stronger evidence base that adapts to changing conditions through a synergistic human-AI approach.
The Robust Optimization of Non-Linear Requirements Modelsgregoryg
The document discusses robust optimization of non-linear requirements models. It introduces the defect detection and prevention (DDP) model used at NASA JPL to represent requirements, risks, mitigations, and their relationships. It then describes two algorithms, KEYS and KEYS2, for efficiently exploring the search space of the DDP model to find high-quality, robust solutions. Finally, it benchmarks these algorithms against other search-based approaches like simulated annealing, MaxWalkSat, and A* search.
Finding Robust Solutions to Requirements Modelsgregoryg
The document presents research on finding robust solutions to requirements models. It introduces the KEYS2 algorithm, which incrementally sets mitigation variables to balance solution quality and robustness. KEYS2 is faster than other algorithms like simulated annealing and A* search. It generates well-behaved results that allow exploring the decision neighborhood through decision ordering diagrams to assess robustness. The researcher concludes that KEYS2 is well-suited for optimizing requirements models as it is fast, produces stable solutions, and enables robustness analysis.
This document reviews algorithms for distributed decision tree induction on large datasets. It discusses classifying data using decision trees and the need for parallelization due to big data. Three paradigms for parallelization are described: data parallelism by horizontally or vertically fragmenting data, task parallelism by splitting tree construction among processors, and hybrid approaches. Specific algorithms like C4.5 Parallel, SMP Tree Classifier, and INDUS are outlined that implement these paradigms. The algorithms show promising improvement over standard centralized methods.
This document presents a study on using relevance feedback to improve information retrieval-based concept location in software engineering. The study uses an IR tool with the Lucene engine and Rocchio algorithm for relevance feedback. It evaluates the tool on bug reports from Eclipse, jEdit, and Adempiere, measuring the number of methods investigated before finding the target method with and without relevance feedback. The results show relevance feedback improved concept location in most cases by reformulating queries based on developer feedback on result relevancy. Future work includes more experiments and automatically calibrating parameters.
Confidence in Software Cost Estimation Results based on MMRE and PREDgregoryg
1) The document discusses using standard error and bootstrapping techniques to provide more confidence in software cost estimation research results by accounting for error inherent in using small sample datasets.
2) Applying these statistical methods can help determine how many data points are needed for confident results and address contradictory findings from previous studies.
3) The authors invite collaboration on further applying standard statistical analysis methods like these to understand factors like model accuracy and validation.
The document discusses the PROMISE community and ways its members can collaborate more effectively. It describes several case studies where collaboration between PROMISE researchers led to improved results, new data, and funding opportunities. It then proposes several online tools like chat rooms, discussion forums, and code libraries to further foster collaboration within the PROMISE community between annual meetings.
Software Defect Repair Times: A Multiplicative Modelgregoryg
The document discusses modeling software defect repair times using a multiplicative lognormal model. It proposes that seven hypothetical factors affecting repair time, such as bug severity, difficulty, and engineer skills, could combine in a multiplicative way to generate the observed lognormal distribution of repair times in software defect data. The document compares fitting exponential, lognormal and Laplace transform of lognormal distributions to defect repair time data from nine software product families, finding the Laplace transform of lognormal model provides the best fit. It discusses implications for management, such as targeting training and tools to reduce variability in factors affecting repair of high severity defects.
Complementing Approaches in ERP Effort Estimation Practice: an Industrial Studygregoryg
The document proposes integrating COCOMO II, Monte Carlo simulation, and portfolio management to systematically address uncertainty and bias in ERP effort estimation. It presents a case study applying this approach to a large ERP implementation at Telus Corporation. The results show that modeling projects as a portfolio rather than individually increases the probability of completing the projects under both effort and time constraints, especially when uncertainty in cost drivers is high. The approach holds promise for improving ERP effort estimation but would benefit from further validation.
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...gregoryg
The document discusses using multi-criteria decision analysis to customize estimation by analogy (EBA) methods. It proposes using the AQUA+ EBA method, which supports attributes weighting and selection. It presents a decision-centric process model for customizing EBA and defines a multi-criteria decision problem to determine the best attributes weighting heuristic for different datasets based on criteria like MMRE, prediction accuracy, and strength. It demonstrates the approach on sample datasets and identifies Pareto optimal solutions and clusters.
Implications of Ceiling Effects in Defect Predictorsgregoryg
This document discusses using less training data for defect prediction models. It finds that simple learners like Naive Bayes can achieve good performance using only small samples of data, and that oversampling and undersampling techniques do not significantly harm classifier performance. The document advocates increasing the information content in data rather than using more complex learners or larger datasets to further improve predictions.
Practical use of defect detection and predictiongregoryg
Sun Microsystems implemented a defect prediction model using historical bug and escalation data to identify bugs likely to escalate and be proactively fixed. This initially saw successes with 41 patches preventing escalations and notable fixes. However, the model declined over time due to lack of resources, expertise, and executive support. Lessons included ring-fencing resources, keeping the model simple, and continually improving it. Now Sun focuses on regular release criteria and incoming bug triage to identify bugs to proactively fix. They are considering upgrading tools and run-time checking to potentially revisit defect prediction.
The document discusses how software provides value for other industries and the challenges of efficiently delivering that value. While estimates of costs and schedules are often inaccurate, focusing only on avoiding overruns limits opportunities. Instead, engineering principles can be applied to create value by treating costs and benefits as random variables, reducing uncertainty over time, and increasing potential upside benefits. Tailoring governance approaches based on risk areas can improve value delivery.
- This document discusses how data mining techniques have been successfully applied to various NASA data sources to predict software quality metrics like effort and defects.
- However, despite clear success, most of the data sources used in these examples have been discontinued or are no longer accessible.
- The main challenge is organizational rather than technological - how can we ensure the valuable lessons learned from this work are not wasted?
The study compared software quality prediction models using design metrics, code metrics, and a combination of both, on multiple projects from NASA. The results showed that models using a combination of design and code metrics performed better than using either metric set alone, and code metrics generally performed better than design metrics alone. Combining metrics from different development phases provided better fault prediction than only using code-level metrics.
The document discusses building human-based software estimation models that are accurate, intuitive, and easy to understand. It presents an approach using correlation and scale factors between estimated and actual effort. Experiments on a dataset of 178 samples show that combining correlation and scale factors into a decision tree achieves up to 93.3% accuracy. The resulting model bridges expert and algorithmic estimation methods.
The document compares two statistical modeling techniques, negative binomial regression and recursive partitioning, for predicting fault-prone files in large software systems. It finds that recursive partitioning more accurately identifies the top 20% most fault-prone files, correctly predicting 67.9-93.4% of faults, compared to 75-83% for negative binomial regression. Recursive partitioning thus appears better able to help prioritize testing and identify files for rearchitecting or additional verification.
The document discusses how software provides value for many industries and the economy. However, projects often experience cost overruns, delays, and failures to deliver value efficiently. The document argues that development costs, schedules, and values are uncertain and best viewed as ranges rather than single estimates. Seeing projects this way allows focusing on continuously improving estimates and reducing risks to better ensure delivery of value over the project lifecycle. Tailoring governance approaches to different project types based on their risks and opportunities for discovery can help optimize value creation.
This document summarizes the 4th International Predictor Models in Software Engineering (PROMISE) Workshop held on May 12-13, 2008. The workshop focused on bridging industry and research in software engineering. It included keynote speakers from industry, papers on topics like defect prediction, effort estimation, and data quality, and discussions on how to better align research with industry needs and validate models for practical use.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Infrastructure Challenges in Scaling RAG with Custom AI models
Optimizing Requirements Decisions with KEYS
1. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Optimizing Requirements
Decisions With KEYS
Omid Jalali1 Tim Menzies1 Martin Feather2
(with help from Greg Gay1)
1WVU 2JPL
May 10, 2008
(for more info: tim@menzies.us)
Promise Reference herein to any specific commercial product, process, or service
by trade name, trademark, manufacturer, or otherwise, does not
2008 constitute or imply its endorsement by the United States Government.
2. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Introduction
Prior PROMISE papers were data-intensive
Six “sparks”
– This paper is model- and algorithm- intensive proposed here:
all based on existing
Search-based software engineering on-line material
– AI design-as-search
– Rich field for repeatable, refutable, improvable experimentation
Vast improvement in our ability to optimize JPL requirements models
– 50,000 times faster
– Can (almost) now do it in real time with the experts' dialogue
• Modulo incremental model compilation
New algorithm: “KEYS”
– Beats standard methods (simulated annealing)
– Best state of the art methods (MaxFunWalk)
– Feel free to roll-your-own algorithm
• Luke, use the “keys”
Promise
2008 2 May 1, 2008
3. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
“The Strangest Thing About Software”
Menzies ‘07, IEEE Computer (Jan)
– Empirical results:
• Many models contain “keys”
• A small number of variables that set the rest
– Theoretical results:
• This empirical result is actually the expected case
So we can build very large models
– And control them
– Provided we can find and control the keys.
Keys are frequently used (by definition)
– So you don’t need to hunt for them; they’ll find you
– Find variables whose ranges select from very different outputs
SPARK1: are
keys in many
models?
Promise
2008 3 May 1, 2008
4. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Find KEYS with BORE (best or rest sampling)
Input:
– settings a,b,c,… to choices x,y,z…
Supports partial
– oracle(x=a,y=b,z=c,…) score solutions
– N =100 (say)
Output: keys (e.g.) {x=a, y=b, z=c,….} sorted by impact on score
keys = {}
while ( |keys| < |Choices| ) do
era++
for i = 1 to N
Inputs[i] = keys + random guesses for the other Choices
scores[i] = oracle(Input[I])
scores = sort(scores); median = scores[n/2]
print era, median , ( scores[n*3/4] - median )
divide inputs into “best” (10% top score) and “rest”
∀ (b,r) frequency of setting in (best, rest)
rank[setting] = b2/(b+r)
keys = keys ∪ rank.sort.first.setting Solutions not
brittle
done
Promise
2008 4 May 1, 2008
5. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
About DDP
(The case study we will use to
assess KEYS)
6. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Risks
(damage
goals) DDP: JPL requirements models
goals Mission concept meetings:
– several multi-hour brainstorming sessions to design
deep space missions
– Staffed by 10-20 of NASA’s top experts
– Limited time to discuss complex issues
– Produces wide range of options:
Mitigations
Promise (reduce risks,
2008 cost $$$)
6 May 1, 2008
7. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
RE’02: Feather & Menzies
• TAR2 = treatment learner
best • weighted class; contrast set;
association rule learner
• Assumption of minimality
• Handles very large dimensionality
• JPL: found best in 99 Boolean
attributes=1030 options
• At JPL, Martin Feather, TAR2 vs….
• SA:, simulated annealing
baseline • Results nearly same
• TAR2: faster earlier mean convergence
• SA: used 100% variables
• TAR2: used 33% variables
Runtime
= 40 mins
Promise
2008 7 May 1, 2008
8. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
40 minutes: too slow
Extrapolating size of
JPL requirements models:
– Worse for 0(2n) runtimes
Victims of our success
– The more we can automate
• The more the users want
– re-run all prior designs
– re-run all variants of current design
– re-run assigning with different maximum budgets
– do all the above, while keeping up with a fast pace dialogue
Promise
2008 8 May 1, 2008
9. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
From 40 minutes to 15 seconds (160 * faster)
Knowledge compilation (to “C”)
– Pre-compute and cache
common tasks
– No more Visual Basic
– Search engines and model
• Can run in one process SPARK2:
optimizing
• Can communicate without incremental
intermediary files knowledge
compilation
Promise x=
x quot; min(x)
2008 max(x) quot; min(x)
9 May 1, 2008
!
10. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Search algorithms
(which we will use to
comparatively assess KEYS)
11. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
A generic search algorithm
Input:
– settings a,b,c,… to choices x,y,z…
– oracle(x=a,y=b,z=c,…) score
Output: best setting (output)
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */
while MaxChanges-- do
score = oracle(settings)
If score > best then best = score , output=settings
If score < notEnough then bad++
If bad > tooBad then goto BREAK
if goal && (score-goal)/goal < ε then return settings
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
BREAK: Promise
done
2008 11 May 1, 2008
12. West Virginian University
Modelling Intelligence Lab
Some terminology: http://unbox.org/wisp/tags/keys
State, Path, Random, Greedy
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */
while MaxChanges-- do
score = oracle(settings)
If score > best then best = score , output=settings
If score < notEnough then bad++
If bad > tooBad then goto NEXT-TRY
if goal && (score-goal)/goal < ε then return settings
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
NEXT-TRY
Promise
done
2008 12 May 1, 2008
13. West Virginian University
Modelling Intelligence Lab
Some terminology: http://unbox.org/wisp/tags/keys
State, Path, Random, Greedy
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */
while MaxChanges-- do
score = oracle(settings)
If score > best then best = score , output=settings
If score < notEnough then bad++
If bad > tooBad then goto NEXT-TRY
if goal && (score-goal)/goal < ε then return settings
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
NEXT-TRY
Promise
done
2008 13 May 1, 2008
14. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Simulated annealing (Kirkpatrick et al.’83)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do
score = oracle(settings) • MaxTries=1 (no retries)
• P= 1 (I.e. no local search)
If score > best then best = score , output=settings • No biasing
If score < notEnough then bad++
If bad > tooBad then goto NEXT-TRY
if goal && (score-goal)/goal < ε then return settings
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
NEXT-TRY
Promise
done
2008 14 May 1, 2008
15. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Astar (Hart et al. ‘68)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• P= -1 D=N=1
• P=1 (I.e. local search)
If score > best then best = score , output=settings Scoring = g(x)+h(x)
• No biasing
If score < notEnough then bad++ • h(x) : a guess to one solutions’ value
If bad > tooBad then goto NEXT-TRY • g(x) : is the cost to get here
if goal && (score-goal)/goal < ε then return settings e.g. number of decisions made
Tightly controlled bias
If rand() < p • OPEN list= available options
then settings = guess /* random change, perhaps biased */ • On selection, option moves from
else settings = local search D deep for N next best settings OPEN to CLOSED, never to be
fi
used again
update biases
done
NEXT-TRY
Promise
done
2008 15 May 1, 2008
16. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
MaxWalkSat (Kautz et.al ‘96)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• MaxFunWalk
Scoring = g(x)+h(x)
• P=1 (I.e. local (rS)
search)
If score > best then best = score , output=settings • •h(x) : a D=N=1to one solutions’ value
P=0.5 guess
• No biasing
If score < notEnough then bad++ • •g(x) biasing cost to get here
No : is the
If bad > tooBad then goto NEXT-TRY e.g. number of decisions made
• Score computed from weighted
if goal && (score-goal)/goal < ε then return settings sum of satisfied CNF clauses
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
NEXT-TRY
Promise
done
2008 16 May 1, 2008
17. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
MaxWalkFun (Gay, 2008)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• MaxWalkSat
Scoring = g(x)+h(x)
• P=1 (I.e. local(rS)
search)
If score > best then best = score , output=settings • •h(x) : a D=N=1to one solutions’ value
P=0.5 guess
• No biasing
MaxFunWalk (rS)
If score < notEnough then bad++ • •g(x) biasing cost to get here
No : is the
• Like MaxWalkSat,decisions made
e.g. number of but score
If bad > tooBad then goto NEXT-TRY • Score computed from weighted
if goal && (score-goal)/goal < ε then return settings computed from JPL
sum of satisfiedmodels
requirements CNF clauses
If rand() < p
then settings = guess /* random change, perhaps biased */
else settings = local search D deep for N next best settings
fi
update biases
done
NEXT-TRY
Promise
done
2008 17 May 1, 2008
18. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Tabu Search (Glover ‘89)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• MaxWalkSat
Scoring = g(x)+h(x)
• P=1 (I.e. local(rS)
search)
If score > best then best = score , output=settings • •h(x) : a D=N=1to one solutions’ value
P=0.5 guess
• No biasing
MaxFunWalk (rS)
If score < notEnough then bad++ • •g(x) biasing cost to get here
No : is the
• Tabu MaxWalkSat,decisions made
Like search (PS) but score
e.g. number of
If bad > tooBad then goto NEXT-TRY • Score computed from weighted
if goal && (score-goal)/goal < ε then return settings • Bias new from JPL clauses
computed guesses away
sum of satisfiedmodels
requirements CNF
from old ones
If rand() < p Different to Astar:
then settings = guess /* random change, perhaps biased */ • tabu list logs even
else settings = local search D deep for N next best settings the unsuccessful
fi
explorations.
update biases
done
NEXT-TRY
Promise
done
2008 18 May 1, 2008
19. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Treatment learning (Menzies et al. ‘03)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• MaxWalkSat
Scoring = g(x)+h(x)
• P=1 (I.e. local(rS)search)
If score > best then best = score , output=settings • •h(x) : a D=N=1to one solutions’ value
P=0.5 guess
• No biasing
MaxFunWalk (rS)
If score < notEnough then bad++ • •g(x) biasing cost to get here
No : is the
• Tabu MaxWalkSat,decisions made
Like search (PS) but score
e.g. number of
If bad > tooBad then goto NEXT-TRY • Score computed from weighted
if goal && (score-goal)/goal < ε then return settings •Treatment from JPL (PS)
computed guesses away
Bias new learning
sum of satisfiedmodels
requirements CNF clauses
•from old ones
P=D=N=1
If rand() < p
then settings = guess /* random change, perhaps biased */ • MaxChanges much smaller
else settings = local search D deep for N next best settings than |settings|
fi • Bias = the lift heuristic
• Returns the top N best settings
update biases
done
NEXT-TRY
Promise
done
2008 19 May 1, 2008
20. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
KEYS (Jalali et al. 08)
Input: (P) Path search, fill in settings one at a time
(S) State search: fills in entire settings array
– settings a,b,c,… to choices x,y,z… (R) Random search: p>=0 uses stochastic guessing,
– oracle(x=a,y=b,z=c,…) score multiple runs, maybe multiple answers
(G) Greedy search MaxTries=D=tooBad=1
Output: best setting (output) early termination, don’t look ahead very deeply
while MaxTries-- do
bad=0
reset /* to initial conditions, or random choice */ Simulated annealing (RS)
while MaxChanges-- do Astar (PS)
score = oracle(settings) • MaxTries=1 (no retries)
• MaxWalkSat
Scoring = g(x)+h(x)
• P=1 (I.e. local(rS)search)
If score > best then best = score , output=settings • •h(x) : a D=N=1to one solutions’ value
P=0.5 guess
• No biasing
MaxFunWalk (rS)
If score < notEnough then bad++ • •g(x) biasing cost to get here
No : is the
• Tabu MaxWalkSat,decisions made
Like search (PS) but score
e.g. number of
If bad > tooBad then goto NEXT-TRY • Score computed from weighted
if goal && (score-goal)/goal < ε then return settings •Treatment from JPL (PS)
computed guesses away
Bias new learning
sum of satisfiedmodels
requirements CNF clauses
•from old ones
D=N=1
KEYS (PRG)
If rand() < p
then settings = guess /* random change, perhaps biased */ • •P= -1; MaxTries=1 (no retries)
MaxChanges much smaller
else settings = local search D deep for N next best settings than |settings|
•MaxChanges= |settings|
fi • • Each the lift heuristic
Bias = guess sets one
• Returns thechoice bestun-do)
one more top N (no settings
update biases SPARK3: • Bias = BORE
done meta-search:
NEXT-TRY
Promise mix &match the
Done above
2008 20 May 1, 2008
21. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Status in the literature
Simulated annealing
– Standard search-based SE tool
Astar
– Standard search used in gaming
Simulated annealing (RS)
MaxWalkSat
Astar (PS)
– State of the art in the AI literature • MaxTries=1 (no retries)
• MaxWalkSat
Scoring = g(x)+h(x)
• P=1 (I.e. local(rS)search)
MaxFunWalk P=0.5
• No biasing
guess
• •h(x) : a D=N=1to one solutions’ value
MaxFunWalk (rS)
• •g(x) biasing cost to get here
No : is the
– New • Tabu MaxWalkSat,decisions made
Like search (PS) but score
e.g. number of
• Score computed from weighted
Treatment learning •Treatment from JPL (PS)
computed guesses away
Bias new learning
sum of satisfiedmodels
requirements CNF clauses
– How we used to do it •from old ones
D=N=1
KEYS (PRG)
(RE’02: Menzies &Feather) • •P=0 -1; MaxTries=1smaller
MaxChanges much (no retries)
than |settings|
KEYS •MaxChanges= |settings|
• • Each the lift heuristic
Bias = guess sets one
SPARK4:
– New try other search
• Returns thechoice bestun-do)
one more top N (no settings
methods: e.g. LDS, Beam, • Bias = BORE
DFID,…
Promise
2008 21 May 1, 2008
22. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Results : 1000 runs
model1.c : very small
model2.c
model2
Goal
(max goals,
∑ $mitigations min cost)
# goals reached
Averages, seconds
model3.c : very small
model4.c
0.03 ?
Goals/cost: (less is worse):
• SA < MFW < astar < KEYS
Runtimes (less is best)
• astar < KEYS < MFW << SA
model5.c
40 mins/ 0.048 secs = 50,000 times faster
SPARK5: speed up
via low-level code
optimizations?
Promise
2008 22 May 1, 2008
23. West Virginian University
Brittleness / variance results Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
One advantage of KEYS over ASTAR model4.c
– Reports partial decisions
– And the median/spread of those decisions
– Usually, spread very very small
Shows how brittle is the proposed solution
– Allows business managers to select partial,
good-enough solutions
model2.c
model5.c
SPARK6: for any prior
PROMISE results, explore
variance as well as median
Promise behavior
2008 23 May 1, 2008
24. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Conclusions
Prior PROMISE papers were data-intensive
Six “sparks”
– This paper is model- and algorithm- intensive proposed here:
all based on existing
Search-based software engineering on-line material
– AI design-as-search
– Rich field for repeatable, refutable, improvable experimentation
Vast improvement in our ability to optimize JPL requirements models
– 50,000 times faster
– Can (almost) now do it in real time with the experts' dialogue
• Modulo incremental model compilation
– (note: yet to be tested in a live project setting)
New algorithm: “KEYS”
– Beats standard methods (simulated annealing)
– Best state of the art methods (MaxFunWalk)
– Feel free to roll-your-own algorithm
• Luke, use the “keys”
Promise
2008 24 May 1, 2008
25. West Virginian University
Modelling Intelligence Lab
http://unbox.org/wisp/tags/keys
Questions?
Comments?
To reproduce this experiment
0. Under LINUX
#!/bin/bash 1. Write this to a file
2. Run “bash file”
mkdir ddp
cd ddp
svn co http://unbox.org/wisp/tags/ddpExperiment
svn co http://unbox.org/wisp/tags/keys
svn co http://unbox.org/wisp/tags/astar