Qualitative optimization in software engineering: A short survey

Abstract Many software engineering problems involve finding optimal solutions from a set of feasible solutions. Such methods often require stakeholders such as developers and testers to specify preferences over multiple attributes/objectives that are to be optimized. However, in many cases it is more natural for stakeholders to express such preferences in simple, qualitative terms. We survey relevant literature within software engineering for problems in which qualitative optimization techniques can be useful. We also present a model of optimization that relies on the stakeholders qualitative preferences leveraging recent advances in decision theoretic artificial intelligence, which could prove useful and spawn connections between qualitative decision theory and software engineering.

[1]  R. Feldt,et al.  A systematic review on strategic release planning models , 2010, Inf. Softw. Technol..

[2]  Miroslaw Truszczynski,et al.  The computational complexity of dominance and consistency in CP-nets , 2005, IJCAI.

[3]  Xin Yao,et al.  Some Recent Work on Multi-objective Approaches to Search-Based Software Engineering , 2013, SSBSE.

[4]  Vasant Honavar,et al.  Model Checking of Qualitative Sensitivity Preferences to Minimize Credential Disclosure , 2012, FACS.

[5]  Mark Harman,et al.  Software engineering using metaheuristic innovative algorithms: workshop report , 2001, Inf. Softw. Technol..

[6]  Eyke Hüllermeier,et al.  Preferences in AI: An overview , 2011, Artif. Intell..

[7]  Martin P. Robillard,et al.  Recommendation Systems for Software Engineering , 2010, IEEE Software.

[8]  Olivier Cailloux,et al.  ELECTRE and PROMETHEE MCDA methods as reusable software components , 2010 .

[9]  Matthias Ehrgott,et al.  Multiple criteria decision analysis: state of the art surveys , 2005 .

[10]  Frank Buschmann,et al.  Five Considerations for Software Architecture, Part 1 , 2010, IEEE Softw..

[11]  Marouane Kessentini,et al.  Model Refactoring Using Interactive Genetic Algorithm , 2013, SSBSE.

[12]  Judy Goldsmith,et al.  Preference Handling for Artificial Intelligence , 2008, AI Mag..

[13]  Vasant Honavar,et al.  TCP-Compose* - A TCP-Net Based Algorithm for Efficient Composition of Web Services Using Qualitative Preferences , 2008, ICSOC.

[14]  Marouane Kessentini,et al.  On the Use of Machine Learning and Search-Based Software Engineering for Ill-Defined Fitness Function: A Case Study on Software Refactoring , 2014, SSBSE.

[15]  Mark Harman,et al.  Search Based Software Engineering for Program Comprehension , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[16]  Christopher L. Simons,et al.  A cross-disciplinary technology transfer for search-based evolutionary computing: from engineering design to software engineering design , 2007 .

[17]  Günther Ruhe,et al.  12 Decision Support for Value-Based Software Release Planning , 2022 .

[18]  M. P. Gupta,et al.  Software module clustering using a hyper-heuristic based multi-objective genetic algorithm , 2013, 2013 3rd IEEE International Advance Computing Conference (IACC).

[19]  Günther Ruhe,et al.  Bi-objective Genetic Search for Release Planning in Support of Themes , 2014, SSBSE.

[20]  Francisco Luna,et al.  The software project scheduling problem: A scalability analysis of multi-objective metaheuristics , 2014, Appl. Soft Comput..

[21]  Reza Baradaran Kazemzadeh,et al.  PROMETHEE: A comprehensive literature review on methodologies and applications , 2010, Eur. J. Oper. Res..

[22]  Peter McBurney,et al.  Surrogate-assisted optimisation of composite applications in mobile ad hoc networks , 2014, GECCO.

[23]  Mark Harman,et al.  Pareto optimal search based refactoring at the design level , 2007, GECCO '07.

[24]  Cornelius Ncube,et al.  The Limitations of Current Decision-Making Techniques in the Procurement of COTS Software Components , 2002, ICCBSS.

[25]  Shinji Kusumoto,et al.  Ranking significance of software components based on use relations , 2003, IEEE Transactions on Software Engineering.

[26]  Günther Ruhe,et al.  Releasing sooner or later: An optimization approach and its case study evaluation , 2013, 2013 1st International Workshop on Release Engineering (RELENG).

[27]  Rubén Dorado,et al.  An AHP application to select software for engineering education , 2014, Comput. Appl. Eng. Educ..

