VLDB 2026 Research / reviewers in the wild / expert
Tim Menzies
dblp:m/TimMenzies · also Timothy Menzies
· DBLP profile ↗
217ranked-venue papers
56as first author
62since 2021 · last 2026
0000-0002-5040-3196ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 191 · 46 first-author · 57 since 2021Artificial intelligence and machine learning · 20 · 7 first-author · 5 since 2021Databases, data management, data science and information retrieval · 12 · 2 first-author · 7 since 2021Human-computer interaction and ubiquitous computing · 7 · 5 first-authorApplied, interdisciplinary, general and emerging computing · 4Systems, architecture and hardware · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | MOOT: a Repository of many Multi-objective Optimization TasksabstractSoftware engineers must make decisions that trade off competing goals (faster vs. cheaper, secure vs. usable, accurate vs. interpretable, etc.). Despite MSR’s proven techniques for exploring such goals, researchers still struggle with these trade-offs. Similarly, industrial practitioners deliver sub-optimal products since they lack the tools needed to explore these trade-offs. To address this, MOOT (http://tiny.cc/moot) is a repository of many SE multi-objective optimization tasks. MOOT’s 120+ tasks cover software configuration, cloud tuning, project health, process modeling, hyperparameter optimization, and more. Sample scripts for reading MOOT and generating baseline results are available– just clone the repository and run the sample rqx.sh files (from tiny.cc/moot0). To the best of our knowledge, MOOT is the largest and most varied collection of real multi-objective optimization tasks in SE. We note that MOOT’s novelty is infrastructural, not algorithmic—we contribute curated data and research enablement, not new optimization methods. MOOT enables harder and more credible research. MOOT lets us replace studies on toy problems (or just half a dozen hand-picked examples) with case studies on 120+ examples. Such studies could focus on stability, sample efficiency, failure modes, cross-domain generality, or many other questions (see list in this document). Tim Menzies, Tao Chen 0001, Yulong Ye, Kishan Kumar Ganguly, Amirali Rayegan, Srinath Srinivasan, Andre Lustosa |
MSR | 1 |
| 2026 | Zoom, Don't Wander: Why Regional Search Outperforms Pareto Reasoning and Global Optimization In Budget-Constrained SBSE
Kishan Kumar Ganguly, Tim Menzies |
SSBSE | 2 |
| 2026 | From brittle to robust: Improving LLM annotations for SE optimization
Lohith Senthilkumar, Tim Menzies |
Empir. Softw. Eng. | 2 |
| 2026 | From coverage to causes: Data-centric fuzzing for Javascript enginesabstractContext: Exhaustive fuzzing of modern JavaScript engines is infeasible due to the vast number of program states and execution paths. Coverage-guided fuzzers rely on coverage as a proxy for progress, but many vulnerability-triggering inputs that do not increase coverage are discarded. Since fuzzing is expensive and crashes are rare in mature engines, relying on brute-force exploration wastes substantial effort. Existing heuristics proposed to mitigate this require expert effort, are brittle, and hard to adapt. Objective: We propose a data-centric, LLM-boosted alternative that learns from historical vulnerabilities to automatically identify minimal static (code) and dynamic (runtime) features for detecting high-risk inputs. Method: Guided by historical V8 bugs, iterative prompting generated 115 static and 49 dynamic features, with the latter requiring only five trace flags, minimizing instrumentation cost. After feature selection, 41 features remained to train an XGBoost model to predict high-risk inputs during fuzzing. Results: Combining static and dynamic features yields over 85% precision and under 1% false alarm. Only 25% of these features are needed for comparable performance, showing that most of the search space is irrelevant. Conclusion: Rather than proposing a new fuzzer, this work contributes a guidance model that learns from historical vulnerabilities to identify high-risk inputs, shifting the question from ”is this path new?” to ”does this code look dangerous?” By retaining semantically dangerous inputs that coverage-based corpus management would otherwise discard, our method supports more targeted and reproducible vulnerability discovery. To support open science, all scripts and data are available at https://github.com/KKGanguly/DataCentricFuzzJS . Kishan Kumar Ganguly, Tim Menzies |
Inf. Softw. Technol. | 2 |
| 2026 | Minimal data, maximum clarity: A heuristic for explaining optimizationabstractEfficient, interpretable optimization is a critical but underexplored challenge in software engineering, where practitioners routinely face vast configuration spaces and costly, error-prone labeling processes. This paper introduces EZR, a novel and modular framework for multi-objective optimization that unifies active sampling, learning, and explanation within a single, lightweight pipeline. Departing from conventional wisdom, our Maximum Clarity Heuristic demonstrates that using less (but more informative) data can yield optimization models that are both effective and deeply understandable. EZR employs an active learning strategy based on Naive Bayes sampling to efficiently identify high-quality configurations with a fraction of the labels required by fully supervised approaches. It then distills optimization logic into concise decision trees, offering transparent, actionable explanations for both global and local decision-making. Extensive experiments across 60 real-world datasets establish that EZR reliably achieves over 90% of the best-known optimization performance in most cases, while providing clear, cohort-based rationales that surpass standard attribution-based explainable AI (XAI) methods (LIME, SHAP, BreakDown) in clarity and utility. These results endorse “less but better”; it is both possible and often preferable to use fewer (but more informative) examples to generate label-efficient optimization and explanations in software systems. To support transparency and reproducibility, all code and experimental materials are publicly available at https://github.com/amiiralii/Minimal-Data-Maximum-Clarity . • Maximum clarity heuristic: better optimization with less but key data. • Introducing EZR: an interpretable and modular tool for multi-objective optimization. • Comprehensive validation: On 60 datasets for robust optimization results. • Explanation: Practical, actionable explanations to guide real-world decisions. • Downstream validation: showing explanations improve feature selection. Amirali Rayegan, Tim Menzies |
J. Syst. Softw. | 2 |
| 2025 | Shaky structures: The wobbly world of causal graphs in software analyticsabstractAbstract Causal graphs are widely used in software engineering to document and explore causal relationships. Though widely used, they may also be wildly misleading. Causal structures generated from SE data can be highly variable. This instability is so significant that conclusions drawn from one graph may be totally reversed in another, even when both graphs are learned from the same or very similar project data. To document this problem, this paper examines causal graphs found by four causal graph generators (PC, FCI, GES, and LiNGAM) when applied to 23 data sets, relating to three different SE tasks: (a) learning how configuration options are selected for different properties; (b) understanding how management choices affect software projects; and (c) defect prediction. Graphs were compared between (a) different projects exploring the same task; (b) version i and $$i+1$$ of a system; (c) different 90% samples of the data; and (d) small variations in the causal graph generator. Measured in terms of the Jaccard index of the number of edges shared by two different graphs, over half the edges were changed by these treatments. Hence, we conclude two things. Firstly, specific conclusions found by causal graph generators about how two specific variables affect each other may not generalize since those conclusions could be reversed by minor changes in how those graphs are generated. Secondly, before researchers can report supposedly general conclusions from causal graphs (e.g., “long functions cause more defects”), they should test that such conclusions hold over the numerous causal graphs that might be generated from the same data. Jeremy Hulse, Nasir U. Eisty, Tim Menzies |
Empir. Softw. Eng. | 3 |
| 2025 | SparseCoder: Advancing source code analysis with sparse attention and learned token pruning
Xueqi Yang, Mariusz Jakubowski, Haojie Yu, Tim Menzies |
Empir. Softw. Eng. | 5 |
| 2025 | Mining temporal attack patterns from cyberthreat intelligence reportsabstractAbstract Cyberthreat intelligence (CTI) reports on past cyberattacks describe the sequence of actions of attackers in terms of time. The sequence contains temporal relations among attack actions, such as a malware is first downloaded and then executed. Information related to temporal relations enables cybersecurity practitioners to investigate past cyberattack incidents and analyze attackers’ behavior. However, cybersecurity practitioners must extract such information automatically, in a structured manner, through a common vocabulary to reduce human effort and enable sharing, and collaboration. The goal of this paper is to aid security practitioners in proactive defense against attacks by automatic information extraction of temporal relations among attack actions from cyberthreat intelligence reports. We propose ChronoCTI, an automated pipeline for extracting temporal relations among attack actions from CTI reports. The attack actions are represented as MITRE ATT&CK techniques, and the relations are represented as a knowledge graph. To construct ChronoCTI, we build a ground truth dataset of temporal relations and apply large language models, natural language processing, and machine learning techniques. ChronoCTI demonstrates higher precision but lower recall performance on a real-world dataset of 94 CTI reports. We apply ChronoCTI on a set of 713 CTI reports, where we identify 9 categories of temporal attack patterns consisting of 124 temporal attack patterns. We identify that the most prevalent pattern category is to trick victim users into executing malicious code to initiate the attack, followed by bypassing the anti-malware system in the victim software systems. Based on the observed patterns, we advocate for training users about cybersecurity best practices, introducing appropriate warning messages for end-users, introducing immutable operating systems, and enforcing multi-user authentications. Moreover, we advocate that practitioners leverage the automated mining capability of ChronoCTI and design countermeasures against recurring attack patterns. Rayhanur Rahman, Brandon Wroblewski, Quinn Matthews, Brantley Morgan, Tim Menzies, Laurie A. Williams |
Knowl. Inf. Syst. | 5 |
| 2025 | Retrospective: Data Mining Static Code Attributes to Learn Defect PredictorsabstractIndustry can get any research it wants, just by publishing a baseline result along with the data and scripts need to reproduce that work. For instance, the paper “Data Mining Static Code Attributes to Learn Defect Predictors” presented such a baseline, using static code attributes from NASA projects. Those result were enthusiastically embraced by a software engineering research community, hungry for data. At its peak (2016) this paper was SE's most cited paper (per month). By 2018, twenty percent of leading TSE papers (according to Google Scholar Metrics), incorporated artifacts introduced and disseminated by this research. This brief note reflects on what we should remember, and what we should forget, from that paper. Tim Menzies |
IEEE Trans. Software Eng. | 1 |
| 2025 | Is Hyper-Parameter Optimization Different for Software Analytics?abstractYes. SE data can have “smoother” boundaries between classes (compared to traditional AI data sets). To be more precise, the magnitude of the second derivative of the loss function found in SE data is typically much smaller. A new hyper-parameter optimizer, calledSMOOTHIE, can exploit this idiosyncrasy of SE data. We compareSMOOTHIEand a state-of-the-art AI hyper-parameter optimizer on three tasks: (a) GitHub issue lifetime prediction (b) detecting static code warnings false alarm; (c) defect prediction. For completeness, we also show experiments on some standard AI datasets.SMOOTHIEruns faster and predicts better on the SE data–but ties on non-SE data with the AI tool. Hence we conclude that SE data can be different to other kinds of data; and those differences mean that we should use different kinds of algorithms for our data. To support open science and other researchers working in this area, all our scripts and datasets are available on-line athttps://github.com/yrahul3910/smoothness-hpo/. Rahul Yedida, Tim Menzies |
IEEE Trans. Software Eng. | 2 |
| 2024 | ChronoCTI: Mining Knowledge Graph of Temporal Relations Among Cyberattack ActionsabstractCyberthreat intelligence (CTI) reports on past cyberattacks describe the sequence of actions of attackers in terms of time. The sequence contains temporal relations among attack actions, such as a malware is first downloaded and then executed. Information related to temporal relations enables cybersecurity practitioners to investigate past cyberattack incidents and analyze attackers' behavior. However, cybersecurity practitioners must extract such information automatically, in a structured manner, through a common vocabulary to reduce human effort and enable sharing, and collaboration. The goal of this paper is to aid security practitioners in proactive defense against attacks by automatic information extraction of temporal relations among attack actions from cyberthreat intelligence reports. We propose ChronoCTI, an automated pipeline for extracting temporal relations among attack actions from CTI reports. The attack actions are represented as MITRE ATT&CK techniques, and the relations are represented as a knowledge graph. To construct ChronoCTI, we build a ground truth dataset of temporal relations and apply large language models, natural language processing, and machine learning techniques. ChronoCTI demonstrates higher precision but lower recall performance on a real-world dataset of 94 CTI reports. ChronoCTI achieves macro precision, recall, and F1 scores of 0.75, 0.46, and 0.54, respectively. ChronoCTI aids practitioners in analyzing large volumes of CTI reports, thinking like attackers, and knowing what attack actions are likely to happen next, which enables the practitioners to assess imminent threats and strengthen their cybersecurity readiness. Rayhanur Rahman, Brandon Wroblewski, Quinn Matthews, Brantley Morgan, Tim Menzies, Laurie A. Williams |
ICDM | 5 |
| 2024 | When less is more: on the value of "co-training" for semi-supervised software defect predictors
Suvodeep Majumder, Joymallya Chakraborty, Tim Menzies |
Empir. Softw. Eng. | 3 |
| 2024 | A brief note, with thanks, on the contributions of Guenther Ruhe
Tim Menzies |
Inf. Softw. Technol. | 1 |
| 2024 | Learning from Very Little Data: On the Value of Landscape Analysis for Predicting Software Project HealthabstractWhen data is scarce, software analytics can make many mistakes. For example, consider learning predictors for open source project health (e.g., the number of closed pull requests in 12 months time). The training data for this task may be very small (e.g., 5 years of data, collected every month means just 60 rows of training data). The models generated from such tiny datasets can make many prediction errors. Those errors can be tamed by a landscape analysis that selects better learner control parameters. Our niSNEAK tool (a) clusters the data to find the general landscape of the hyperparameters, then (b) explores a few representatives from each part of that landscape. niSNEAK is both faster and more effective than prior state-of-the-art hyperparameter optimization algorithms (e.g., FLASH, HYPEROPT, OPTUNA). The configurations found by niSNEAK have far less error than other methods. For example, for project health indicators such as C = number of commits, I = number of closed issues, and R = number of closed pull requests, niSNEAK ’s 12-month prediction errors are {I=0%, R=33% C=47%}, whereas other methods have far larger errors of {I=61%,R=119% C=149%}. We conjecture that niSNEAK works so well since it finds the most informative regions of the hyperparameters, then jumps to those regions. Other methods (that do not reflect over the landscape) can waste time exploring less informative options. Based on the preceding, we recommend landscape analytics (e.g., niSNEAK ) especially when learning from very small datasets. This article only explores the application of niSNEAK to project health. That said, we see nothing in principle that prevents the application of this technique to a wider range of problems. To assist other researchers in repeating, improving, or even refuting our results, all our scripts and data are available on GitHub at https://github.com/zxcv123456qwe/niSneak. Andre Lustosa, Tim Menzies |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2024 | Scoping Software Engineering for AI: The TSE PerspectiveabstractAdvances in Artificial Intelligence (AI), and in particular in Machine Learning (ML), are introducing profound changes to scholarly submissions across publication venues, affecting in particular the contributions that are being submitted to Software Engineering (SE) conferences and journals. In this context, it is not always clear whether manuscripts submitted to SE venues under the umbrella term SE for AI are indeed relevant to SE, in the sense that they explicitly contain contributions to the SE body of knowledge. This leads to recurring discussions on whether certain AI-related submissions are appropriate to SE venues, or should instead be submitted to other journals and conferences, including AI or ML-specific ones. In this editorial, we discuss the kinds of AI-related contributions that are a better fit-and a less good fit-for publication in the IEEE Transactions on Software Engineering. Sebastián Uchitel, Marsha Chechik, Massimiliano Di Penta, Bram Adams, Nazareno Aguirre, Gabriele Bavota, Domenico Bianculli, Kelly Blincoe, Ana Cavalcanti 0001, Yvonne Dittrich, Filomena Ferrucci, Rashina Hoda, LiGuo Huang, David Lo 0001, Michael R. Lyu, Lei Ma 0003, Jonathan I. Maletic, Leonardo Mariani, Collin McMillan, Tim Menzies, Martin Monperrus, Ana Moreno, Nachiappan Nagappan, Liliana Pasquale, Patrizio Pelliccione, Michael Pradel, Rahul Purandare, Sukyoung Ryu, Mehrdad Sabetzadeh, Alexander Serebrenik, Jun Sun 0001, Chakkrit Tantithamthavorn, Christoph Treude, Manuel Wimmer, Yingfei Xiong 0001, Tao Yue 0002, Andy Zaidman, Tao Zhang 0001, Hao Zhong 0001 |
IEEE Trans. Software Eng. | 20 |
| 2024 | FairBalance: How to Achieve Equalized Odds With Data Pre-ProcessingabstractThis research seeks to benefit the software engineering society by providing a simple yet effective pre-processing approach to achieve equalized odds fairness in machine learning software. Fairness issues have attracted increasing attention since machine learning software is increasingly used for high-stakes and high-risk decisions. It is the responsibility of all software developers to make their software accountable by ensuring that the machine learning software do not perform differently on different sensitive demographic groups—satisfying equalized odds. Different from prior works which either optimize for an equalized odds related metric during the learning process like a black-box, or manipulate the training data following some intuition; this work studies the root cause of the violation of equalized odds and how to tackle it. We found that equalizing the class distribution in each demographic group with sample weights is a necessary condition for achieving equalized odds without modifying the normal training process. In addition, an important partial condition for equalized odds (zero average odds difference) can be guaranteed when the class distributions are weighted to be not only equal but also balanced (1:1). Based on these analyses, we proposed FairBalance, a pre-processing algorithm which balances the class distribution in each demographic group by assigning calculated weights to the training data. On eight real-world datasets, our empirical results show that, at low computational overhead, the proposed pre-processing algorithm FairBalance can significantly improve equalized odds without much, if any damage to the utility. FairBalance also outperforms existing state-of-the-art approaches in terms of equalized odds. To facilitate reuse, reproduction, and validation, we made our scripts available athttps://github.com/hil-se/FairBalance. Zhe Yu 0002, Joymallya Chakraborty, Tim Menzies |
IEEE Trans. Software Eng. | 3 |
| 2023 | VEER: enhancing the interpretability of model-based optimizations
Kewen Peng, Christian Kaltenecker, Norbert Siegmund, Sven Apel, Tim Menzies |
Empir. Softw. Eng. | 5 |
| 2023 | An expert system for redesigning software for cloud applications
Rahul Yedida, Rahul Krishna, Anup K. Kalia, Tim Menzies, Jin Xiao 0005, Maja Vukovic |
Expert Syst. Appl. | 4 |
| 2023 | Fair Enough: Searching for Sufficient Measures of FairnessabstractTesting machine learning software for ethical bias has become a pressing current concern. In response, recent research has proposed a plethora of new fairness metrics, for example, the dozens of fairness metrics in the IBM AIF360 toolkit. This raises the question: How can any fairness tool satisfy such a diverse range of goals? While we cannot completely simplify the task of fairness testing, we can certainly reduce the problem. This article shows that many of those fairness metrics effectively measure the same thing. Based on experiments using seven real-world datasets, we find that (a) 26 classification metrics can be clustered into seven groups and (b) four dataset metrics can be clustered into three groups. Further, each reduced set may actually predict different things. Hence, it is no longer necessary (or even possible) to satisfy all fairness metrics. In summary, to simplify the fairness testing problem, we recommend the following steps: (1) determine what type of fairness is desirable (and we offer a handful of such types), then (2) lookup those types in our clusters, and then (3) just test for one item per cluster. For the purpose of reproducibility, our scripts and data are available at https://github.com/Repoanon ymous/Fairness_Metrics. Suvodeep Majumder, Joymallya Chakraborty, Gina R. Bai, Kathryn T. Stolee, Tim Menzies |
ACM Trans. Softw. Eng. Methodol. | 5 |
| 2023 | Assessing the Early Bird Heuristic (for Predicting Project Quality)abstractBefore researchers rush to reason across all available data or try complex methods, perhaps it is prudent to first check for simpler alternatives. Specifically, if the historical data has the most information in some small region, then perhaps a model learned from that region would suffice for the rest of the project. To support this claim, we offer a case study with 240 projects, where we find that the information in those projects “clumps” towards the earliest parts of the project. A quality prediction model learned from just the first 150 commits works as well, or better than state-of-the-art alternatives. Using just this “early bird” data, we can build models very quickly and very early in the project life cycle. Moreover, using this early bird method, we have shown that a simple model (with just a few features) generalizes to hundreds of projects. Based on this experience, we doubt that prior work on generalizing quality models may have needlessly complicated an inherently simple process. Further, prior work that focused on later-life cycle data needs to be revisited, since their conclusions were drawn from relatively uninformative regions. Replication note: All our data and scripts are available here: https://github.com/snaraya7/early-bird. N. C. Shrikanth, Tim Menzies |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2023 | What Not to Test (For Cyber-Physical Systems)abstractFor simulation-based systems, finding a set of test cases with the least cost by exploring multiple goals is a complex task. Domain-specific optimization goals (e.g., maximize output variance) are useful for guiding the rapid selection of test cases via mutation. But evaluating the selected test cases via mutation (that can distinguish the current program from) is a different goal to domain-specific optimizations. While the optimization goals can be used to guide the mutation analysis, that guidance should be viewed as a weak indicator since it can hurt the mutation effectiveness goals by focusing too much on the optimization goals. Based on the above, this paper proposesDoLesS(Domination withLeastSquares Approximation) that selects the minimal and effective test cases by averaging over a coarse-grained grid of the information gained from multiple optimizations goals.DoLesSapplies an inverted least squares approximation approach to find a minimal set of tests that can distinguish better from worse parts of the optimization goals. When tested on multiple simulation-based systems,DoLesSperforms as well or even better as the prior state-of-the-art, while running 80-360 times faster on average (seconds instead of hours). Tim Menzies |
IEEE Trans. Software Eng. | 2 |
| 2023 | Finding Trends in Software ResearchabstractText mining methods can find large scale trends within research communities. For example, using stable Latent Dirichlet Allocation (a topic modeling algorithm) this study found 10 major topics in 35,391 SE research papers from 34 leading SE venues over the last 25 years (divided, evenly, between conferences and journals). Out study also shows how those topics have changed over recent years. Also, we note that (in the historical record) mono-focusing on a single topic can lead to fewer citations than otherwise. Further, while we find no overall gender bias in SE authorship, we note that women are under-represented in the top-most cited papers in our field. Lastly, we show a previously unreported dichotomy between software conferences and journals (so research topics that succeed at conferences might not succeed at journals, and vice versa). An important aspect of this work is that it is automatic and quickly repeatable (unlike prior SE bibliometric studies that used tediously slow and labor intensive methods). Automation is important since, like any data mining study, its conclusions are skewed by the data used in the analysis. The automatic methods of this paper make it far easier for other researchers to re-apply the analysis to new data, or if they want to use different modeling assumptions. George Mathew, Amritanshu Agrawal, Tim Menzies |
IEEE Trans. Software Eng. | 3 |
| 2023 | FairMask: Better Fairness via Model-Based Rebalancing of Protected AttributesabstractContext: Machine learning software can generate models that inappropriately discriminate against specific protected social groups (e.g., groups based on gender, ethnicity, etc.). Motivated by those results, software engineering researchers have proposed many methods for mitigating those discriminatory effects. While those methods are effective in mitigating bias, few of them can provide explanations on what is the root cause of bias.Objective: We aim to better detect and mitigate algorithmic discrimination in machine learning software problems.Method: Here we propose${{\sf FairMask}}$, amodel-basedextrapolation method that is capable of both mitigating bias and explaining the cause. In our${{\sf FairMask}}$approach, protected attributes are represented by models learned from the other independent variables (and these models offer extrapolations over the space between existing examples). We then use the extrapolation models to relabel protected attributes later seen in testing data or deployment time. Our approach aims to offset the biased predictions of the classification model by rebalancing the distribution of protected attributes.Results: The experiments of this paper show that, without compromising (original) model performance,${{\sf FairMask}}$can achieve significantly better group and individual fairness (as measured in different metrics) than benchmark methods. Moreover, compared to another instance-based rebalancing method, our model-based approach shows faster runtime and thus better scalability.Conclusion: Algorithmic decision bias can be removed via extrapolation that corrects the misleading latent correlation between the protected attributes and other non-protected ones. As evidence for this, our proposed${{\sf FairMask}}$is not only performance-wise better (measured by fairness and performance metrics) than two state-of-the-art fairness algorithms.Reproduction Package: In order to better support open science, all scripts and data used in this study are available online athttps://github.com/anonymous12138/biasmitigation. Kewen Peng, Joymallya Chakraborty, Tim Menzies |
IEEE Trans. Software Eng. | 3 |
| 2023 | How to Find Actionable Static Analysis Warnings: A Case Study With FindBugsabstractAutomatically generated static code warnings suffer from a large number of false alarms. Hence, developers only take action on a small percent of those warnings. To better predict which static code warnings shouldnot be ignored, we suggest that analysts need to look deeper into their algorithms to find choices that better improve the particulars of their specific problem. Specifically, we show here that effective predictors of such warnings can be created by methods thatlocally adjust the decision boundary (between actionable warnings and others). These methods yield a new high water-mark for recognizing actionable static code warnings. For eight open-source Java projects (cassandra, jmeter, commons, lucene-solr, maven, ant, tomcat, derby) we achieve perfect test results on 4/8 datasets and, overall, a median AUC (area under the true negatives, true positives curve) of 92%. Rahul Yedida, Hong Jin Kang, Huy Tu, Xueqi Yang, David Lo 0001, Tim Menzies |
IEEE Trans. Software Eng. | 6 |
| 2022 | Methods for Stabilizing Models Across Large Samples of Projects (with case studies on Predicting Defect and Project Health)abstractDespite decades of research, Software Engineering (SE) lacks widely accepted models (that offer precise quantitative stable predictions) about what factors most influence software quality. This paper provides a promising result showing such stable models can be generated using a new transfer learning framework called "STABILIZER". Given a tree of recursively clustered projects (using project meta-data), STABILIZER promotes a model upwards if it performs best in the lower clusters (stopping when the promoted model performs worse than the models seen at a lower level). Suvodeep Majumder, Tianpei Xia, Rahul Krishna, Tim Menzies |
MSR | 4 |
| 2022 | Dazzle: Using Optimized Generative Adversarial Networks to Address Security Data Class Imbalance IssueabstractBackground: Machine learning techniques have been widely used and demonstrate promising performance in many software security tasks such as software vulnerability prediction. However, the class ratio within software vulnerability datasets is often highly imbalanced (since the percentage of observed vulnerability is usually very low). Goal: To help security practitioners address software security data class imbalanced issues and further help build better prediction models with resampled datasets. Method: We introduce an approach called Dazzle which is an optimized version of conditional Wasserstein Generative Adversarial Networks with gradient penalty (cWGAN-GP). Dazzle explores the architecture hyperparameters of cWGAN-GP with a novel optimizer called Bayesian Optimization. We use Dazzle to generate minority class samples to resample the original imbalanced training dataset. Results: We evaluate Dazzle with three software security datasets, i.e., Moodle vulnerable files, Ambari bug reports, and JavaScript function code. We show that Dazzle is practical to use and demonstrates promising improvement over existing state-of-the-art oversampling techniques such as SMOTE (e.g., with an average of about 60% improvement rate over SMOTE in recall among all datasets). Conclusion: Based on this study, we would suggest the use of optimized GANs as an alternative method for security vulnerability data class imbalanced issues. Tianpei Xia, Laurie A. Williams, Tim Menzies |
MSR | 4 |
| 2022 | How to Improve Deep Learning for Software Analytics (a case study with code smell detection)abstractTo reduce technical debt and make code more maintainable, it is important to be able to warn programmers about code smells. State-of-the-art code small detectors use deep learners, usually without exploring alternatives. For example, one promising alternative is GHOST (from TSE'21) that relies on a combination of hyper-parameter optimization of feedforward neural networks and a novel oversampling technique. Rahul Yedida, Tim Menzies |
MSR | 2 |
| 2022 | Do I really need all this work to find vulnerabilities?
Sarah Elder, Nusrat Zahan, Monica Metro, Val Kozarev, Tim Menzies, Laurie A. Williams |
Empir. Softw. Eng. | 6 |
| 2022 | Revisiting process versus product metrics: a large scale analysis
Suvodeep Majumder, Pranav Mody, Tim Menzies |
Empir. Softw. Eng. | 3 |
| 2022 | Omni: automated ensemble with unexpected models against adversarial evasion attack
Tianpei Xia, Laurie A. Williams, Tim Menzies |
Empir. Softw. Eng. | 4 |
| 2022 | DebtFree: minimizing labeling cost in self-admitted technical debt identification using semi-supervised learning
Huy Tu, Tim Menzies |
Empir. Softw. Eng. | 2 |
| 2022 | Predicting health indicators for open source projects (using hyperparameter optimization)
Tianpei Xia, Wei Fu 0002, Tim Menzies |
Empir. Softw. Eng. | 5 |
| 2022 | Assessing expert system-assisted literature reviews with a case study
Zhe Yu 0002, Jeffrey C. Carver, Gregg Rothermel, Tim Menzies |
Expert Syst. Appl. | 4 |
| 2022 | Simpler Hyperparameter Optimization for Software Analytics: Why, How, When?abstractHow can we make software analytics simpler and faster? One method is to match the complexity of analysis to the intrinsic complexity of the data being explored. For example, hyperparameter optimizers find the control settings for data miners that improve the predictions generated via software analytics. Sometimes, very fast hyperparameter optimization can be achieved by “DODGE-ing”; i.e., simply steering way from settings that lead to similar conclusions. But when is it wise to use that simple approach and when must we use more complex (and much slower) optimizers? To answer this, we applied hyperparameter optimization to 120 SE data sets that explored bad smell detection, predicting Github issue close time, bug report analysis, defect prediction, and dozens of other non-SE problems. We find that the simple DODGE works best for data sets with low “intrinsic dimensionality” ($\mu _D\approx 3$) and very poorly for higher-dimensional data ($\mu _D > 8$). Nearly all the SE data seen here was intrinsically low-dimensional, indicating that DODGE is applicable for many SE analytics tasks. Amritanshu Agrawal, Xueqi Yang, Rahul Yedida, Xipeng Shen, Tim Menzies |
IEEE Trans. Software Eng. | 6 |
| 2022 | How Different is Test Case Prioritization for Open and Closed Source Projects?abstractImproved test case prioritization means that software developers can detect and fix more software faults sooner than usual. But is there one “best” prioritization algorithm? Or do different kinds of projects deserve special kinds of prioritization? To answer these questions, this article applies nine prioritization schemes to 31 projects that range from (a) highly rated open-source Github projects to (b) computational science software to (c) a closed-source project. We find that prioritization approaches that work best for open-source projects can work worst for the closed-source project (and vice versa). From these experiments, we conclude that (a) it is ill-advised to always apply one prioritization scheme to all projects since (b) prioritization requires tuning to different project types. Tim Menzies |
IEEE Trans. Software Eng. | 3 |
| 2022 | Defect Reduction Planning (Using TimeLIME)abstractSoftware comes in releases. An implausible change to software is something that has never been changed in prior releases. When planning how to reduce defects, it is better to use plausible changes, i.e., changes with some precedence in the prior releases. To demonstrate these points, this paper compares several defect reduction planning tools. LIME is a local sensitivity analysis tool that can report the fewest changes needed to alter the classification of some code module (e.g., from “defective” to “non-defective”). TimeLIME is a new tool, introduced in this paper, that improves LIME by restricting its plans to just those attributes which change the most within a project. In this study, we compared the performance of LIME and TimeLIME and several other defect reduction planning algorithms. The generated plans were assessed via (a) the similarity scores between the proposed code changes and the real code changes made by developers; and (b) the improvement scores seen within projects that followed the plans. For nine project trails, we found that TimeLIME outperformed all other algorithms (in 8 out of 9 trials). Hence, we strongly recommend using past releases as a source of knowledge for computing fixes for new releases (using TimeLIME). Apart from these specific results, the other lesson from this paper is that our community might be more careful about using off-the-shelf AI tools, without first applying SE knowledge (e.g., that past releases are a good source of knowledge for planning defect reductions). As shown here, once that SE knowledge is applied, this can result in dramatically better reasoning. Kewen Peng, Tim Menzies |
IEEE Trans. Software Eng. | 2 |
| 2022 | Better Data Labelling With EMBLEM (and how that Impacts Defect Prediction)abstractStandard automatic methods for recognizing problematic development commits can be greatly improved via the incremental application of human+artificial expertise. In this approach, called EMBLEM, an AI tool first explore the software development process to label commits that are most problematic. Humans then apply their expertise to check those labels (perhaps resulting in the AI updating the support vectors within their SVM learner). We recommend this human+AI partnership, for several reasons. When a new domain is encountered, EMBLEM can learn better ways to label which comments refer to real problems. Also, in studies with 9 open source software projects, labelling via EMBLEM's incremental application of human+AI is at least an order of magnitude cheaper than existing methods ($\approx$eight times). Further, EMBLEM is very effective. For the data sets explored here, EMBLEM better labelling methods significantly improved$P_{opt}20$and G-scores performance in nearly all the projects studied here. Huy Tu, Zhe Yu 0002, Tim Menzies |
IEEE Trans. Software Eng. | 3 |
| 2022 | Sequential Model Optimization for Software Effort EstimationabstractMany methods have been proposed to estimate how much effort is required to build and maintain software. Much of that research tries to recommend a single method – an approach that makes the dubious assumption that one method can handle the diversity of software project data. To address this drawback, we apply a configuration technique called “ROME” (Rapid Optimizing Methods for Estimation), which uses sequential model-based optimization (SMO) to find what configuration settings of effort estimation techniques work best for a particular data set. We test this method using data from 1161 traditional waterfall projects and 120 contemporary projects (from GitHub). In terms of magnitude of relative error and standardized accuracy, we find that ROME achieves better performance than the state-of-the-art methods for both traditional waterfall and contemporary projects. In addition, we conclude that we should not recommendonemethod for estimation. Rather, it is better to search through a wide range of different methods to find what works best for the local data. To the best of our knowledge, this is the largest effort estimation experiment yet attempted and the only one to test its methods on traditional waterfall and contemporary projects. Tianpei Xia, Xipeng Shen, Tim Menzies |
IEEE Trans. Software Eng. | 4 |
| 2022 | On the Value of Oversampling for Deep Learning in Software Defect PredictionabstractOne truism of deep learning is that the automatic feature engineering (seen in the first layers of those networks) excuses data scientists from performing tedious manual feature engineering prior to running DL. For the specific case of deep learning for defect prediction, we show that that truism is false. Specifically, when we pre-process data with a novel oversampling technique called fuzzy sampling, as part of a larger pipeline called GHOST (Goal-oriented Hyper-parameter Optimization for Scalable Training), then we can do significantly better than the prior DL state of the art in 14/20 defect data sets. Our approach yields state-of-the-art results significantly faster deep learners. These results present a cogent case for the use of oversampling prior to applying deep learning on software defect prediction datasets. Rahul Yedida, Tim Menzies |
IEEE Trans. Software Eng. | 2 |
| 2022 | Identifying Self-Admitted Technical Debts With Jitterbug: A Two-Step ApproachabstractKeeping track of and managing Self-Admitted Technical Debts (SATDs) are important to maintaining a healthy software project. This requires much time and effort from human experts to identify the SATDs manually. The current automated solutions do not have satisfactory precision and recall in identifying SATDs to fully automate the process. To solve the above problems, we propose a two-step framework calledJitterbugfor identifying SATDs.Jitterbugfirst identifies the “easy to find” SATDs automatically with close to 100 percent precision using a novel pattern recognition technique. Subsequently, machine learning techniques are applied to assist human experts in manually identifying the remaining “hard to find” SATDs with reduced human effort. Our simulation studies on ten software projects show thatJitterbugcan identify SATDs more efficiently (with less human effort) than the prior state-of-the-art methods. Zhe Yu 0002, Fahmid M. Fahid, Huy Tu, Tim Menzies |
IEEE Trans. Software Eng. | 4 |
| 2021 | Early Life Cycle Software Defect Prediction. Why? How?abstractMany researchers assume that, for software analytics, "more data is better." We write to show that, at least for learning defect predictors, this may not be true. To demonstrate this, we analyzed hundreds of popular GitHub projects. These projects ran for 84 months and contained 3,728 commits (median values). Across these projects, most of the defects occur very early in their life cycle. Hence, defect predictors learned from the first 150 commits and four months perform just as well as anything else. This means that, at least for the projects studied here, after the first few months, we need not continually update our defect prediction models. We hope these results inspire other researchers to adopt a "simplicity-first" approach to their work. Some domains require a complex and data-hungry analysis. But before assuming complexity, it is prudent to check the raw data looking for "short cuts" that can simplify the analysis. N. C. Shrikanth, Suvodeep Majumder, Tim Menzies |
ICSE | 3 |
| 2021 | FRUGAL: Unlocking Semi-Supervised Learning for Software AnalyticsabstractStandard software analytics often involves having a large amount of data with labels in order to commission models with acceptable performance. However, prior work has shown that such requirements can be expensive, taking several weeks to label thousands of commits, and not always available when traversing new research problems and domains. Unsupervised Learning is a promising direction to learn hidden patterns within unlabelled data, which has only been extensively studied in defect prediction. Nevertheless, unsupervised learning can be ineffective by itself and has not been explored in other domains (e.g., static analysis and issue close time).Motivated by this literature gap and technical limitations, we present FRUGAL, a tuned semi-supervised method that builds on a simple optimization scheme that does not require sophisticated (e.g., deep learners) and expensive (e.g., 100% manually labelled data) methods. FRUGAL optimizes the unsupervised learner’s configurations (via a simple grid search) while validating our design decision of labelling just 2.5% of the data before prediction.As shown by the experiments of this paper FRUGAL outperforms the state-of-the-art adoptable static code warning recognizer and issue closed time predictor, while reducing the cost of labelling by a factor of 40 (from 100% to 2.5%). Hence we assert that FRUGAL can save considerable effort in data labelling especially in validating prior work or researching new problems.Based on this work, we suggest that proponents of complex and expensive methods should always baseline such methods against simpler and cheaper alternatives. For instance, a semi-supervised learner like FRUGAL can serve as a baseline to the state-of-theart software analytics. Huy Tu, Tim Menzies |
ASE | 2 |
| 2021 | Lessons learned from hyper-parameter tuning for microservice candidate identificationabstractWhen optimizing software for the cloud, monolithic applications need to be partitioned into many smaller microservices. While many tools have been proposed for this task, we warn that the evaluation of those approaches has been incomplete; e.g. minimal prior exploration of hyperparameter optimization. Using a set of open source Java EE applications, we show here that (a) such optimization can significantly improve microservice partitioning; and that (b) an open issue for future work is how to find which optimizer works best for different problems. To facilitate that future work, see https://github.com/yrahul3910/ase-tuned-mono2micro for a reproduction package for this research. Rahul Yedida, Rahul Krishna, Anup K. Kalia, Tim Menzies, Jin Xiao 0005, Maja Vukovic |
ASE | 4 |
| 2021 | Mining Workflows for Anomalous Data TransfersabstractModern scientific workflows are data-driven and are often executed on distributed, heterogeneous, high-performance computing infrastructures. Anomalies and failures in the work-flow execution cause loss of scientific productivity and inefficient use of the infrastructure. Hence, detecting, diagnosing, and mitigating these anomalies are immensely important for reliable and performant scientific workflows. Since these workflows rely heavily on high-performance network transfers that require strict QoS constraints, accurately detecting anomalous network performance is crucial to ensure reliable and efficient workflow execution. To address this challenge, we have developed X-FLASH, a network anomaly detection tool for faulty TCP workflow transfers. X-FLASH incorporates novel hyperparameter tuning and data mining approaches for improving the performance of the machine learning algorithms to accurately classify the anomalous TCP packets. X-FLASH leverages XGBoost as an ensemble model and couples XGBoost with a sequential optimizer, FLASH, borrowed from search-based Software Engineering to learn the optimal model parameters. X-FLASH found configurations that outperformed the existing approach up to 28%, 29%, and 40% relatively for F-measure, G-score, and recall in less than 30 evaluations. From (1) large improvement and (2) simple tuning, we recommend future research to have additional tuning study as a new standard, at least in the area of scientific workflow anomaly detection. Huy Tu, George Papadimitriou 0002, Mariam Kiran, Cong Wang 0014, Anirban Mandal, Ewa Deelman, Tim Menzies |
MSR | 7 |
| 2021 | Bias in machine learning software: why? how? what to do?abstractIncreasingly, software is making autonomous decisions in case of criminal sentencing, approving credit cards, hiring employees, and so on. Some of these decisions show bias and adversely affect certain social groups (e.g. those defined by sex, race, age, marital status). Many prior works on bias mitigation take the following form: change the data or learners in multiple ways, then see if any of that improves fairness. Perhaps a better approach is to postulate root causes of bias and then applying some resolution strategy. This paper postulates that the root causes of bias are the prior decisions that affect- (a) what data was selected and (b) the labels assigned to those examples. Our Fair-SMOTE algorithm removes biased labels; and rebalances internal distributions such that based on sensitive attribute, examples are equal in both positive and negative classes. On testing, it was seen that this method was just as effective at reducing bias as prior approaches. Further, models generated via Fair-SMOTE achieve higher performance (measured in terms of recall and F1) than other state-of-the-art fairness improvement algorithms. To the best of our knowledge, measured in terms of number of analyzed learners and datasets, this study is one of the largest studies on bias mitigation yet presented in the literature. Joymallya Chakraborty, Suvodeep Majumder, Tim Menzies |
ESEC/SIGSOFT FSE | 3 |
| 2021 | Documenting evidence of a reuse of 'a systematic literature review of techniques and metrics to reduce the cost of mutation testing'abstractThis submission is a report on the reuse of Pizzoleto et al.'s Systematic Literature Review by Guizzo et al. Andre Lustosa, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reuse of 'RefactoringMiner 2.0'abstractThis submission is a report on the reuse of Tsantalis et al.'s Refactoring Miner (RMiner) package by Penta et al. Andre Lustosa, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reuse of 'what is a feature? a qualitative study of features in industrial software product lines'abstractWe report here the following example of reuse. The original paper is a prior work about features in product lines by Berger et al. The paper "Dimensions of software configuration: on the configuration context in modern software development" by Siegmund et al. reused definitions and theories about configuration features in the original paper. Kewen Peng, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reuse of '"why should I trust you?": explaining the predictions of any classifier'abstractWe report here the following example of reuse. LIME is a local instance-based explanation generation framework that was originally proposed by Ribeiro et al. in their paper "'Why Should I Trust You?': Explaining the Predictions of Any Classifier". The framework was reused by Peng et al. in their paper "Defect Reduction Planning (using TimeLIME)". The paper used the original implementation of LIME as one of the core components in the proposed framework. Kewen Peng, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a replication of 'populating a release history database from version control and bug tracking systems'abstractWe report here the use of a keyword-based and regular expression-based approach to identify bug-fixing commits by linking commit messages and issue tracker data in a recent FSE '20 paper by Penta et al. in their paper "On the Relationship between Refactoring Actions and Bugs: A Differentiated Replication". The approach replicated is a keyword-based and regular expression-based approach as studied by Fischer et al. Xueqi Yang, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a replication of 'analyze this! 145 questions for data scientists in software engineering'abstractWe report here the use of the 145 software engineering questions for data scientists presented in the Microsoft study in a recent FSE~'20 paper by Huijgens et al. The study by Begel et al. was replicated by Huijgens et al. Xueqi Yang, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reproduction of 'is there a "golden" feature set for static warning identification? - an experimental evaluation'abstractWe report here the use of the static analysis dataset generated by FindBugs in a recent EMSE '21 paper by Yang et al. The artifact reproduced is supervised models to perform static analysis based on a golden feature set as studied by Wang et al. Xueqi Yang, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reuse of 'a systematic study of the class imbalance problem in convolutional neural networks'abstractWe report here the reuse of oversampling, and modifications to the basic approach, used in a recent TSE ’21 paper by YedidaMenzies. The method reused is the oversampling technique studied by Buda et al. These methods were studied in the SE domain (specifically, for defect prediction), and extended by Yedida & Menzies. Rahul Yedida, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Documenting evidence of a reuse of 'on the number of linear regions of deep neural networks'abstractWe report here the reuse of theoretical insights from deep learning literature, used in a recent TSE '21 paper by Yedida & Menzies. The artifact replicated is the lower bound on the number of piecewise linear regions in the decision boundary of a feedforward neural network with ReLU activations, as studied by Montufar et al. We document the reuse of Theorem 4 from Montufar et al. by Yedida & Menzies. Rahul Yedida, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2021 | Assessing practitioner beliefs about software engineering
N. C. Shrikanth, William Nichols, Fahmid M. Fahid, Tim Menzies |
Empir. Softw. Eng. | 4 |
| 2021 | How to Better Distinguish Security Bug Reports (Using Dual Hyperparameter Optimization)
Tianpei Xia, Laurie A. Williams, Tim Menzies |
Empir. Softw. Eng. | 5 |
| 2021 | Learning to recognize actionable static code warnings (is intrinsically easy)
Xueqi Yang, Rahul Yedida, Zhe Yu 0002, Tim Menzies |
Empir. Softw. Eng. | 5 |
| 2021 | Understanding static code warnings: An incremental AI approach
Xueqi Yang, Zhe Yu 0002, Junjie Wang 0001, Tim Menzies |
Expert Syst. Appl. | 4 |
| 2021 | How to "DODGE" Complex Software AnalyticsabstractMachine learning techniques applied to software engineering tasks can be improved by hyperparameter optimization, i.e., automatic tools that find good settings for a learner's control parameters. We show that such hyperparameter optimization can be unnecessarily slow, particularly when the optimizers waste time exploring “redundant tunings”, i.e., pairs of tunings which lead to indistinguishable results. By ignoring redundant tunings,DODGE($\mathcal {E})$E), a tuning tool, runs orders of magnitude faster, while also generating learners with more accurate predictions than seen in prior state-of-the-art approaches. Amritanshu Agrawal, Wei Fu 0002, Xipeng Shen, Tim Menzies |
IEEE Trans. Software Eng. | 5 |
| 2021 | Whence to Learn? Transferring Knowledge in Configurable Systems Using BEETLEabstractAs software systems grow in complexity and the space of possible configurations increases exponentially, finding the near-optimal configuration of a software system becomes challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, collecting enough sample configurations can be very expensive since each such sample requires configuring, compiling, and executing the entire system using a complex test suite. When learning on new data is too expensive, it is possible to useTransfer Learningto “transfer” old lessons to the new context. Traditional transfer learning has a number of challenges, specifically, (a) learning from excessive data takes excessive time, and (b) the performance of the models built via transfer can deteriorate as a result of learning from a poor source. To resolve these problems, we propose a novel transfer learning framework called BEETLE, which is a “bellwether”-based transfer learner that focuses on identifying and learning from the most relevant source from amongst the old data. This paper evaluates BEETLE with 57 different software configuration problems based on five software systems (a video encoder, an SAT solver, a SQL database, a high-performance C-compiler, and a streaming data analytics tool). In each of these cases, BEETLE found configurations that are as good as or better than those found by other state-of-the-art transfer learners while requiring only a fraction ($\frac{1}{7}$th) of the measurements needed by those other methods. Based on these results, we say that BEETLE is a new high-water mark in optimally configuring software. Rahul Krishna, Vivek Nair, Pooyan Jamshidi, Tim Menzies |
IEEE Trans. Software Eng. | 4 |
| 2021 | Characterizing Crowds to Better Optimize Worker Recommendation in Crowdsourced TestingabstractCrowdsourced testing is an emerging trend, in which test tasks are entrusted to the online crowd workers. Typically, a crowdsourced test task aims to detect as many bugs as possible within a limited budget. However not all crowd workers are equally skilled at finding bugs; Inappropriate workers may miss bugs, or report duplicate bugs, while hiring them requires nontrivial budget. Therefore, it is of great value to recommend a set of appropriate crowd workers for a test task so that more software bugs can be detected with fewer workers. This paper first presents a new characterization of crowd workers and characterizes them with testing context, capability, and domain knowledge. Based on the characterization, we then propose Multi-Objective Crowd wOrker recoMmendation approach (MOCOM), which aims at recommending a minimum number of crowd workers who could detect the maximum number of bugs for a crowdsourced testing task. Specifically, MOCOM recommends crowd workers by maximizing the bug detection probability of workers, the relevance with the test task, the diversity of workers, and minimizing the test cost. We experimentally evaluate MOCOM on 532 test tasks, and results show that MOCOM significantly outperforms five commonly-used and state-of-the-art baselines. Furthermore, MOCOM can reduce duplicate reports and recommend workers with high relevance and larger bug detection probability; because of this it can find more bugs with fewer workers. Junjie Wang 0001, Song Wang 0009, Tim Menzies, Qiang Cui 0001, Miao Xie, Qing Wang 0001 |
IEEE Trans. Software Eng. | 4 |
| 2021 | Improving Vulnerability Inspection Efficiency Using Active LearningabstractSoftware engineers can find vulnerabilities with less effort if they are directed towards code that might contain more vulnerabilities. HARMLESS is an incremental support vector machine tool that builds a vulnerability prediction model from the source code inspected to date, then suggests what source code files should be inspected next. In this way, HARMLESS can reduce the time and effort required to achieve some desired level of recall for finding vulnerabilities. The tool also provides feedback on when to stop (at that desired level of recall) while at the same time, correcting human errors by double-checking suspicious files. This paper evaluates HARMLESS on Mozilla Firefox vulnerability data. HARMLESS found 80, 90, 95, 99 percent of the vulnerabilities by inspecting 10, 16, 20, 34 percent of the source code files. When targeting 90, 95, 99 percent recall, HARMLESS could stop after inspecting 23, 30, 47 percent of the source code files. Even when human reviewers fail to identify half of the vulnerabilities (50 percent false negative rate), HARMLESS could detect 96 percent of the missing vulnerabilities by double-checking half of the inspected files. Our results serve to highlight the very steep cost of protecting software from vulnerabilities (in our case study that cost is, for example, the human effort of inspecting 28,750 × 20% = 5,750 source code files to identify 95 percent of the vulnerabilities). While this result could benefit the mission-critical projects where human resources are available for inspecting thousands of source code files, the research challenge for future work is how to further reduce that cost. The conclusion of this paper discusses various ways that goal might be achieved. Zhe Yu 0002, Christopher Theisen, Laurie A. Williams, Tim Menzies |
IEEE Trans. Software Eng. | 4 |
| 2020 | Making Fair ML Software using Trustworthy ExplanationabstractMachine learning software is being used in many applications (finance, hiring, admissions, criminal justice) having huge social impact. But sometimes the behavior of this software is biased and it shows discrimination based on some sensitive attributes such as sex, race etc. Prior works concentrated on finding and mitigating bias in ML models. A recent trend is using instance-based model-agnostic explanation methods such as LIME[36] to find out bias in the model prediction. Our work concentrates on finding shortcomings of current bias measures and explanation methods. We show how our proposed method based on K nearest neighbors can overcome those shortcomings and find the underlying bias of black box models. Our results are more trustworthy and helpful for the practitioners. Finally, We describe our future framework combining explanation and planning to build fair software. Joymallya Chakraborty, Kewen Peng, Tim Menzies |
ASE | 3 |
| 2020 | Fairway: a way to build fair ML softwareabstractMachine learning software is increasingly being used to make decisions that affect people's lives. But sometimes, the core part of this software (the learned model), behaves in a biased manner that gives undue advantages to a specific group of people (where those groups are determined by sex, race, etc.). This "algorithmic discrimination" in the AI software systems has become a matter of serious concern in the machine learning and software engineering community. There have been works done to find "algorithmic bias" or "ethical bias" in the software system. Once the bias is detected in the AI software system, the mitigation of bias is extremely important. In this work, we a)explain how ground-truth bias in training data affects machine learning model fairness and how to find that bias in AI software,b)propose a method Fairway which combines pre-processing and in-processing approach to remove ethical bias from training data and trained model. Our results show that we can find bias and mitigate bias in a learned model, without much damaging the predictive performance of that model. We propose that (1) testing for bias and (2) bias mitigation should be a routine part of the machine learning software development life cycle. Fairway offers much support for these two purposes. Joymallya Chakraborty, Suvodeep Majumder, Zhe Yu 0002, Tim Menzies |
ESEC/SIGSOFT FSE | 4 |
| 2020 | Better software analytics via "DUO": Data mining algorithms using/used-by optimizers
Amritanshu Agrawal, Tim Menzies, Leandro L. Minku, Markus Wagner 0007, Zhe Yu 0002 |
Empir. Softw. Eng. | 2 |
| 2020 | Learning actionable analytics from multiple software projects
Rahul Krishna, Tim Menzies |
Empir. Softw. Eng. | 2 |
| 2020 | iSENSE2.0: Improving Completion-aware Crowdtesting Management with Duplicate Tagger and Sanity CheckerabstractSoftware engineers get questions of “how much testing is enough” on a regular basis. Existing approaches in software testing management employ experience-, risk-, or value-based analysis to prioritize and manage testing processes. However, very few is applicable to the emerging crowdtesting paradigm to cope with extremely limited information and control over unknown, online crowdworkers. In practice, deciding when to close a crowdtesting task is largely done by experience-based guesswork and frequently results in ineffective crowdtesting. More specifically, it is found that an average of 32% testing cost was wasteful spending in current crowdtesting practice. This article intends to address this challenge by introducing automated decision support for monitoring and determining appropriate time to close crowdtesting tasks. To that end, it first investigates the necessity and feasibility of close prediction of crowdtesting tasks based on an industrial dataset. Next, it proposes a close prediction approach named iSENSE2.0, which applies incremental sampling technique to process crowdtesting reports arriving in chronological order and organizes them into fixed-sized groups as dynamic inputs. Then, a duplicate tagger analyzes the duplicate status of received crowd reports, and a CRC-based (Capture-ReCapture) close estimator generates the close decision based on the dynamic bug arrival status. In addition, a coverage-based sanity checker is designed to reinforce the stability and performance of close prediction. Finally, the evaluation of iSENSE2.0 is conducted on 56,920 reports of 306 crowdtesting tasks from one of the largest crowdtesting platforms. The results show that a median of 100% bugs can be detected with 30% saved cost. The performance of iSENSE2.0 does not demonstrate significant difference with the state-of-the-art approach iSENSE , while the later one relies on the duplicate tag, which is generally considered as time-consuming and tedious to obtain. Junjie Wang 0001, Tim Menzies, Qing Wang 0001 |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 2020 | Finding Faster Configurations Using FLASHabstractFinding good configurations of a software system is often challenging since the number of configuration options can be large. Software engineers often make poor choices about configuration or, even worse, they usually use a sub-optimal configuration in production, which leads to inadequate performance. To assist engineers in finding the better configuration, this article introduces Flash, a sequential model-based method that sequentially explores the configuration space by reflecting on the configurations evaluated so far to determine the next best configuration to explore. Flash scales up to software systems that defeat the prior state-of-the-art model-based methods in this area. Flash runs much faster than existing methods and can solve both single-objective and multi-objective optimization problems. The central insight of this article is to use the prior knowledge of the configuration space (gained from prior runs) to choose the next promising configuration. This strategy reduces the effort (i.e., number of measurements) required to find the better configuration. We evaluate Flash using 30 scenarios based on 7 software systems to demonstrate that Flash saves effort in 100 and 80 percent of cases in single-objective and multi-objective problems respectively by up to several orders of magnitude compared to state-of-the-art techniques. Vivek Nair, Zhe Yu 0002, Tim Menzies, Norbert Siegmund, Sven Apel |
IEEE Trans. Software Eng. | 3 |
| 2019 | iSENSE: completion-aware crowdtesting managementabstractCrowdtesting has become an effective alternative to traditional testing, especially for mobile applications. However, crowdtesting is hard to manage in nature. Given the complexity of mobile applications and unpredictability of distributed crowdtesting processes, it is difficult to estimate (a) remaining number of bugs yet to be detected or (b) required cost to find those bugs. Experience-based decisions may result in ineffective crowdtesting processes, e.g., there is an average of 32% wasteful spending in current crowdtesting practices. This paper aims at exploring automated decision support to effectively manage crowdtesting processes. It proposes an approach named ISENSE which applies incremental sampling technique to process crowdtesting reports arriving in chronological order, organizes them into fixed-size groups as dynamic inputs, and predicts two test completion indicators in an incremental manner. The two indicators are: 1) total number of bugs predicted with Capture-ReCapture model, and 2) required test cost for achieving certain test objectives predicted with AutoRegressive Integrated Moving Average model. The evaluation of ISENSE is conducted on 46,434 reports of 218 crowdtesting tasks from one of the largest crowdtesting platforms in China. Its effectiveness is demonstrated through two application studies for automating crowdtesting management and semi-automation of task closing trade-off analysis. The results show that ISENSE can provide managers with greater awareness of testing progress to achieve cost-effectiveness gains of crowdtesting. Specifically, a median of 100% bugs can be detected with 30% saved cost based on the automated close prediction. Junjie Wang 0001, Rahul Krishna, Tim Menzies, Qing Wang 0001 |
ICSE | 4 |
| 2019 | Replication can improve prior results: a GitHub study of pull request acceptanceabstractCrowdsourcing and data mining can be used to effectively reduce the effort associated with the partial replication and enhancement of qualitative studies. For example, in a primary study, other researchers explored factors influencing the fate of GitHub pull requests using an extensive qualitative analysis of 20 pull requests. Guided by their findings, we mapped some of their qualitative insights onto quantitative questions. To determine how well their findings generalize, we collected much more data (170 additional pull requests from 142 GitHub projects). Using crowdsourcing, that data was augmented with subjective qualitative human opinions about how pull requests extended the original issue. The crowd's answers were then combined with quantitative features and, using data mining, used to build a predictor for whether code would be merged. That predictor was far more accurate than the one built from the primary study's qualitative factors (F1=90 vs 68%), illustrating the value of a mixed-methods approach and replication to improve prior results. To test the generality of this approach, the next step in future work is to conduct other studies that extend qualitative studies with crowdsourcing and data mining. Kathryn T. Stolee, Tim Menzies |
ICPC | 3 |
| 2019 | Predicting breakdowns in cloud services (with SPIKE)abstractMaintaining web-services is a mission-critical task where any down- time means loss of revenue and reputation (of being a reliable service provider). In the current competitive web services market, such a loss of reputation causes extensive loss of future revenue. Joymallya Chakraborty, Philip Clark, Kevin Haverlock, Snehit Cherian, Tim Menzies |
ESEC/SIGSOFT FSE | 6 |
| 2019 | TERMINATOR: better automated UI test case prioritizationabstractAutomated UI testing is an important component of the continuous integration process of software development. A modern web-based UI is an amalgam of reports from dozens of microservices written by multiple teams. Queries on a page that opens up another will fail if any of that page's microservices fails. As a result, the overall cost for automated UI testing is high since the UI elements cannot be tested in isolation. For example, the entire automated UI testing suite at LexisNexis takes around 30 hours (3-5 hours on the cloud) to execute, which slows down the continuous integration process. Zhe Yu 0002, Fahmid M. Fahid, Tim Menzies, Gregg Rothermel, Kyle Patrick, Snehit Cherian |
ESEC/SIGSOFT FSE | 3 |
| 2019 | FAST2: An intelligent assistant for finding relevant papers
Zhe Yu 0002, Tim Menzies |
Expert Syst. Appl. | 2 |
| 2019 | "Bad smells" in software analytics papers
Tim Menzies, Martin J. Shepperd |
Inf. Softw. Technol. | 1 |
| 2019 | Images don't lie: Duplicate crowdtesting reports detection with screenshot information
Junjie Wang 0001, Mingyang Li 0005, Song Wang 0009, Tim Menzies, Qing Wang 0001 |
Inf. Softw. Technol. | 4 |
| 2019 | "Sampling" as a Baseline Optimizer for Search-Based Software EngineeringabstractIncreasingly, Software Engineering (SE) researchers use search-based optimization techniques to solve SE problems with multiple conflicting objectives. These techniques often apply CPU-intensive evolutionary algorithms to explore generations of mutations to a population of candidate solutions. An alternative approach, proposed in this paper, is to start with a very large population and sample down to just the better solutions. We call this method “Sway”, short for “the sampling way”. This paper compares Sway versus state-of-the-art search-based SE tools using seven models: five software product line models; and two other software process control models (concerned with project management, effort estimation, and selection of requirements) during incremental agile development. For these models, the experiments of this paper show that Sway is competitive with corresponding state-of-the-art evolutionary algorithms while requiring orders of magnitude fewer evaluations. Considering the simplicity and effectiveness of Sway, we, therefore, propose this approach as a baseline method for search-based software engineering models, especially for models that are very slow to execute. Vivek Nair, Rahul Krishna, Tim Menzies |
IEEE Trans. Software Eng. | 4 |
| 2019 | A Deep Learning Model for Estimating Story PointsabstractAlthough there has been substantial research in software analytics for effort estimation in traditional software projects, little work has been done for estimation in agile projects, especially estimating the effort required for completing user stories or issues. Story points are the most common unit of measure used for estimating the effort involved in completing a user story or resolving an issue. In this paper, we propose a prediction model for estimating story points based on a novel combination of two powerful deep learning architectures: long short-term memory and recurrent highway network. Our prediction system is end-to-end trainable from raw input data to prediction outcomes without any manual feature engineering. We offer a comprehensive dataset for story points-based estimation that contains 23,313 issues from 16 open source projects. An empirical evaluation demonstrates that our approach consistently outperforms three common baselines (Random Guessing, Mean, and Median methods) and six alternatives (e.g., using Doc2Vec and Random Forests) in Mean Absolute Error, Median Absolute Error, and the Standardized Accuracy. Morakot Choetkiertikul, Khanh Hoa Dam, Truyen Tran 0001, Trang Pham, Aditya Ghose, Tim Menzies |
IEEE Trans. Software Eng. | 6 |
| 2019 | Bellwethers: A Baseline Method for Transfer LearningabstractSoftware analytics builds quality prediction models for software projects. Experience shows that (a) the more projects studied, the more varied are the conclusions; and (b) project managers lose faith in the results of software analytics if those results keep changing. To reduce this conclusion instability, we propose the use of “bellwethers”: given N projects from a community the bellwether is the project whose data yields the best predictions on all others. The bellwethers offer a way to mitigate conclusion instability because conclusions about a community are stable as long as this bellwether continues as the best oracle. Bellwethers are also simple to discover (just wrap a for-loop around standard data miners). When compared to other transfer learning methods (TCA+, transfer Naive Bayes, value cognitive boosting), using just the bellwether data to construct a simple transfer learner yields comparable predictions. Further, bellwethers appear in many SE tasks such as defect prediction, effort estimation, and bad smell detection. We hence recommend using bellwethers as a baseline method for transfer learning against which future work should be compared. Rahul Krishna, Tim Menzies |
IEEE Trans. Software Eng. | 2 |
| 2018 | RIOT: A Stochastic-Based Method for Workflow Scheduling in the CloudabstractCloud computing provides engineers or scientists a place to run complex computing tasks. Finding a workflows’s deployment configuration in a cloud environment is not easy. Traditional workflow scheduling algorithms were based on some heuristics, e.g. reliability greedy, cost greedy, cost-time balancing, etc., or more recently, the meta-heuristic methods, such as genetic algorithms. These methods are very slow and not suitable for rescheduling in dynamic cloud environment. This paper introduces RIOT (Randomized Instance Order Types), a stochastic based method for workflow scheduling. RIOT groups the tasks in the workflow into virtual machines via a probability model and then uses an effective surrogate based method to assess large amount of potential schedulings. Experiments in dozens of study cases showed that RIOT executes tens of times faster than traditional methods while generating comparable results to other methods. Tim Menzies |
IEEE CLOUD | 2 |
| 2018 | Micky: A Cheaper Alternative for Selecting Cloud InstancesabstractMost cloud computing optimizers explore and improve one workload at a time. When optimizing many workloads, the single-optimizer approach can be prohibitively expensive. Accordingly, we examine "collective optimizer" that concurrently explore and improve a set of workloads significantly reducing the measurement costs. Our large-scale empirical study shows that there is often a single cloud configuration which is surprisingly near-optimal for most workloads. Consequently, we create a collective-optimizer, MICKY, that reformulates the task of finding the near-optimal cloud configuration as a multi-armed bandit problem. MICKY efficiently balances exploration (of new cloud configurations) and exploitation (of known good cloud configuration). Our experiments show that MICKY can achieve on average 8.6 times reduction in measurement cost as compared to the state-of-the-art method while finding near-optimal solutions. Hence we propose MICKY as the basis of a practical collective optimization method for finding good cloud configurations (based on various constraints such as budget and tolerance to near-optimal configurations). Chin-Jung Hsu, Vivek Nair, Tim Menzies, Vincent W. Freeh |
IEEE CLOUD | 3 |
| 2018 | Arrow: Low-Level Augmented Bayesian Optimization for Finding the Best Cloud VMabstractWith the advent of big data applications, which tend to have longer execution time, choosing the right cloud VM has significant performance and economic implications. For example, in our large-scale empirical study of 107 different workloads on three popular big data systems, we found that a wrong choice can lead to a 20 times slowdown or an increase in cost by 10 times. Bayesian optimization is a technique for optimizing expensive (black-box) functions. Previous work has only used instance-level information (such as core counts and memory size) which is not sufficient to represent the search space. In this work, we discover that this may lead to the fragility problem-either incurs high search cost or finds only the sub-optimal solution. The central insight of this paper is to use low-level performance information to augment the process of Bayesian Optimization. Our novel low-level augmented Bayesian Optimization is rarely worse than current practices and often performs much better (in 46 of 107 cases). Further, it significantly reduces the search cost in nearly half of our case studies. Based on this work, we conclude that it is often insufficient to use general-purpose off-the-shelf methods for configuring cloud instances without augmenting those methods with essential systems knowledge such as CPU utilization, working memory size and I/O wait time. Chin-Jung Hsu, Vivek Nair, Vincent W. Freeh, Tim Menzies |
ICDCS | 4 |
| 2018 | Is "better data" better than "better data miners"?: on the benefits of tuning SMOTE for defect predictionabstractWe report and fix an important systematic error in prior studies that ranked classifiers for software analytics. Those studies did not (a) assess classifiers on multiple criteria and they did not (b) study how variations in the data affect the results. Hence, this paper applies (a) multi-performance criteria while (b) fixing the weaker regions of the training data (using SMOTUNED, which is an auto-tuning version of SMOTE). This approach leads to dramatically large increases in software defect predictions when applied in a 5*5 cross-validation study for 3,681 JAVA classes (containing over a million lines of code) from open source systems, SMOTUNED increased AUC and recall by 60% and 20% respectively. These improvements are independent of the classifier used to predict for defects. Same kind of pattern (improvement) was observed when a comparative analysis of SMOTE and SMOTUNED was done against the most recent class imbalance technique. Amritanshu Agrawal, Tim Menzies |
ICSE | 2 |
| 2018 | 500+ times faster than deep learning: a case study exploring faster methods for text mining stackoverflowabstractDeep learning methods are useful for high-dimensional data and are becoming widely used in many areas of software engineering. Deep learners utilizes extensive computational power and can take a long time to train- making it difficult to widely validate and repeat and improve their results. Further, they are not the best solution in all domains. For example, recent results show that for finding related Stack Overflow posts, a tuned SVM performs similarly to a deep learner, but is significantly faster to train. Suvodeep Majumder, Nikhila Balaji, Katie Brey, Wei Fu 0002, Tim Menzies |
MSR | 5 |
| 2018 | Data-driven search-based software engineeringabstractThis paper introduces Data-Driven Search-based Software Engineering (DSE), which combines insights from Mining Software Repositories (MSR) and Search-based Software Engineering (SBSE). While MSR formulates software engineering problems as data mining problems, SBSE reformulate Software Engineering (SE) problems as optimization problems and use meta-heuristic algorithms to solve them. Both MSR and SBSE share the common goal of providing insights to improve software engineering. The algorithms used in these two areas also have intrinsic relationships. We, therefore, argue that combining these two fields is useful for situations (a) which require learning from a large data source or (b) when optimizers need to know the lay of the land to find better solutions, faster. Vivek Nair, Amritanshu Agrawal, Wei Fu 0002, George Mathew, Tim Menzies, Leandro L. Minku, Markus Wagner 0007, Zhe Yu 0002 |
MSR | 6 |
| 2018 | Applications of psychological science for actionable analyticsabstractAccording to psychological scientists, humans understand models that most match their own internal models, which they characterize as lists of "heuristic"s (i.e. lists of very succinct rules). One such heuristic rule generator is the Fast-and-Frugal Trees (FFT) preferred by psychological scientists. Despite their successful use in many applied domains, FFTs have not been applied in software analytics. Accordingly, this paper assesses FFTs for software analytics. Wei Fu 0002, Rahul Krishna, Tim Menzies |
ESEC/SIGSOFT FSE | 4 |
| 2018 | Faster discovery of faster system configurations with spectral learning
Vivek Nair, Tim Menzies, Norbert Siegmund, Sven Apel |
Autom. Softw. Eng. | 2 |
| 2018 | Finding better active learners for faster literature reviews
Zhe Yu 0002, Nicholas A. Kraft, Tim Menzies |
Empir. Softw. Eng. | 3 |
| 2018 | What is wrong with topic modeling? And how to fix it using search-based software engineering
Amritanshu Agrawal, Wei Fu 0002, Tim Menzies |
Inf. Softw. Technol. | 3 |
| 2018 | Beyond evolutionary algorithms for search-based software engineering
Vivek Nair, Tim Menzies |
Inf. Softw. Technol. | 3 |
| 2018 | Guest Editorial for the Special Section from the 9th International Symposium on Search Based Software Engineering
Justyna Petke, Tim Menzies |
Inf. Softw. Technol. | 2 |
| 2018 | Heterogeneous Defect PredictionabstractMany recent studies have documented the success of cross-project defect prediction (CPDP) to predict defects for new projects lacking in defect data by using prediction models built by other projects. However, most studies share the same limitations: it requires homogeneous data; i.e., different projects must describe themselves using the same metrics. This paper presents methods for heterogeneous defect prediction (HDP) that matches up different metrics in different projects. Metric matching for HDP requires a “large enough” sample of distributions in the source and target projects-which raises the question on how large is “large enough” for effective heterogeneous defect prediction. This paper shows that empirically and theoretically, “large enough” may be very small indeed. For example, using a mathematical model of defect prediction, we identify categories of data sets were as few as 50 instances are enough to build a defect prediction model. Our conclusion for this work is that, even when projects use different metric sets, it is possible to quickly transfer lessons learned about defect prediction. Jaechang Nam, Wei Fu 0002, Sunghun Kim 0001, Tim Menzies, Lin Tan 0001 |
IEEE Trans. Software Eng. | 4 |
| 2017 | "SHORT"er Reasoning About Larger Requirements ModelsabstractWhen Requirements Engineering(RE) models are unreasonably complex, they cannot support efficient decision making. SHORT is a tool to simplify that reasoning by exploiting the "key" decisions within RE models. These "keys" have the property that once values are assigned to them, it is very fast to reason over the remaining decisions. Using these "keys", reasoning about RE models can be greatly SHORTened by focusing stakeholder discussion on just these key decisions.This paper evaluates the SHORT tool on eight complex RE models. We find that the number of keys are typically only 12% of all decisions. Since they are so few in number, keys can be used to reason faster about models. For example, using keys, we can optimize over those models (to achieve the most goals at least cost) two to three orders of magnitude faster than standard methods. Better yet, finding those keys is not difficult: SHORT runs in low order polynomial time and terminates in a few minutes for the largest models. George Mathew, Tim Menzies, Neil A. Ernst, John Klein |
RE | 2 |
| 2017 | Easy over hard: a case study on deep learningabstractWhile deep learning is an exciting new technique, the benefits of this method need to be assessed with respect to its computational cost. This is particularly important for deep learning since these learners need hours (to weeks) to train the model. Such long training time limits the ability of (a)~a researcher to test the stability of their conclusion via repeated runs with different random seeds; and (b)~other researchers to repeat, improve, or even refute that original work. Wei Fu 0002, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2017 | Revisiting unsupervised learning for defect predictionabstractCollecting quality data from software projects can be time-consuming and expensive. Hence, some researchers explore "unsupervised" approaches to quality prediction that does not require labelled data. An alternate technique is to use "supervised" approaches that learn models from project data labelled with, say, "defective" or "not-defective". Most researchers use these supervised models since, it is argued, they can exploit more knowledge of the projects. Wei Fu 0002, Tim Menzies |
ESEC/SIGSOFT FSE | 2 |
| 2017 | Using bad learners to find good configurationsabstractFinding the optimally performing configuration of a software system for a given setting is often challenging. Recent approaches address this challenge by learning performance models based on a sample set of configurations. However, building an accurate performance model can be very expensive (and is often infeasible in practice). The central insight of this paper is that exact performance values (e.g., the response time of a software system) are not required to rank configurations and to identify the optimal one. As shown by our experiments, performance models that are cheap to learn but inaccurate (with respect to the difference between actual and predicted performance) can still be used rank configurations and hence find the optimal configuration. This novel rank-based approach allows us to significantly reduce the cost (in terms of number of measurements of sample configuration) as well as the time required to build performance models. We evaluate our approach with 21 scenarios based on 9 software systems and demonstrate that our approach is beneficial in 16 scenarios; for the remaining 5 scenarios, an accurate model can be built by using very few samples anyway, without the need for a rank-based approach. Vivek Nair, Tim Menzies, Norbert Siegmund, Sven Apel |
ESEC/SIGSOFT FSE | 2 |
| 2017 | A guest editorial: special issue on search based software engineering and data mining
Marouane Kessentini, Tim Menzies |
Autom. Softw. Eng. | 2 |
| 2017 | Are delayed issues harder to resolve? Revisiting cost-to-fix of defects throughout the lifecycle
Tim Menzies, William Nichols, Forrest Shull, Lucas Layman |
Empir. Softw. Eng. | 1 |
| 2017 | Negative results for software effort estimation
Tim Menzies, George Mathew, Barry W. Boehm, Jairus Hihn |
Empir. Softw. Eng. | 1 |
| 2017 | Less is more: Minimizing code reorganization using XTREE
Rahul Krishna, Tim Menzies, Lucas Layman |
Inf. Softw. Technol. | 2 |
| 2017 | TMAP: Discovering relevant API methods through text mining of API documentationabstractAbstract Developers often migrate their applications to support various platform/programming‐language application programming interfaces (APIs) to retain existing users and to attract new users. To migrate an application written using 1 API (source) to another API (target), a developer must know how the methods in the source API map to the methods in the target API. Given that a typical platform or language exposes a large number of API methods, manually discovering API mappings is prohibitively resource‐intensive and may be error prone. The goal of this research is to support software developers in migrating an application from a source API to a target API by automatically discovering relevant method mappings across APIs using text mining on the natural language API method descriptions. This paper proposes text mining based approach (TMAP) to discover relevant API mappings. To evaluate our approach, we used TMAP to discover API mappings for 15 classes across (1)JavaandC#API; and (2)Java MEandAndroidAPI. We compared the discovered mappings with state‐of‐the‐art source code analysis‐based approaches: Rosetta and StaMiner. Our results indicate that TMAP on average found relevant mappings for 56% and 57% more methods compared to the Rosetta and the StaMiner approaches, respectively. Rahul Pandita, Raoul Praful Jetley, Sithu D. Sudarsan, Tim Menzies, Laurie A. Williams |
J. Softw. Evol. Process. | 4 |
| 2016 | Too much automation? the bellwether effect and its implications for transfer learningabstractTransfer learning: is the process of translating quality predictors learned in one data set to another. Transfer learning has been the subject of much recent research. In practice, that research means changing models all the time as transfer learners continually exchange new models to the current project. This paper offers a very simple bellwether transfer learner. Given N data sets, we find which one produce the best predictions on all the others. This bellwether data set is then used for all subsequent predictions (or, until such time as its predictions start failing-- at which point it is wise to seek another bellwether). Bellwethers are interesting since they are very simple to find (just wrap a for-loop around standard data miners). Also, they simplify the task of making general policies in SE since as long as one bellwether remains useful, stable conclusions for N data sets can be achieved just by reasoning over that bellwether. From this, we conclude (1) this bellwether method is a useful (and very simple) transfer learning method; (2) bellwethers are a baseline method against which future transfer learners should be compared; (3) sometimes, when building increasingly complex automatic methods, researchers should pause and compare their supposedly more sophisticated method against simpler alternatives. Rahul Krishna, Tim Menzies, Wei Fu 0002 |
ASE | 2 |
| 2016 | Topic modeling of NASA space system problem reports: research in practiceabstractProblem reports at NASA are similar to bug reports: they capture defects found during test, post-launch operational anomalies, and document the investigation and corrective action of the issue. These artifacts are a rich source of lessons learned for NASA, but are expensive to analyze since problem reports are comprised primarily of natural language text. We apply topic modeling to a corpus of NASA problem reports to extract trends in testing and operational failures. We collected 16,669 problem reports from six NASA space flight missions and applied Latent Dirichlet Allocation topic modeling to the document corpus. We analyze the most popular topics within and across missions, and how popular topics changed over the lifetime of a mission. We find that hardware material and flight software issues are common during the integration and testing phase, while ground station software and equipment issues are more common during the operations phase. We identify a number of challenges in topic modeling for trend analysis: 1) that the process of selecting the topic modeling parameters lacks definitive guidance, 2) defining semantically-meaningful topic labels requires non-trivial effort and domain expertise, 3) topic models derived from the combined corpus of the six missions were biased toward the larger missions, and 4) topics must be semantically distinct as well as cohesive to be useful. Nonetheless, topic modeling can identify problem themes within missions and across mission lifetimes, providing useful feedback to engineers and project managers. Lucas Layman, Allen P. Nikora, Joshua Meek, Tim Menzies |
MSR | 4 |
| 2016 | An (Accidental) Exploration of Alternatives to Evolutionary Algorithms for SBSE
Vivek Nair, Tim Menzies |
SSBSE | 2 |
| 2016 | Tuning for software analytics: Is it really necessary?
Wei Fu 0002, Tim Menzies, Xipeng Shen |
Inf. Softw. Technol. | 2 |
| 2016 | Learning Mitigations for Pilot Issues When Landing Aircraft (via Multiobjective Optimization and Multiagent Simulations)abstractWe advocate exploring complex models by combining data miners (to find a small set of most critical examples) and of multiobjective optimizers (that focus on those critical examples). An example of such a combination is the GALE optimizer that intelligently explores thousands of scenarios by examining just a few dozen of the most informative examples. GALE-style reasoning enables a very fast, very wide ranging exploration of behaviors, as well as the effects of those behaviors' limitations. This paper applies GALE to the continuous descent approach (CDA) model within the Georgia Tech Work Models that Compute framework. CDA is a model of pilot interactions: with each other and also with the navigation systems critical to safe flight. We show that, using CDA+GALE, it is possible to identify and mitigate factors that make pilots unable to complete all their required tasks in the context of different 1) function allocation strategies, 2) pilot cognitive control strategies, and 3) operational contexts that impact and safe aircraft operation. We also show that other optimization methods can be so slow to run that, without GALE, it might be impractical to find those mitigations. Joseph Krall, Tim Menzies, Misty D. Davies |
IEEE Trans. Hum. Mach. Syst. | 2 |
| 2015 | 1st International Workshop on Big Data Software Engineering (BIGDSE 2015)abstractBig Data is about extracting valuable information from data in order to use it in intelligent ways such as to revolutionize decision-making in businesses, science and society. BIGDSE 2015 discusses the link between Big Data and software engineering and critically looks into issues such as cost-benefit of big data. Luciano Baresi, Tim Menzies, Andreas Metzger, Thomas Zimmermann 0001 |
ICSE (2) | 2 |
| 2015 | The Art and Science of Analyzing Software Data; Quantitative MethodsabstractUsing the tools of quantitative data science, software engineers that can predict useful information on new projects based on past projects. This tutorial reflects on the state-of-the-art in quantitative reasoning in this important field. This tutorial discusses the following: (a) when local data is scarce, we show how to adapt data from other organizations to local problems; (b) when working with data of dubious quality, we show how to prune spurious information; (c) when data or models seem too complex, we show how to simplify data mining results; (d) when the world changes, and old models need to be updated, we show how to handle those updates; (e) when the effect is too complex for one model, we show to how reason over ensembles. Tim Menzies, Leandro L. Minku, Fayola Peters |
ICSE (2) | 1 |
| 2015 | LACE2: Better Privacy-Preserving Data Sharing for Cross Project Defect PredictionabstractBefore a community can learn general principles, it must share individual experiences. Data sharing is the fundamental step of cross project defect prediction, i.e. the process of using data from one project to predict for defects in another. Prior work on secure data sharing allowed data owners to share their data on a single-party basis for defect prediction via data minimization and obfuscation. However the studied method did not consider that bigger data required the data owner to share more of their data. In this paper, we extend previous work with LACE2 which reduces the amount of data shared by using multi-party data sharing. Here data owners incrementally add data to a cache passed among them and contribute "interesting" data that are not similar to the current content of the cache. Also, before data owner i passes the cache to data owner j, privacy is preserved by applying obfuscation algorithms to hide project details. The experiments of this paper show that (a) LACE2 is comparatively less expensive than the single-party approach and (b) the multi-party approach of LACE2 yields higher privacy than the prior approach without damaging predictive efficacy (indeed, in some cases, LACE2 leads to better defect predictors). Fayola Peters, Tim Menzies, Lucas Layman |
ICSE (1) | 2 |
| 2015 | Guest editorial: special issue on realizing AI synergies in software engineering
Rachel Harrison, Tim Menzies |
Autom. Softw. Eng. | 2 |
| 2015 | Guest editorial: special issue on realizing AI synergies in software engineering (part 2)
Rachel Harrison, Tim Menzies |
Autom. Softw. Eng. | 2 |
| 2015 | Guest editorial: special multi-issue on selected topics in Automated Software Engineering
Tim Menzies, Corina Pasareanu |
Autom. Softw. Eng. | 1 |
| 2015 | Guest editorial: special multi-issue on selected topics in automated software engineering
Tim Menzies, Corina Pasareanu |
Autom. Softw. Eng. | 1 |
| 2015 | Transfer learning in effort estimation
Ekrem Kocaguneli, Tim Menzies, Emilia Mendes |
Empir. Softw. Eng. | 2 |
| 2015 | GALE: Geometric Active Learning for Search-Based Software EngineeringabstractMulti-objective evolutionary algorithms (MOEAs) help software engineers find novel solutions to complex problems. When automatic tools explore too many options, they are slow to use and hard to comprehend. GALE is a near-linear time MOEA that builds a piecewise approximation to the surface of best solutions along the Pareto frontier. For each piece, GALE mutates solutions towards the better end. In numerous case studies, GALE finds comparable solutions to standard methods (NSGA-II, SPEA2) using far fewer evaluations (e.g. 20 evaluations, not 1,000). GALE is recommended when a model is expensive to evaluate, or when some audience needs to browse and understand how an MOEA has made its conclusions. Joseph Krall, Tim Menzies, Misty D. Davies |
IEEE Trans. Software Eng. | 2 |
| 2014 | Special issue on realizing artificial intelligence synergies in software engineering
Tim Menzies, Marjan Mernik |
Softw. Qual. J. | 1 |
| 2013 | Learning from Open-Source Projects: An Empirical Study on Defect PredictionabstractThe fundamental issue in cross project defect prediction is selecting the most appropriate training data for creating quality defect predictors. Another concern is whether historical data of open-source projects can be used to create quality predictors for proprietary projects from a practical point-of-view. Current studies have proposed statistical approaches to finding these training data, however, thus far no apparent effort has been made to study their success on proprietary data. Also these methods apply brute force techniques which are computationally expensive. In this work we introduce a novel data selection procedure which takes into account the similarities between the distribution of the test and potential training data. Additionally we use feature subset selection to increase the similarity between the test and training sets. Our procedure provides a comparable and scalable means of solving the cross project defect prediction problem for creating quality defect predictors. To evaluate our procedure we conducted empirical studies with comparisons to the within company defect prediction and a relevancy filtering method. We found that our proposed method performs relatively better than the filtering method in terms of both computation cost and prediction performance. Fayola Peters, Tim Menzies |
ESEM | 3 |
| 2013 | 1st international workshop on data analysis patterns in software engineering (DAPSE 2013)abstractData scientists in software engineering seek insight in data collected from software projects to improve software development. The demand for data scientists with domain knowledge in software development is growing rapidly and there is already a shortage of such data scientists. Data science is a skilled art with a steep learning curve. To shorten that learning curve, this workshop will collect best practices in form of data analysis patterns, that is, analyses of data that leads to meaningful conclusions and can be reused for comparable data. In the workshop we compiled a catalog of such patterns that will help experienced data scientists to better communicate about data analysis. The workshop was targeted at experienced data scientists and researchers and anyone interested in how to analyze data correctly and efficiently in a community accepted way. Christian Bird, Tim Menzies, Thomas Zimmermann 0001 |
ICSE | 2 |
| 2013 | Automatic query reformulations for text retrieval in software engineeringabstractThere are more than twenty distinct software engineering tasks addressed with text retrieval (TR) techniques, such as, traceability link recovery, feature location, refactoring, reuse, etc. A common issue with all TR applications is that the results of the retrieval depend largely on the quality of the query. When a query performs poorly, it has to be reformulated and this is a difficult task for someone who had trouble writing a good query in the first place. We propose a recommender (called Refoqus) based on machine learning, which is trained with a sample of queries and relevant results. Then, for a given query, it automatically recommends a reformulation strategy that should improve its performance, based on the properties of the query. We evaluated Refoqus empirically against four baseline approaches that are used in natural language document retrieval. The data used for the evaluation corresponds to changes from five open source systems in Java and C++ and it is used in the context of TR-based concept location in source code. Refoqus outperformed the baselines and its recommendations lead to query performance improvement or preservation in 84% of the cases (in average). Sonia Haiduc, Gabriele Bavota, Andrian Marcus, Rocco Oliveto, Andrea De Lucia, Tim Menzies |
ICSE | 6 |
| 2013 | 2nd international workshop on realizing artificial intelligence synergies in software engineering (RAISE 2013)abstractThe RAISE'13 workshop brought together researchers from the AI and software engineering disciplines to build on the interdisciplinary synergies which exist and to stimulate research across these disciplines. The first part of the workshop was devoted to current results and consisted of presentations and discussion of the state of the art. This was followed by a second part which looked over the horizon to seek future directions, inspired by a number of selected vision statements concerning the AI-and-SE crossover. The goal of the RAISE workshop was to strengthen the AI-and-SE community and also develop a roadmap of strategic research directions for AI and software engineering. Rachel Harrison, Sol J. Greenspan, Tim Menzies, Marjan Mernik, Pedro Rangel Henriques, Daniela Carneiro da Cruz, Daniel Rodríguez-García |
ICSE | 3 |
| 2013 | Distributed development considered harmful?abstractWe offer a case study illustrating three rules for reporting research to industrial practitioners. Firstly, report “relevant” results; e.g. this paper explores the effects of distributed development on software products. Second: “recheck” old results if new results call them into question. Many papers say distributed development can be harmful to software quality. Previous work by Bird et al. allayed that concern but a recent paper by Posnett et al. suggests that the Bird result was biased by the kinds of files it explored. Hence, this paper rechecks that result and finds significant differences in Microsoft products (Office 2010) between software built by distributed or collocated teams. At first glance, this recheck calls into question the widespread practice of distributed development. Our third rule is to “reflect” on results to avoid confusing practitioners with an arcane mathematical analysis. For example, on reflection, we found that the effect size of the differences seen in the collocated and distributed software was so small that it need not concern industrial practitioners. Our conclusion is that at least for Microsoft products, distributed development is not considered harmful. Ekrem Kocaguneli, Thomas Zimmermann 0001, Christian Bird, Nachiappan Nagappan, Tim Menzies |
ICSE | 5 |
| 2013 | Data science for software engineeringabstractTarget audience: Software practitioners and researchers wanting to understand the state of the art in using data science for software engineering (SE). Content: In the age of big data, data science (the knowledge of deriving meaningful outcomes from data) is an essential skill that should be equipped by software engineers. It can be used to predict useful information on new projects based on completed projects. This tutorial offers core insights about the state-of-the-art in this important field. What participants will learn: Before data science: this tutorial discusses the tasks needed to deploy machine-learning algorithms to organizations (Part 1: Organization Issues). During data science: from discretization to clustering to dichotomization and statistical analysis. And the rest: When local data is scarce, we show how to adapt data from other organizations to local problems. When privacy concerns block access, we show how to privatize data while still being able to mine it. When working with data of dubious quality, we show how to prune spurious information. When data or models seem too complex, we show how to simplify data mining results. When data is too scarce to support intricate models, we show methods for generating predictions. When the world changes, and old models need to be updated, we show how to handle those updates. When the effect is too complex for one model, we show how to reason across ensembles of models. Pre-requisites: This tutorial makes minimal use of maths of advanced algorithms and would be understandable by developers and technical managers. Tim Menzies, Ekrem Kocaguneli, Fayola Peters, Burak Turhan, Leandro L. Minku |
ICSE | 1 |
| 2013 | On the value of user preferences in search-based software engineering: a case study in software product linesabstractSoftware design is a process of trading off competing objectives. If the user objective space is rich, then we should use optimizers that can fully exploit that richness. For example, this study configures software product lines (expressed as feature maps) using various search-based software engineering methods. As we increase the number of optimization objectives, we find that methods in widespread use (e.g. NSGA-II, SPEA2) perform much worse than IBEA (Indicator-Based Evolutionary Algorithm). IBEA works best since it makes most use of user preference knowledge. Hence it does better on the standard measures (hypervolume and spread) but it also generates far more products with 0% violations of domain constraints. Our conclusion is that we need to change our methods for search-based software engineering, particularly when studying complex decision spaces. Abdel Salam Sayyad, Tim Menzies, Hany H. Ammar |
ICSE | 2 |
| 2013 | Scalable product line configuration: A straw to break the camel's backabstractSoftware product lines are hard to configure. Techniques that work for medium sized product lines fail for much larger product lines such as the Linux kernel with 6000+ features. This paper presents simple heuristics that help the Indicator-Based Evolutionary Algorithm (IBEA) in finding sound and optimum configurations of very large variability models in the presence of competing objectives. We employ a combination of static and evolutionary learning of model structure, in addition to utilizing a pre-computed solution used as a “seed” in the midst of a randomly-generated initial population. The seed solution works like a single straw that is enough to break the camel's back -given that it is a feature-rich seed. We show promising results where we can find 30 sound solutions for configuring upward of 6000 features within 30 minutes. Abdel Salam Sayyad, Joseph Ingram, Tim Menzies, Hany H. Ammar |
ASE | 3 |
| 2013 | Class level fault prediction using software clusteringabstractDefect prediction approaches use software metrics and fault data to learn which software properties associate with faults in classes. Existing techniques predict fault-prone classes in the same release (intra) or in a subsequent releases (inter) of a subject software system. We propose an intra-release fault prediction technique, which learns from clusters of related classes, rather than from the entire system. Classes are clustered using structural information and fault prediction models are built using the properties of the classes in each cluster. We present an empirical investigation on data from 29 releases of eight open source software systems from the PROMISE repository, with predictors built using multivariate linear regression. The results indicate that the prediction models built on clusters outperform those built on all the classes of the system. Giuseppe Scanniello, Carmine Gravino, Andrian Marcus, Tim Menzies |
ASE | 4 |
| 2013 | Better cross company defect predictionabstractHow can we find data for quality prediction? Early in the life cycle, projects may lack the data needed to build such predictors. Prior work assumed that relevant training data was found nearest to the local project. But is this the best approach? This paper introduces the Peters filter which is based on the following conjecture: When local data is scarce, more information exists in other projects. Accordingly, this filter selects training data via the structure of other projects. To assess the performance of the Peters filter, we compare it with two other approaches for quality prediction. Within-company learning and cross-company learning with the Burak filter (the state-of-the-art relevancy filter). This paper finds that: 1) within-company predictors are weak for small data-sets; 2) the Peters filter+cross-company builds better predictors than both within-company and the Burak filter+cross-company; and 3) the Peters filter builds 64% more useful predictors than both within-company and the Burak filter+cross-company approaches. Hence, we recommend the Peters filter for cross-company learning. Fayola Peters, Tim Menzies, Andrian Marcus |
MSR | 2 |
| 2013 | Finding conclusion stability for selecting the best effort predictor in software effort estimation
Jacky W. Keung, Ekrem Kocaguneli, Tim Menzies |
Autom. Softw. Eng. | 3 |
| 2013 | Kernel methods for software effort estimation - Effects of different kernel functions and bandwidths on estimation accuracy
Ekrem Kocaguneli, Tim Menzies, Jacky W. Keung |
Empir. Softw. Eng. | 2 |
| 2013 | Predictive models in software engineering
Tim Menzies, Akif Günes Koru |
Empir. Softw. Eng. | 1 |
| 2013 | Incremental Development of Fault Prediction ModelsabstractThe identification of fault-prone modules has a significant impact on software quality assurance. In addition to prediction accuracy, one of the most important goals is to detect fault prone modules as early as possible in the development lifecycle. Requirements, design, and code metrics have been successfully used for predicting fault-prone modules. In this paper, we investigate the benefits of the incremental development of software fault prediction models. We compare the performance of these models as the volume of data and their life cycle origin (design, code, or their combination) evolve during project development. We analyze 14 data sets from publicly available software engineering data repositories. These data sets offer both design and code metrics. Using a number of modeling techniques and statistical significance tests, we confirm that increasing the volume of training data improves model performance. Further models built from code metrics typically outperform those that are built using design metrics only. However, both types of models prove to be useful as they can be constructed in different phases of the life cycle. Code-based models can be used to increase the effectiveness of assigning verification and validation activities late in the development life cycle. We also conclude that models that utilize a combination of design and code level metrics outperform models which use either one metric set exclusively. Yue Jiang 0001, Bojan Cukic, Tim Menzies |
Int. J. Softw. Eng. Knowl. Eng. | 3 |
| 2013 | Guest editorial for the Special Section on BEST PAPERS from the 2011 conference on Predictive Models in Software Engineering (PROMISE)
Tim Menzies |
Inf. Softw. Technol. | 1 |
| 2013 | Software effort models should be assessed via leave-one-out validation
Ekrem Kocaguneli, Tim Menzies |
J. Syst. Softw. | 2 |
| 2013 | Active Learning and Effort Estimation: Finding the Essential Content of Software Effort Estimation DataabstractBackground: Do we always need complex methods for software effort estimation (SEE)? Aim: To characterize the essential content of SEE data, i.e., the least number of features and instances required to capture the information within SEE data. If the essential content is very small, then 1) the contained information must be very brief and 2) the value added of complex learning schemes must be minimal. Method: Our QUICK method computes the euclidean distance between rows (instances) and columns (features) of SEE data, then prunes synonyms (similar features) and outliers (distant instances), then assesses the reduced data by comparing predictions from 1) a simple learner using the reduced data and 2) a state-of-the-art learner (CART) using all data. Performance is measured using hold-out experiments and expressed in terms of mean and median MRE, MAR, PRED(25), MBRE, MIBRE, or MMER. Results: For 18 datasets, QUICK pruned 69 to 96 percent of the training data (median = 89 percent). K = 1 nearest neighbor predictions (in the reduced data) performed as well as CART's predictions (using all data). Conclusion: The essential content of some SEE datasets is very small. Complex estimation methods may be overelaborate for such datasets and can be simplified. We offer QUICK as an example of such a simpler SEE method. Ekrem Kocaguneli, Tim Menzies, Jacky W. Keung, David R. Cok, Raymond J. Madachy |
IEEE Trans. Software Eng. | 2 |
| 2013 | Local versus Global Lessons for Defect Prediction and Effort EstimationabstractExisting research is unclear on how to generate lessons learned for defect prediction and effort estimation. Should we seek lessons that are global to multiple projects or just local to particular projects? This paper aims to comparatively evaluate local versus global lessons learned for effort estimation and defect prediction. We applied automated clustering tools to effort and defect datasets from the PROMISE repository. Rule learners generated lessons learned from all the data, from local projects, or just from each cluster. The results indicate that the lessons learned after combining small parts of different data sources (i.e., the clusters) were superior to either generalizations formed over all the data or local lessons formed from particular projects. We conclude that when researchers attempt to draw lessons from some historical data source, they should 1) ignore any existing local divisions into multiple sources, 2) cluster across all available data, then 3) restrict the learning of lessons to the clusters from other sources that are nearest to the test data. Tim Menzies, Andrew Butcher, David R. Cok, Andrian Marcus, Lucas Layman, Forrest Shull, Burak Turhan, Thomas Zimmermann 0001 |
IEEE Trans. Software Eng. | 1 |
| 2013 | Learning Project Management Decisions: A Case Study with Case-Based Reasoning versus Data FarmingabstractBackground: Given information on just a few prior projects, how do we learn the best and fewest changes for current projects? Aim: To conduct a case study comparing two ways to recommend project changes. 1) Data farmers use Monte Carlo sampling to survey and summarize the space of possible outcomes. 2) Case-based reasoners (CBR) explore the neighborhood around test instances. Method: We applied a state-of-the data farmer (SEESAW) and a CBR tool ()'V2) to software project data. Results: CBR with )'V2 was more effective than SEESAW's data farming for learning best and recommended project changes, effectively reducing runtime, effort, and defects. Further, CBR with )'V2 was comparably easier to build, maintain, and apply in novel domains, especially on noisy data sets. Conclusion: Use CBR tools like )'V2 when data are scarce or noisy or when project data cannot be expressed in the required form of a data farmer. Future Work: This study applied our own CBR tool to several small data sets. Future work could apply other CBR tools and data farmers to other data (perhaps to explore other goals such as, say, minimizing maintenance effort). Tim Menzies, Adam Brady, Jacky W. Keung, Jairus Hihn, Oussama El-Rawas, Phillip Green II, Barry W. Boehm |
IEEE Trans. Software Eng. | 1 |
| 2013 | Balancing Privacy and Utility in Cross-Company Defect PredictionabstractBackground: Cross-company defect prediction (CCDP) is a field of study where an organization lacking enough local data can use data from other organizations for building defect predictors. To support CCDP, data must be shared. Such shared data must be privatized, but that privatization could severely damage the utility of the data. Aim: To enable effective defect prediction from shared data while preserving privacy. Method: We explore privatization algorithms that maintain class boundaries in a dataset. CLIFF is an instance pruner that deletes irrelevant examples. MORPH is a data mutator that moves the data a random distance, taking care not to cross class boundaries. CLIFF+MORPH are tested in a CCDP study among 10 defect datasets from the PROMISE data repository. Results: We find: 1) The CLIFFed+MORPHed algorithms provide more privacy than the state-of-the-art privacy algorithms; 2) in terms of utility measured by defect prediction, we find that CLIFF+MORPH performs significantly better. Conclusions: For the OO defect data studied here, data can be privatized and shared without a significant degradation in utility. To the best of our knowledge, this is the first published result where privatization does not compromise defect prediction. Fayola Peters, Tim Menzies, Hongyu Zhang 0002 |
IEEE Trans. Software Eng. | 2 |
| 2012 | Goldfish bowl panel: Software development analyticsabstractGaming companies now routinely apply data mining to their user data in order to plan the next release of their software. We predict that such software development analytics will become commonplace, in the near future. For example, as large software systems migrate to the cloud, they are divided and sold as dozens of smaller apps; when shopping inside the cloud, users are free to mix and match their apps from multiple vendors (e.g. Google Docs' word processor with Zoho's slide manager); to extend, or even retain, market share cloud vendors must mine their user data in order to understand what features best attract their clients. This panel will address the open issues with analytics. Issues addressed will include the following. What is the potential for software development analytics? What are the strengths and weaknesses of the current generation of analytics tools? How best can we mature those tools? Tim Menzies, Thomas Zimmermann 0001 |
ICSE | 1 |
| 2012 | Privacy and utility for defect prediction: Experiments with MORPHabstractIdeally, we can learn lessons from software projects across multiple organizations. However, a major impediment to such knowledge sharing are the privacy concerns of software development organizations. This paper aims to provide defect data-set owners with an effective means of privatizing their data prior to release. We explore MORPH which understands how to maintain class boundaries in a data-set. MORPH is a data mutator that moves the data a random distance, taking care not to cross class boundaries. The value of training on this MORPHed data is tested via a 10-way within learning study and a cross learning study using Random Forests, Naive Bayes, and Logistic Regression for ten object-oriented defect datasets from the PROMISE data repository. Measured in terms of exposure of sensitive attributes, the MORPHed data was four times more private than the unMORPHed data. Also, in terms of the f-measures, there was little difference between the MORPHed and unMORPHed data (original data and data privatized by data-swapping) for both the cross and within study. We conclude that at least for the kinds of OO defect data studied in this project, data can be privatized without concerns for inference efficacy. Fayola Peters, Tim Menzies |
ICSE | 2 |
| 2012 | Crowd-Sourced Knowledge Bases
Yang Sok Kim, Byeong Ho Kang 0001, Seung Hwan Ryu, Paul Compton, Soyeon Caren Han, Tim Menzies |
PKAW | 6 |
| 2012 | Guest editorial: learning to organize testingabstractBoehm and Basili 2001) described the start-of-the art in defect reduction.Since then, there has been considerable research into data mining of defect data; e.g.Menzies et al. (2007).The data mining work has become less about defect reduction, and more about how to organize a project's test resources in order to improve product quality by (say) defining a procedure such that the modules most likely to contain defects are inspected first (Menzies et al. 2010).After a decade of intensive work into data mining to make best use of testing resources, it is time to ask: what have we learned from all that research?Some of that research offers success stories with (e.g.) Ayse Basar Bener, Tim Menzies |
Autom. Softw. Eng. | 2 |
| 2012 | Special issue on repeatable results in software engineering prediction
Tim Menzies, Martin J. Shepperd |
Empir. Softw. Eng. | 1 |
| 2012 | Learning Better Inspection Optimization PoliciesabstractRecent research has shown the value of social metrics for defect prediction. Yet many repositories lack the information required for a social analysis. So, what other means exist to infer how developers interact around their code? One option is static code metrics that have already demonstrated their usefulness in analyzing change in evolving software systems. But do they also help in defect prediction? To address this question we selected a set of static code metrics to determine what classes are most "active" (i.e., the classes where the developers spend much time interacting with each other's design and implementation decisions) in 33 open-source Java systems that lack details about individual developers. In particular, we assessed the merit of these activity-centric measures in the context of "inspection optimization" — a technique that allows for reading the fewest lines of code in order to find the most defects. For the task of inspection optimization these activity measures perform as well as (usually, within 4%) a theoretical upper bound on the performance of any set of measures. As a result, we argue that activity-centric static code metrics are an excellent predictor for defects. Markus Lumpe, Rajesh Vasa, Tim Menzies, Rebecca Rush, Burak Turhan |
Int. J. Softw. Eng. Knowl. Eng. | 3 |
| 2012 | Exploiting the Essential Assumptions of Analogy-Based Effort EstimationabstractBackground: There are too many design options for software effort estimators. How can we best explore them all? Aim: We seek aspects on general principles of effort estimation that can guide the design of effort estimators. Method: We identified the essential assumption of analogy-based effort estimation, i.e., the immediate neighbors of a project offer stable conclusions about that project. We test that assumption by generating a binary tree of clusters of effort data and comparing the variance of supertrees versus smaller subtrees. Results: For 10 data sets (from Coc81, Nasa93, Desharnais, Albrecht, ISBSG, and data from Turkish companies), we found: 1) The estimation variance of cluster subtrees is usually larger than that of cluster supertrees; 2) if analogy is restricted to the cluster trees with lower variance, then effort estimates have a significantly lower error (measured using MRE, AR, and Pred(25) with a Wilcoxon test, 95 percent confidence, compared to nearest neighbor methods that use neighborhoods of a fixed size). Conclusion: Estimation by analogy can be significantly improved by a dynamic selection of nearest neighbors, using only the project data from regions with small variance. Ekrem Kocaguneli, Tim Menzies, Ayse Basar Bener, Jacky W. Keung |
IEEE Trans. Software Eng. | 2 |
| 2012 | On the Value of Ensemble Effort EstimationabstractBackground: Despite decades of research, there is no consensus on which software effort estimation methods produce the most accurate models. Aim: Prior work has reported that, given M estimation methods, no single method consistently outperforms all others. Perhaps rather than recommending one estimation method as best, it is wiser to generate estimates from ensembles of multiple estimation methods. Method: Nine learners were combined with 10 preprocessing options to generate 9 \times 10 = 90 solo methods. These were applied to 20 datasets and evaluated using seven error measures. This identified the best n (in our case n=13) solo methods that showed stable performance across multiple datasets and error measures. The top 2, 4, 8, and 13 solo methods were then combined to generate 12 multimethods, which were then compared to the solo methods. Results: 1) The top 10 (out of 12) multimethods significantly outperformed all 90 solo methods. 2) The error rates of the multimethods were significantly less than the solo methods. 3) The ranking of the best multimethod was remarkably stable. Conclusion: While there is no best single effort estimation method, there exist best combinations of such effort estimation methods. Ekrem Kocaguneli, Tim Menzies, Jacky W. Keung |
IEEE Trans. Software Eng. | 2 |
| 2011 | How to Find Relevant Data for Effort Estimation?abstractBackground: Building effort estimators requires the training data. How can we find that data? It is tempting to cross the boundaries of development type, location, language, application and hardware to use existing datasets of other organizations. However, prior results caution that using such cross data may not be useful. Aim: We test two conjectures: (1) instance selection can automatically prune irrelevant instances and (2) retrieval from the remaining examples is useful for effort estimation, regardless of their source. Method: We selected 8 cross-within divisions (21 pairs of within-cross subsets) out of 19 datasets and evaluated these divisions under different analogy-based estimation (ABE) methods. Results: Between the within & cross experiments, there were few statistically significant differences in (i) the performance of effort estimators, or (ii) the amount of instances retrieved for estimation. Conclusion: For the purposes of effort estimation, there is little practical difference between cross and within data. After applying instance selection, the remaining examples (be they from within or from cross source divisions) can be used for effort estimation. Ekrem Kocaguneli, Tim Menzies |
ESEM | 2 |
| 2011 | Local vs. global models for effort estimation and defect predictionabstractData miners can infer rules showing how to improve either (a) the effort estimates of a project or (b) the defect predictions of a software module. Such studies often exhibit conclusion instability regarding what is the most effective action for different projects or modules. This instability can be explained by data heterogeneity. We show that effort and defect data contain many local regions with markedly different properties to the global space. In other words, what appears to be useful in a global context is often irrelevant for particular local contexts. This result raises questions about the generality of conclusions from empirical SE. At the very least, SE researchers should test if their supposedly general conclusions are valid within subsets of their data. At the very most, empirical SE should become a search for local regions with similar properties (and conclusions should be constrained to just those regions). Tim Menzies, Andrew Butcher, Andrian Marcus, Thomas Zimmermann 0001, David R. Cok |
ASE | 1 |
| 2011 | Learning patterns of university student retention
Ashutosh Nandeshwar, Tim Menzies, Adam Nelson |
Expert Syst. Appl. | 2 |
| 2011 | Exploring the Effort of General Software Project Activities with Data MiningabstractSoftware project effort estimation requires high accuracy, but accurate estimations are difficult to achieve. Increasingly, data mining is used to improve an organization's software process quality, e.g. the accuracy of effort estimations. Data is collected from projects, and data miners are used to discover beneficial knowledge. This paper reports a data mining experiment in which we examined 32 software projects to improve effort estimation. We examined three major categories of software project activities, and focused on the activities of the category which has got the least attention in research so far, the non-construction activities. The analysis is based on real software project data supplied by a large European software company. In our data mining experiment, we applied a range of machine learners. We found that the estimated total software project effort is a predictor in modeling and predicting the actual quality management effort of the project. Topi Haapio, Tim Menzies |
Int. J. Softw. Eng. Knowl. Eng. | 2 |
| 2011 | Sharing experiments using open-source softwareabstractAbstract When researchers want to repeat, improve or refute prior conclusions, it is useful to have a complete and operational description of prior experiments. If those descriptions are overly long or complex, then sharing their details may not be informative. OURMINE is a scripting environment for the development and deployment of data mining experiments. Using OURMINE, data mining novices can specify and execute intricate experiments, while researchers can publish their complete experimental rig alongside their conclusions. This is achievable because of OURMINE's succinctness. For example, this paper presents two experiments documented in the OURMINE syntax. Thus, the brevity and simplicity of OURMINE recommends it as a better tool for documenting, executing, and sharing data mining experiments. Copyright © 2010 John Wiley & Sons, Ltd. Adam Nelson, Tim Menzies, Gregory Gay 0002 |
Softw. Pract. Exp. | 2 |
| 2011 | Genetic Algorithms for Randomized Unit TestingabstractRandomized testing is an effective method for testing software units. The thoroughness of randomized unit testing varies widely according to the settings of certain parameters, such as the relative frequencies with which methods are called. In this paper, we describe Nighthawk, a system which uses a genetic algorithm (GA) to find parameters for randomized unit testing that optimize test coverage. Designing GAs is somewhat of a black art. We therefore use a feature subset selection (FSS) tool to assess the size and content of the representations within the GA. Using that tool, we can reduce the size of the representation substantially while still achieving most of the coverage found using the full representation. Our reduced GA achieves almost the same results as the full system, but in only 10 percent of the time. These results suggest that FSS could significantly optimize metaheuristic search-based software engineering tools. James H. Andrews, Tim Menzies, Felix Chun Hang Li |
IEEE Trans. Software Eng. | 2 |
| 2010 | Text mining in supporting software systems risk assuranceabstractInsufficient risk analysis often leads to software system design defects and system failures. Assurance of software risk documents aims to increase the confidence that identified risks are complete, specific, and correct. Yet assurance methods rely heavily on manual analysis that requires significant knowledge of historical projects and subjective, perhaps biased judgment from domain experts. To address the issue, we have developed RARGen, a text mining-based approach based on well-established methods aiming to automatically create and maintain risk repositories to identify usable risk association rules (RARs) from a corpus of risk analysis documents. RARs are risks that have frequently occurred in historical projects. We evaluate RARGen on 20 publicly available e-service projects. Our evaluation results show that RARGen can effectively reason about RARs, increase confidence and cost-effectiveness of risk assurance, and support difficult-to-perform activities such as assuring complete-risk identification. LiGuo Huang, Daniel Port, Tao Xie 0001, Tim Menzies |
ASE | 5 |
| 2010 | When to use data from other projects for effort estimationabstractCollecting the data required for quality prediction within a development team is time-consuming and expensive. An alternative to make predictions using data that crosses from other projects or even other companies. We show that with/without relevancy filtering, imported data performs the same/worse (respectively) than using local data. Therefore, we recommend the use of relevancy filtering whenever generating estimates using data from another project. Ekrem Kocaguneli, Gregory Gay 0002, Tim Menzies, Jacky W. Keung |
ASE | 3 |
| 2010 | Regularities in Learning Defect Predictors
Burak Turhan, Ayse Basar Bener, Tim Menzies |
PROFES | 3 |
| 2010 | Automatically finding the control variables for complex system behavior
Gregory Gay 0002, Tim Menzies, Misty D. Davies, Karen Gundy-Burlet |
Autom. Softw. Eng. | 2 |
| 2010 | Finding robust solutions in requirements models
Gregory Gay 0002, Tim Menzies, Omid Jalali, Gregory E. Mundy, Beau Gilkerson, Martin Feather, James D. Kiper |
Autom. Softw. Eng. | 2 |
| 2010 | Stable rankings for different effort models
Tim Menzies, Omid Jalali, Jairus Hihn, Daniel Baker, Karen T. Lum |
Autom. Softw. Eng. | 1 |
| 2010 | Defect prediction from static code features: current results, limitations, new approaches
Tim Menzies, Zach Milton, Burak Turhan, Bojan Cukic, Yue Jiang 0001, Ayse Basar Bener |
Autom. Softw. Eng. | 1 |
| 2010 | Practical considerations in deploying statistical methods for defect prediction: A case study within the Turkish telecommunications industry
Ayse Tosun Misirli, Ayse Basar Bener, Burak Turhan, Tim Menzies |
Inf. Softw. Technol. | 4 |
| 2009 | Data mining with software industry project data: A case study
Topi Haapio, Tim Menzies |
IADIS AC (2) | 2 |
| 2009 | How to avoid drastic software process change (using stochastic stability)abstractBefore performing drastic changes to a project, it is worthwhile to thoroughly explore the available options within the current structure of a project. An alternative to drastic change are internal changes that adjust current options within a software project. In this paper, we show that the effects of numerous internal changes can out-weigh the effects of drastic changes. That is, the benefits of drastic change can often be achieved without disrupting a project. The key to our technique is SEESAW, a novel stochastic stability tool that (a) considers a very large set of minor changes using stochastic sampling; and (b) carefully selects the right combination of effective minor changes. Our results show, using SEESAW, project managers have more project improvement options than they currently realize. This result should be welcome news to managers struggling to maintain control and continuity over their project in the face of multiple demands for drastic change. Tim Menzies, Barry W. Boehm, Jairus Hihn |
ICSE | 1 |
| 2009 | On the use of relevance feedback in IR-based concept locationabstractConcept location is a critical activity during software evolution as it produces the location where a change is to start in response to a modification request, such as, a bug report or a new feature request. Lexical-based concept location techniques rely on matching the text embedded in the source code to queries formulated by the developers. The efficiency of such techniques is strongly dependent on the ability of the developer to write good queries. We propose an approach to augment information retrieval (IR) based concept location via an explicit relevance feedback (RF) mechanism. RF is a two-part process in which the developer judges existing results returned by a search and the IR system uses this information to perform a new search, returning more relevant information to the user. A set of case studies performed on open source software systems reveals the impact of RF on IR based concept location. Gregory Gay 0002, Sonia Haiduc, Andrian Marcus, Tim Menzies |
ICSM | 4 |
| 2009 | Variance Analysis in Software Fault Prediction ModelsabstractSoftware fault prediction models play an important role in softwarequality assurance. They identify software subsystems (modules,components, classes, or files) which are likely to contain faults.These subsystems, in turn, receive additional resources forverification and validation activities. Fault prediction models arebinary classifiers typically developed using one of the supervisedlearning techniques from either a subset of the fault data from thecurrent project or from a similar past project. In practice, itis critical that such models provide a reliable predictionperformance on the data not used in training. Variance is animportant reliability indicator of software fault prediction models.However, variance is often ignored or barely mentioned in manypublished studies. In this paper, through the analysis of twelvedata sets from a public software engineering repository from theperspective of variance, we explore the following five questionsregarding fault prediction models:(1) Do different types ofclassification performance measures exhibit different variance? (2)Does the size of the data set imply a more (or less) accurateprediction performance? (3) Does the size of training subset impactmodel's stability? (4) Do different classifiers consistently exhibitdifferent performance in terms of model's variance? (5) Are theredifferences between variance from 1000 runs and 10 runs of 10-fold crossvalidation experiments? Our results indicate that variance is avery important factor in understanding fault prediction models andwe recommend the best practice for reporting variance in empiricalsoftware engineering studies. Yue Jiang 0001, Bojan Cukic, Tim Menzies |
ISSRE | 4 |
| 2009 | Understanding the Value of Software Engineering TechnologiesabstractWhen AI search methods are applied to software process models, then appropriate technologies can be discovered for a software project. We show that those recommendations are greatly affected by the business context of its use. For example, the automatic defect reduction tools explored by the ASE community are only relevant to a subset of software projects, and only according to certain value criteria. Therefore, when arguing for the value of a particular technology, that argument should include a description of the value function of the target user community. Phillip Green II, Tim Menzies, Oussama El-Rawas |
ASE | 2 |
| 2009 | Applications of Simulation and AI Search: Assessing the Relative Merits of Agile vs Traditional Software DevelopmentabstractThis paper augments Boehm-Turner's model of agile and plan-based software development augmented with an AI search algorithm. The AI search finds the key factors that predict for the success of agile or traditional plan-based software developments. According to our simulations and AI search algorithm: (1) in no case did agile methods perform worse than plan-based approaches; (2) in some cases, agile performed best. Hence, we recommend that the default development practice for organizations be an agile method. The simplicity of this style of analysis begs the question: why is so much time wasted on evidence-less debates on software process when a simple combination of simulation plus automatic search can mature the dialog much faster? Bryan Lemon, Aaron Riesbeck, Tim Menzies, Justin Price, Joseph D'Alessandro, Rikard Carlsson, Tomi Prifiti, Fayola Peters, Huihua Lu, Daniel Port |
ASE | 3 |
| 2009 | Special issue on information retrieval for program comprehension
Letha H. Etzkorn, Tim Menzies |
Empir. Softw. Eng. | 2 |
| 2009 | On the relative value of cross-company and within-company data for defect prediction
Burak Turhan, Tim Menzies, Ayse Basar Bener, Justin S. Di Stefano |
Empir. Softw. Eng. | 2 |
| 2008 | Automated severity assessment of software defect reportsabstractIn mission critical systems, such as those developed by NASA, it is very important that the test engineers properly recognize the severity of each issue they identify during testing. Proper severity assessment is essential for appropriate resource allocation and planning for fixing activities and additional testing. Severity assessment is strongly influenced by the experience of the test engineers and by the time they spend on each issue. The paper presents a new and automated method named SEVERIS (severity issue assessment), which assists the test engineer in assigning severity levels to defect reports. SEVERIS is based on standard text mining and machine learning techniques applied to existing sets of defect reports. A case study on using SEVERIS with data from NASApsilas Project and Issue Tracking System (PITS) is presented in the paper. The case study results indicate that SEVERIS is a good predictor for issue severity levels, while it is easy to use and efficient. Tim Menzies, Andrian Marcus |
ICSM | 1 |
| 2008 | Cost Curve Evaluation of Fault Prediction ModelsabstractPrediction of fault prone software components is one of the most researched problems in software engineering. Many statistical techniques have been proposed but there is no consensus on the methodology to select the "best model" for the specific project. In this paper, we introduce and discuss the merits of cost curve analysis of fault prediction models. Cost curves allow software quality engineers to introduce project-specific cost of module misclassification into model evaluation. Classifying a software module as fault-prone implies the application of some verification activities, thus adding to the development cost. Misclassifying a module as fault free carries the risk of system failure, also associated with cost implications. Through the analysis of sixteen projects from public repositories, we observe that software quality does not necessarily benefit from the prediction of fault prone components. The inclusion of misclassification cost in model evaluation may indicate that even the "best" models achieve performance no better than trivial classification. Our results support a recommendation to adopt cost curves as one of the standard methods for software quality model performance evaluation. Yue Jiang 0001, Bojan Cukic, Tim Menzies |
ISSRE | 3 |
| 2008 | Using Simulation to Investigate Requirements Prioritization StrategiesabstractAgile and traditional plan-based approaches to software system development both agree that prioritizing requirements is an essential activity. They differ in basic strategy - when to prioritize, to what degree, and how to guide implementation. As with many software engineering methods, verifying the benefit of following a particular approach is a challenge. Industry and student/classroom based experimental studies are generally impractical to use for large numbers of controlled experiments and benefits are difficult to measure directly. We use simulation to validate the fundamental, yet typically intangible benefits of requirements prioritization strategies. Our simulation is directly based on detailed empirical studies of agile and plan-based requirements management studies. Our simulation shows, as many have claimed, that an agile strategy excels when requirements are highly volatile, whereas a plan-based strategy excels when requirements are stable, and that there exist mixed strategies that are better than either for typical development efforts. Daniel Port, Alexy Olkov, Tim Menzies |
ASE | 3 |
| 2008 | Tool Support for Parametric Analysis of Large Software Simulation SystemsabstractThe analysis of large and complex parameterized software systems, e.g., systems simulation in aerospace, is very complicated and time-consuming due to the large parameter space, and the complex, highly coupled nonlinear nature of the different system components. Thus, such systems are generally validated only in regions local to anticipated operating points rather than through characterization of the entire feasible operational envelope of the system. We have addressed the factors deterring such an analysis with a tool to support envelope assessment: we utilize a combination of advanced Monte Carlo generation with n-factor combinatorial parameter variations to limit the number of cases, but still explore important interactions in the parameter space in a systematic fashion. Additional test-cases, automatically generated from models (e.g., UML, Simulink, Stateflow) improve the coverage. The distributed test runs of the software system produce vast amounts of data, making manual analysis impossible. Our tool automatically analyzes the generated data through a combination of unsupervised Bayesian clustering techniques (AutoBayes) and supervised learning of critical parameter ranges using the treatment learner TAR3. The tool has been developed around the Trick simulation environment, which is widely used within NASA. We will present this tool with a GN&C (Guidance, Navigation and Control) simulation of a small satellite system. Johann Schumann, Karen Gundy-Burlet, Corina Pasareanu, Tim Menzies, Tony Barrett |
ASE | 4 |
| 2008 | Editorial, special issue, repeatable experiments in software engineering
Tim Menzies |
Empir. Softw. Eng. | 1 |
| 2007 | Fault Prediction using Early Lifecycle DataabstractThe prediction of fault-prone modules in a software project has been the topic of many studies. In this paper, we investigate whether metrics available early in the development lifecycle can be used to identify fault-prone software modules. More precisely, we build predictive models using the metrics that characterize textual requirements. We compare the performance of requirements-based models against the performance of code-based models and models that combine requirement and code metrics. Using a range of modeling techniques and the data from three NASA projects, our study indicates that the early lifecycle metrics can play an important role in project management, either by pointing to the need for increased quality monitoring during the development or by using the models to assign verification and validation activities. Yue Jiang 0001, Bojan Cukic, Tim Menzies |
ISSRE | 3 |
| 2007 | Nighthawk: a two-level genetic-random unit test data generatorabstractRandomized testing has been shown to be an effective method fortesting software units. However, the thoroughness of randomized unit testing varies widely according to the settings of certain parameters, such as the relative frequencies with which methods are called. In this paper, we describe a system which uses agenetic algorithm to find parameters for randomized unit testing that optimize test coverage. We compare our coverage results to previous work, and report on case studies and experiments on system options James H. Andrews, Felix Chun Hang Li, Tim Menzies |
ASE | 3 |
| 2007 | The business case for automated software engineeringabstractAdoption of advanced automated SE (ASE) tools would be favored if a business case could be made that these tools are more valuable than alternate methods. In theory, software prediction models can be used to make that case. In practice, this is complicated by the "local tuning" problem. Normally, predictors for software effort and defects and threat use local data to tune their predictions. Such local tuning data is often unavailable. Tim Menzies, Oussama El-Rawas, Jairus Hihn, Martin Feather, Raymond J. Madachy, Barry W. Boehm |
ASE | 1 |
| 2007 | Problems with Precision: A Response to "Comments on 'Data Mining Static Code Attributes to Learn Defect Predictors'"abstractZhang and Zhang argue that predictors are useless unless they have high precison&recall. We have a different view, for two reasons. First, for SE data sets with large neg/pos ratios, it is often required to lower precision to achieve higher recall. Second, there are many domains where low precision detectors are useful. Tim Menzies, Alex Dekhtyar, Justin S. Di Stefano, Jeremy Greenwald |
IEEE Trans. Software Eng. | 1 |
| 2007 | Data Mining Static Code Attributes to Learn Defect PredictorsabstractThe value of using static code attributes to learn defect predictors has been widely debated. Prior work has explored issues like the merits of "McCabes versus Halstead versus lines of code counts" for generating defect predictors. We show here that such debates are irrelevant since how the attributes are used to build predictors is much more important than which particular attributes are used. Also, contrary to prior pessimism, we show that such defect predictors are demonstrably useful and, on the data studied here, yield predictors with a mean probability of detection of 71 percent and mean false alarms rates of 25 percent. These predictors would be useful for prioritizing a resource-bound exploration of code that has yet to be inspected Tim Menzies, Jeremy Greenwald, Art Frank |
IEEE Trans. Software Eng. | 1 |
| 2006 | On the Distribution of Property Violations in Formal Models: An Initial StudyabstractModel-checking techniques are successfully used in the verification of both hardware and software systems of industrial relevance. Unfortunately, the capability of current techniques is still limited and the effort required for verification can be prohibitive (if verification is possible at all). As a complement, fast, but incomplete, search tools may provide practical benefits not attainable with full verification tools, for example, reduced need for manual abstraction and fast detection of property violations during model development. In this report we investigate the performance of a simple random search technique. We conducted an experiment on a production-sized formal model of the mode-logic of a flight guidance system. Our results indicate that random search quickly finds the vast majority of property violations in our case-example. In addition, the times to detect various property violations follow an acutely right-skewed distribution and are highly biased toward the easy side. We hypothesize that the observations reported here are related to the phase transition phenomenon seen in Boolean satisfiability and other NP-complete problems. If so, these observations could be revealing some of the fundamental aspects of software (model) faults and have implications on how software engineering activities, such as analysis, testing, and reliability modeling, should be performed Jimin Gao, Mats P. E. Heimdahl, David Owen 0002, Tim Menzies |
COMPSAC (1) | 4 |
| 2006 | Qualitative Modeling for Requirements EngineeringabstractAcquisition of "quantitative" models of sufficient accuracy to enable effective analysis of requirements tradeoffs is hampered by the slowness and difficulty of obtaining sufficient data. "Qualitative" models, based on expert opinion, can be built quickly and therefore used earlier. Such qualitative models are nondeterminate which makes them hard to use for making categorical policy decisions over the model. The nondeterminacy of qualitative models can be tamed using "stochastic sampling" and "treatment learning". These tools can quickly find and set the "master variables" that restrain qualitative simulations. Once tamed, qualitative modeling can be used in requirements engineering to assess more options, earlier in the life cycle Tim Menzies, Julian Richardson |
SEW | 1 |
| 2006 | Selecting Best Practices for Effort EstimationabstractEffort estimation often requires generalizing from a small number of historical projects. Generalization from such limited experience is an inherently underconstrained problem. Hence, the learned effort models can exhibit large deviations that prevent standard statistical methods (e.g., t-tests) from distinguishing the performance of alternative effort-estimation methods. The COSEEKMO effort-modeling workbench applies a set of heuristic rejection rules to comparatively assess results from alternative models. Using these rules, and despite the presence of large deviations, COSEEKMO can rank alternative methods for generating effort models. Based on our experiments with COSEEKMO, we advise a new view on supposed "best practices" in model-based effort estimation: 1) Each such practice should be viewed as a candidate technique which may or may not be useful in a particular domain, and 2) tools like COSEEKMO should be used to help analysts explore and select the best method for a particular domain Tim Menzies, Zhihao Chen 0001, Jairus Hihn, Karen T. Lum |
IEEE Trans. Software Eng. | 1 |
| 2005 | Validation methods for calibrating software effort modelsabstractCOCONUT calibrates effort estimation models using an ex-haustive search over the space of calibration parameters in a COCOMO I model. This technique is much simpler than other effort estimation method yet yields PRED levels com-parable to those other methods. Also, it does so with less project data and fewer attributes (no scale factors). How-ever, a comparison between COCONUT and other methods is complicated by differences in the experimental methods used for effort estimation. A review of those experimental methods concludes that software effort estimation models should be calibrated to local data using incremental hold-out (not jack knife) studies, combined with randomization and hypothesis testing, repeated a statistically significant number of times. Tim Menzies, Daniel Port, Zhihao Chen 0001, Jairus Hihn, Sherry Stukes |
ICSE | 1 |
| 2005 | Predictor models in software engineering (PROMISE)abstractNo abstract available Jelber Sayyad-Shirabad, Tim Menzies |
ICSE | 2 |
| 2005 | Specialization and extrapolation of software cost modelsabstractDespite the widespread availability of software effort estimation models (e.g. COCOMO [2], Price-S [12], SEER-SEM [13], SLIM [14]), most managers still estimate new projects by extrapolating from old projects [3, 5, 7]. In this delta method, the cost of the next project is the cost of the last project multiplied by some factors modeling the difference between old and new projects [2].Delta estimation is simple, fast, and best of all, can take full advantage of local costing information. However delta estimation fails when the experience base (the old projects) can not be extrapolated to the new projects. Previously [10], we have shown that for a set of NASA projects, delta estimation would usually fail since most of the features and coefficients of the learned model vary wildly across sub-samples of the training data. In that prior work, no solution was offered for this problem.Here, we offer a solution and report the results of experiment with feature subset selection (FSS) and extrapolation. FSS methods are usually assessed via the mean change in model performance. However, as shown below, FSS can significantly reduce the variance as well. Hence, FSS should be routinely used in cost estimation.Our results should stop the trend in the effort modeling community of continually adding to the number of features in a model in order to improve estimation performance. Here we show that there are benefits in intelligently subtracting model features. Tim Menzies, Daniel Port, Zhihao Chen 0001, Jairus Hihn |
ASE | 1 |
| 2003 | Matching Software Practitioner Needs to Researcher ActivitiesabstractWe present an approach to matching software practitioners' needs to software researchers' activities. It uses an accepted taxonomical software classification scheme as intermediary, in terms of which practitioners express needs, and researchers express activities. A decision support tool is used to combine these expressions of needs/activities, and to assist in studying the implications of that combined knowledge. This enables identification of fruitful connections between researchers and practitioners, of areas of common interest among researchers, and practitioners, and of "gaps": areas of unfulfilled needs or unmotivated research. We discuss the software engineering underpinning this approach, illustrating its utility by reporting on experiments with a real-world dataset gathered from researchers and practitioners. We also suggest that this same approach would be applicable to understanding the distribution of interests represented by presenters and attendees of a conference such as APSEC. Martin Feather, Tim Menzies, Judith R. Connelly |
APSEC | 2 |
| 2003 | Validating an Online Adaptive System Using SVDDabstractOne of the goals of verification and validation (V&V) activities for online adaptive control systems is providing assurance that they are able to detect novel system behaviors and provide adequate (safe) control actions. Novel (or abnormal) system behaviors cannot be enumerated or fully and explicitly described in requirements documentation. Therefore, they have to be observed and recognized during the operation. Novelty detection methods, therefore, provide an adequate approach for the V&V purposes. We propose a novelty detection method based on support sector data description (SVDD) as a candidate approach for validating adaptive control systems. As a one-class classifier, the support vector data description is able to form a decision boundary around the learned data domain with very little or no knowledge of data points outside the boundary (outliers). We apply the SVDD techniques for novelty detection as part of the validation on an intelligent flight control system (IFCS). Experimental results show that the SVDD can be adopted as an effective tool for finding indications of the safe region for the learned domain, whereby we are able to separate faulty behavior from normal events. Yan Liu 0003, Srikanth Gururajan, Bojan Cukic, Tim Menzies, Marcello R. Napolitano |
ICTAI | 4 |
| 2003 | Relating Practitioner Needs to Research ActivitiesabstractMany organizations look to research to yield new and improved products and practices. Connecting practitioners who have the need for research results to the researchers producing those results is important to guiding research and utilizing its results. Likewise, connecting researchers working on related topics to one another, and connecting practitioners with related needs to one another, is important to establishing communities of shared interests. We demonstrate an approach that helps identify fruitful such connections. Martin Feather, Tim Menzies, Judith R. Connelly |
RE | 2 |
| 2003 | Improved Software Engineering Decision Support Through Automatic Argument Reduction Tools
Tim Menzies, James D. Kiper, Martin Feather |
SEKE | 1 |
| 2003 | Better Analysis of Defect Data at NASA
Tim Menzies, Robyn R. Lutz, Ines Carmen Mikulski |
SEKE | 1 |
| 2003 | Lurch: a Lightweight Alternative to Model Checking
David Owen 0002, Tim Menzies |
SEKE | 2 |
| 2003 | Model-Based Software Testing via Incremental Treatment LearningabstractModel-based software has become quite popular in recent years, making its way into a broad range of areas, including the aerospace industry. The models provide an easy graphical interface to develop systems, which can generate the sometimes tedious code that follows. While there are many tools available to assess standard procedural code, there are limits to the testing of model-based systems. A major problem with the models are that their internals often contain gray areas of unknown system behavior. These possible behaviors form what is known as a data cloud, which is an overwhelming range of possibilities of a system that can overload analysts (Menzies et al., 2003). With large data clouds, it is hard to demonstrate which particular decision leads to a particular outcome. Even if definite decisions can't be made, it is possible to reduce the variance of and condense the clouds (Menzies et al., 2003). This paper presents two case studies; one with a simple illustrative model and another with a more complex application. The TAR3 treatment learning tool summarizes the particular attribute ranges that selects for particular behaviors of interest, reducing the data clouds. Dustin Geletko, Tim Menzies |
SEW | 2 |
| 2003 | On the Advantages of Approximate vs. Complete Verification: Bigger Models, Faster, Less Memory, Usually AccurateabstractWe have been exploring LURCH, an approximate (not necessarily complete) alternative to traditional model checking based on a randomized search algorithm. Randomized algorithms like LURCH have been known to outperform their deterministic counterparts for search problems representing a wide range of applications. The cost of an approximate strategy is the potential for inaccuracy. If complete algorithms terminate, they find all the features they are searching for. On the other hand, by its very nature, randomized search can miss important features. Our experiments suggest that this inaccuracy problem is not too serious. In the case studies presented here and elsewhere, LURCHS random search usually found the correct results. Also, these case studies strongly suggest that LURCH can scale to much larger models than standard model checkers like NuSMV and SPIN. The two case studies presented in this paper are selected for their simplicity and their complexity. The simple problem of the dining philosophers has been widely studied. By making the dinner more crowded, we can compare the memory and runtimes of standard methods (SPIN) and LURCH. When hundreds of philosophers sit down to eat, both LURCH and SPIN can find the deadlock case. However, SPINS memory and runtime requirements can grow exponentially while LURCHS requirements stay quite low. Success with highly symmetric, automatically generated problems says little about the generality of a technique. Hence, our second example is far more complex: a real-world flight guidance system from Rockwell Collins. Compared to NuSMV, LURCH performed very well on this model. Our random search finds the vast majority of faults (close to 90%); runs much faster (seconds and minutes as opposed to hours); and uses very little memory (single digits to 10s of megabytes as opposed to 10s to 100s of megabytes). The rest of this paper is structured as follows. We begin with a theoretical rationale for why random search methods like LURCH can be incomplete, yet still successful. Next, we note that for a class of problems, the complete search of standard model checkers can be overkill. LURCH is then briefly introduced and our two case studies are presented. David Owen 0002, Tim Menzies, Mats P. E. Heimdahl, Jimin Gao |
SEW | 2 |
| 2003 | Editorial: model-based requirements engineering
Tim Menzies |
Requir. Eng. | 1 |
| 2003 | More Success and Failure Factors in Software ReuseabstractNumerous discrepancies exist between expert opinion and empirical data reported in Morisio et al.'s recent TSE article. The differences related to what factors encouraged successful reuse in software organizations. This note describes how those differences were detected and comments on their methodological implications. Tim Menzies, Justin S. Di Stefano |
IEEE Trans. Software Eng. | 1 |
| 2002 | Data Sniffing - Monitoring of Machine Learning for Online Adaptive SystemsabstractAdaptive systems are systems whose function evolves while adapting to current environmental conditions, Due to the real-time adaptation, newly learned data have a significant impact on system behavior When online adaptation is included in system control, anomalies could cause abrupt loss of system functionality and possibly result in a failure. In this paper we present a framework for reasoning about the online adaptation problem. We describe a machine learning tool that sniffs data and detects anomalies before they are passed to the adaptive components for learning. Anomaly detection is based on distance computation. An algorithm for framework evaluation as well as sample implementation and empirical results are discussed. The method we propose is simple and reasonably effective, thus it can be easily adopted for testing. Yan Liu 0003, Tim Menzies, Bojan Cukic |
ICTAI | 2 |
| 2002 | Machine Learning for Software Engineering: Case Studies in Software ReuseabstractThere are many machine learning algorithms currently available. In the 21st century, the problem no longer lies in writing the learner but in choosing which learners to run on a given data set. We argue that the final choice of learners should not be exclusive; in fact, there are distinct advantages in running data sets through multiple learners. To illustrate our point, we perform a case study on a reuse data set using three different styles of learners: association rule, decision tree induction, and treatment. Software reuse is a topic of avid debate in the professional and academic arena; it has proven that it can be both a blessing and a curse. Although there is much debate over where and when reuse should be instituted into a project, our learners found some procedures which should significantly improve the odds of a reuse program succeeding. Justin S. Di Stefano, Tim Menzies |
ICTAI | 2 |
| 2002 | Saturation Effects in Testing of Formal ModelsabstractFormal analysis of software is a powerful analysis tool, but can be too costly. Random search of formal models can reduce that cost, but is theoretically incomplete. However, random search of finite-state machines exhibits an early saturation effect, i.e., random search quickly yields all that can be found, even after a much longer search. Hence, we avoid the theoretical problem of incompleteness, provided that testing continues until after the saturation point. Such a random search is rapid, consumes little memory, is simple to implement, and can handle very large formal models (in one experiment shown here, over 10/sup 178/ states). Tim Menzies, David Owen 0002, Bojan Cukic |
ISSRE | 1 |
| 2002 | Model-Based Tests of TruismsabstractSoftware engineering (SE) truisms capture broadly-applicable principles of software construction. The trouble with truisms is that such general principles may not apply in specific cases. This paper tests the specificity of two SE truisms: (a) increasing software process level is a desirable goal; and (b) it is best to remove errors during the early parts of a software lifecycle. Our tests are based on two well-established SE models: (1) Boehm et.al.'s COCOMO II cost estimation model; and (2) Raffo's discrete event software process model of a software project life cycle. After extensive simulations of these models, the TAR2 treatment learner was applied to find the model parameters that most improved the potential performance of the real-world systems being modelled. The case studies presented here showed that these truisms are clearly sub-optimal for certain projects since other factors proved to be far more critical. Hence, we advise against truism-based process improvement. This paper offers a general alternative framework for model-based assessment of methods to improve software quality: modelling + validation + simulation + sensitivity. That is, after recording what is known in a model, that model should be validated, explored using simulations, then summarized to find the key factors that most improve model behavior. Tim Menzies, David Raffo, Siri-on Setamanit, Sina Tootoonia |
ASE | 1 |
| 2002 | What Makes Finite-State Models More (or Less) Testable?abstractThis paper studies how details of a particular model can effect the efficacy of a search for detects. We find that if the test method is fixed, we can identity classes of software that are more or less testable. Using a combination of model mutators and machine learning, we find that we can isolate topological features that significantly change the effectiveness of a defect detection tool. More specifically, we show that for one defect detection tool (a stochastic search engine) applied to a certain representation (finite state machines), we can increase the average odds of finding a defect from 69% to 91%. The method used to change those odds is quite general and should apply to other defect detection tools being applied to other representations. David Owen 0002, Tim Menzies, Bojan Cukic |
ASE | 2 |
| 2002 | Converging on the Optimal Attainment of RequirementsabstractPlanning for the optimal attainment of requirements is an important early lifecycle activity. However, such planning is difficult when dealing with competing requirements, limited resources, and the incompleteness of information available at requirements time. A novel approach to requirements optimization is described. A requirements interaction model is executed to randomly sample the space of options. This produces a large amount of data, which is then condensed by a summarization tool. The result is a small list of critical decisions (i.e., those most influential in leading towards the desired optimum). This focuses human experts' attention on a relatively few decisions and makes them aware of major alternatives. This approach is iterative. Each iteration allows experts to select from among the major alternatives. In successive iterations the execution and summarization modules are run again, but each time further constrained by the decisions made in previous iteration. In the case study shown here, out of 99 yes/no decisions (approximately 10/sup 30/ possibilities), five iterations were sufficient to find and make the 30 key ones. Martin Feather, Tim Menzies |
RE | 2 |
| 2002 | Applications of Abduction: Testing Very Long Qualitative SimulationsabstractWe can test a theory of "X" by checking if that theory can reproduce known behavior of "'X." In the general case, this check for time-based simulations is only practical for short simulation runs. We show that, given certain reasonable language restrictions, the complexity of this check reduces to the granularity of the measurements. That is, provided a very long simulation run is only measured infrequently, this check is feasible. Tim Menzies, Robert F. Cohen, Sam Waugh, Simon Goss |
IEEE Trans. Knowl. Data Eng. | 1 |
| 2001 | Fast Formal Analysis of Requirements via "Topoi Diagrams"abstractEarly testing of requirements can decrease the cost of removing errors in software projects. However unless done carefully, that testing process can significantly add to the cost of requirements analysis. We show that requirements expressed as topoi diagrams can be built and tested cheaply /sup s/ing our SP2 algorithm, the formal temporal properties of a large class of topoi can be proven very quickly, in time nearly linear in the number of nodes and edges in the diagram. There are two limitations to our approach. Firstly, topoi diagrams cannot express certain complex concepts such as iteration and sub-routine calls. Hence, our approach is more useful for requirements engineering than for traditional model checking domains. Secondly, our approach is better for exploring the temporal occurrence of properties than the temporal ordering of properties. Within these restrictions, we can express a useful range of concepts currently seen in requirements engineering, and a wide range of interesting temporal properties. Tim Menzies, John D. Powell, Michael E. Houle |
ICSE | 1 |
| 2001 | Better Reasoning About Software Engineering ActivitiesabstractSoftware management oracles often contain numerous subjective features. At each subjective point, a range of behaviors is possible. Stochastic simulation samples a subset of the possible behaviors. After many such stochastic simulations, the TAR2 treatment learner can find control actions that have (usually) the same impact despite the subjectivity of the oracle. Tim Menzies, James D. Kiper |
ASE | 1 |
| 2000 | WISE3: the Third International Workshop on Intelligent Software Engineering (workshop session)abstractThere is a growing realization that the design of effective software engineering tools must be smarter. Real world software specs can be very intricate. Manual browsing by a software engineer cannot reveal its subtleties. Automatic tools are required to reflect over business knowledge to identify what is missing or could be effectively changed. At the same time, many AI researchers now realize that software engineering provides the best testbed for AI tools and techniques. While these AI tools are all potentially useful, the core question remains: Which of these tools, if any, are truly cost-effective???? Tim Menzies |
ICSE | 1 |
| 2000 | Testing Nondeterminate SystemsabstractThe behavior of nondeterminate systems can be hard to predict, since similar inputs at different times can generate different outputs. In other words, the behavior seen during the testing process may not be seen at runtime. Due to the uncertainties associated with nondeterminism, the standard view is that we should avoid such nondeterminate systems, especially for systems requiring high reliability. While this is a valid guideline, at least in two application areas such nondeterminacy is unavoidable. Early life-cycle requirements and AI software are becoming widely used, yet both are imprecise and may exhibit nondeterminate behaviour if explored rigorously by a test device. Based on a literature review and some theoretical studies, we argue that many stable properties exist within the space of all possible nondeterminate behaviors. However, we also show that seemingly trivial changes to a nondeterministic system can turn an easily testable system into an impossibly hard system to test. Finally, we stress that this analysis does not imply a correlation between stable zones of nondeterminate testability and the ultimate maintainability of nondeterminate systems. That is, while we are optimistic about testing nondeterminate systems, we remain cautious about the maintenance of such systems. Tim Menzies, Bojan Cukic, Harshinder Singh, John D. Powell |
ISSRE | 1 |
| 2000 | Practical Large Scale What-If Queries: Case Studies with Software Risk AssessmentabstractWhen a lack of data inhibits decision-making, large-scale what-if queries can be conducted over the uncertain parameter ranges. Such queries can generate an overwhelming amount of data. We describe a general method for understanding that data. Large-scale what-if queries can guide Monte Carlo simulations of a model. Machine learning can then be used to summarize the output. The summarization is an ensemble of decision trees. The TARZAN system [so-called because it swings through (or searches) the decision trees] can poll the ensemble looking for majority conclusions regarding what factors change the classifications of the data. TARZAN can succinctly present the results from very large what-if queries. For example, in one of the studies presented, we can view the significant features from 10/sup 9/ what-if queries on half a page. Tim Menzies, Erik Sinsel |
ASE | 1 |
| 2000 | Issues with Meta-KnowledgeabstractAt the SEKE'99 conference, knowledge engineering researchers held a panel on the merits of meta-knowledge (i.e. problem solving methods and ontologies) for the development of knowledge-based systems. The original panel was framed as a debate on the merits of meta-knowledge for knowledge maintenance [21]. However, the debate quickly expanded. In the end, we were really discussing the merits of different technologies for the specification of reusable components for KBS. In this brief article we record some of the lively debate from that panel and the email exchanges it generated. Tim Menzies, Klaus-Dieter Althoff, Yannis Kalfoglou, Enrico Motta |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 1999 | On the Sufficiency of Limited Testing for Knowledge Based SystemsabstractKnowledge-based engineering and computational intelligence are expected to become core technologies in the design and manufacturing for the next generation of space exploration missions. Yet, if one is concerned with the reliability of knowledge based systems, studies indicate significant disagreement regarding the amount of testing needed for system assessment. The sizes of standard black-box test suites are impracticably large since the black-box approach neglects the internal structure of knowledge-based systems. On the contrary, practical results repeatedly indicate that only a few tests are needed to sample the range of behaviors of a knowledge-based program. In this paper, we model testing as a search process over the internal state space of the knowledge-based system. When comparing different test suites, the test suite that examines larger portion of the state space is considered more complete. Our goal is to investigate the trade-off between the completeness criterion and the size of test suites. The results of testing experiment on tens of thousands of mutants of real-world knowledge based systems indicate that a very limited gain in completeness can be achieved through prolonged testing. The use of simple (or random) search strategies for testing appears to be as powerful as testing by more thorough search algorithms. Tim Menzies, Bojan Cukic |
ICTAI | 1 |
| 1999 | An Empirical Investigation of Multiple Viewpoint Reasoning in Requirements EngineeringabstractMultiple viewpoints are often used in Requirements Engineering to facilitate traceability to stakeholders, to structure the requirements process, and to provide richer modelling by incorporating multiple conflicting descriptions. In the latter case, the need to reason with inconsistent models introduces considerable extra complexity. This paper describes an empirical study of the utility of multiple world reasoning (using abduction) for domain modelling. In the study we used a range of different models (ranging from correct to very incorrect), different fanouts, different amounts of data available from the domain, and different modelling primitives for representing time. In the experiments there was no significant change in the expressive power of models that incorporate multiple conflicting viewpoints. Whilst this does not negate the advantages of viewpoints during requirements elicitation, it does suggest some limits to the utility of viewpoints during requirements modelling. 1. Int... Tim Menzies, Steve M. Easterbrook, Bashar Nuseibeh, Sam Waugh |
RE | 1 |
| 1999 | Desert Island Column
Tim Menzies |
Autom. Softw. Eng. | 1 |
| 1999 | Critical success metrics: evaluation at the business level
Tim Menzies |
Int. J. Hum. Comput. Stud. | 1 |
| 1999 | Editorial: Evaluating knowledge engineering techniques
Tim Menzies, Frank van Harmelen |
Int. J. Hum. Comput. Stud. | 1 |
| 1998 | On the Practicality of Viewpoint-Based Requirements Engineering
Tim Menzies, Sam Waugh |
PRICAI | 1 |
| 1998 | Towards situated knowledge acquisition
Tim Menzies |
Int. J. Hum. Comput. Stud. | 1 |
| 1998 | Editorial: the challenge of situated cognition for symbolic knowledge-based systems
Tim Menzies, William J. Clancey |
Int. J. Hum. Comput. Stud. | 1 |
| 1997 | Applications of abduction: hypothesis testing of neuroendocrinological qualitative compartmental models
Tim Menzies, Paul Compton |
Artif. Intell. Medicine | 1 |
| 1997 | Object-Oriented Patterns: Lessons from Expert SystemsabstractThree benefits are typically claimed for object-oriented (OO) patterns: (i) reusing parts of the conceptual models of old implementations; (ii) guiding the current development based on using successful previous developments; and (iii) communicating existing systems to newcomers. We will argue that a similar idea can be found in the expert systems literature dating from the early 1980s. The goal of KL or knowledge-level modelling (e.g. KADS) is to identify abstract patterns of inference that appear in many expert systems. Such abstract patterns of inference and program structure, it is argued, are productivity tools for the creation of software applications, i.e. KL argues for a similar reuse benefit as OO patterns. Recently, however, an alternative view has emerged. While such abstract patterns are good for communications and guidance, the reuse benefits may never be realised. Patterns may be best viewed as tools for structuring an argument, rather than recording a conclusion. © 1997 John Wiley & Sons, Ltd. Tim Menzies |
Softw. Pract. Exp. | 1 |
| 1996 | On the Practicality of Abductive Validation
Tim Menzies |
ECAI | 1 |
| 1996 | Visual Programming, Knowledge Engineering, and Software Engineering
Tim Menzies |
SEKE | 1 |
| 1996 | Applications of abduction: knowledge-level modelling
Tim Menzies |
Int. J. Hum. Comput. Stud. | 1 |