[28]  Zachary J. Oster,et al.  A Service Composition Framework Based on Goal-Oriented Requirements Engineering, Model Checking, and Qualitative Preference Analysis , 2012, ICSOC.

[29]  Gregory Gay A baseline method for search-based software engineering , 2010, PROMISE '10.

[30]  Armin Eberlein,et al.  COTS Selection: Past, Present, and Future , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[31]  Raimo P. Hämäläinen,et al.  Decision Support by Interval SMART/SWING - Incorporating Imprecision in the SMART and SWING Methods , 2005, Decis. Sci..

[32]  M. P. Gupta,et al.  Software requirements selection using Quantum-inspired Elitist Multi-objective Evolutionary algorithm , 2012, IEEE-International Conference On Advances In Engineering, Science And Management (ICAESM -2012).

[33]  José del Sagrado Martínez,et al.  Multi-objective ant colony optimization for requirements selection , 2015 .

[34]  Günther Ruhe,et al.  Analysis of attribute weighting heuristics for analogy-based software effort estimation method AQUA+ , 2008, Empirical Software Engineering.

[35]  Jasbir S. Arora,et al.  Survey of multi-objective optimization methods for engineering , 2004 .

[36]  Giuliano Antoniol,et al.  Software project planning for robustness and completion time in the presence of uncertainty using multi objective search based software engineering , 2009, GECCO.

[37]  Mark Kent O'Keeffe,et al.  Search-based refactoring for software maintenance , 2008, J. Syst. Softw..

[38]  Vasant Honavar,et al.  Web Service Substitution Based on Preferences Over Non-functional Attributes , 2009, 2009 IEEE International Conference on Services Computing.

[39]  Mark Harman,et al.  The role of Artificial Intelligence in Software Engineering , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[40]  Mark Harman,et al.  Search Based Software Engineering: Techniques, Taxonomy, Tutorial , 2010, LASER Summer School.

[41]  Ian C. Parmee,et al.  Elegant Object-Oriented Software Design via Interactive, Evolutionary Computation , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[42]  Tomás Vojnar,et al.  Multi-objective Genetic Optimization for Noise-Based Testing of Concurrent Software , 2014, SSBSE.

[43]  Mark Harman,et al.  Reformulating software engineering as a search problem , 2003 .

[44]  Marco Pistore,et al.  Nusmv version 2: an opensource tool for symbolic model checking , 2002, CAV 2002.

[45]  Mark Harman Making the Case for MORTO: Multi Objective Regression Test Optimization , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[46]  Mohamed Wiem Mkaouer,et al.  High dimensional search-based software engineering: finding tradeoffs among 15 objectives for automating software refactoring using NSGA-III , 2014, GECCO.

[47]  Tim Menzies,et al.  On the value of user preferences in search-based software engineering: A case study in software product lines , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[48]  Richard Lippmann,et al.  Practical Attack Graph Generation for Network Defense , 2006, 2006 22nd Annual Computer Security Applications Conference (ACSAC'06).

[49]  Mark Harman,et al.  The relationship between search based software engineering and predictive modeling , 2010, PROMISE '10.

[50]  T. Saaty Fundamentals of the Analytic Hierarchy Process , 2001 .

[51]  José M. Chaves-González,et al.  Differential evolution with Pareto tournament for the multi-objective next release problem , 2015, Appl. Math. Comput..

[52]  Dietmar Pfahl,et al.  Trade-off Analysis for Requirements Selection , 2003, Int. J. Softw. Eng. Knowl. Eng..

[53]  Morteza Yazdani,et al.  A state-of the-art survey of TOPSIS applications , 2012, Expert Syst. Appl..

[54]  Vasant Honavar,et al.  Preference Based Service Adaptation Using Service Substitution , 2013, 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT).

[55]  Yuanyuan Zhang,et al.  Robust next release problem: handling uncertainty during optimization , 2014, GECCO.

[56]  Deepti Mishra,et al.  Test case prioritization: a systematic mapping study , 2012, Software Quality Journal.

[57]  Marouane Kessentini,et al.  Preference-Based Many-Objective Evolutionary Testing Generates Harder Test Cases for Autonomous Agents , 2013, SSBSE.

[58]  Aurora Trinidad Ramirez Pozo,et al.  A multi-objective optimization approach for the integration and test order problem , 2014, Inf. Sci..

[59]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[60]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[61]  Mark Harman,et al.  Not going to take this anymore: Multi-objective overtime planning for Software Engineering projects , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[62]  Dietmar Pfahl,et al.  Quantitative WinWin: a new method for decision support in requirements negotiation , 2002, SEKE '02.

[63]  Ronen I. Brafman,et al.  CP-nets: A Tool for Representing and Reasoning withConditional Ceteris Paribus Preference Statements , 2011, J. Artif. Intell. Res..

[64]  Ronen I. Brafman,et al.  Preference Handling - An Introductory Tutorial , 2009, AI Mag..

[65]  Salvatore Greco,et al.  An Overview of ELECTRE Methods and their Recent Extensions , 2013 .

[66]  Ulrich Endriss,et al.  Conditional Importance Networks: A Graphical Language for Representing Ordinal, Monotonic Preferences over Sets of Goods , 2009, IJCAI.

[67]  Mohamed Wiem Mkaouer,et al.  A Robust Multi-objective Approach for Software Refactoring under Uncertainty , 2014, SSBSE.

[68]  Wolf-Tilo Balke,et al.  Exploiting Preferences for Minimal Credential Disclosure in Policy-Driven Trust Negotiations , 2008, Secure Data Management.

[69]  Ian C. Parmee,et al.  Single and multi-objective genetic operators in object-oriented conceptual software design , 2006, GECCO.

[70]  Martin P. Robillard,et al.  Suade: Topology-Based Searches for Software Investigation , 2007, 29th International Conference on Software Engineering (ICSE'07).

[71]  John Mylopoulos,et al.  Representing and reasoning about preferences in requirements engineering , 2011, Requirements Engineering.

[72]  Günther Ruhe,et al.  When-to-release decisions for features with time-dependent value functions , 2010, Requirements Engineering.

[73]  Zachary J. Oster,et al.  Identifying a preferred countermeasure strategy for attack graphs , 2013, CSIIRW '13.

[74]  John A. Clark,et al.  Formulating software engineering as a search problem , 2003, IEE Proc. Softw..

[75]  M. Barros An analysis of the effects of composite objectives in multiobjective software module clustering , 2012, GECCO '12.

[76]  Mark Harman,et al.  Faster Fault Finding at Google Using Multi Objective Regression Test Optimisation , 2011 .

[77]  Saeed Parsa,et al.  On the Optimization Approach towards Test Suite Minimization , 2010 .

[78]  T. Saaty Decision making — the Analytic Hierarchy and Network Processes (AHP/ANP) , 2004 .

[79]  Jon Doyle,et al.  Background to Qualitative Decision Theory , 1999, AI Mag..

[80]  Vasant Honavar,et al.  Efficient Dominance Testing for Unconditional Preferences , 2010, KR.

[81]  Mark Harman,et al.  Using hybrid algorithm for Pareto efficient multi-objective test suite minimisation , 2010, J. Syst. Softw..

[82]  Dietmar Pfahl,et al.  Studying the impact of uncertainty in operational release planning - An integrated method and its initial evaluation , 2010, Inf. Softw. Technol..

[83]  Ian C. Parmee,et al.  User-centered, evolutionary search in conceptual software design , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[84]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[85]  Xin Yao,et al.  Software Module Clustering as a Multi-Objective Search Problem , 2011, IEEE Transactions on Software Engineering.

[86]  Zachary J. Oster,et al.  Automating analysis of qualitative preferences in goal-oriented requirements engineering , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[87]  Ronen I. Brafman,et al.  On Graphical Modeling of Preference and Importance , 2011, J. Artif. Intell. Res..

[88]  Frank Buschmann,et al.  Five Considerations for Software Architecture, Part 1 , 2010, IEEE Software.

[89]  D. Ozturk,et al.  TECHNIQUE FOR ORDER PREFERENCE BY SIMILARITY TO IDEAL SOLUTION ( TOPSIS ) FOR SPATIAL DECISION PROBLEMS , 2011 .

[90]  Mark Harman,et al.  The SEMINAL workshop: reformulating software engineering as a metaheuristic search problem , 2001, SOEN.

[91]  Alexander Egyed,et al.  Comparative analysis of classical multi-objective evolutionary algorithms and seeding strategies for pairwise testing of Software Product Lines , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).

[92]  Morteza Yazdani,et al.  VIKOR and its Applications: A State-of-the-Art Survey , 2014, Int. J. Strateg. Decis. Sci..

[93]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..