SlideShare a Scribd company logo
Automated Software 
Engineering 
Cs791 
Fall 2015 
tjmenzie@ncsu.edu 
Nov 21, 2014
Career advice 
Learn Modeling 
(it’s the next big thing in SE) 
2
This kind of modeling? No 
3
This kind of modeling? Nope 
(though it 
does look 
pretty cool, 
heh?) 
4
Executable Software Models 
5
Software models: are everywhere 
• If you call an ambulance in London or New York, 
– those ambulances are controlled by emergency 
response models. 
• If you cross the border Arizona to Mexico, 
– A models determines if you are taken away for 
extra security measures. 
• If you default on your car loans, 
– A model determines when (or if) someone to 
repossess your car. 
• If the stock market crashes, 
– it might be that some model caused the crash. 
6
Software models: are everywhere 
• Karplus and Levitt 
– 2013 Nobel prize in chemistry 
– development of multi-scale 
models for complex chemical 
systems 
– Explored complex chemical 
reactions (e.g. split-second 
changes of photosynthesis). 
7 
• Models are now a central tool 
in scientific research. 
– in physics, biology and other 
fields of science 
– complex simulations using 
supercomputers. 
• E.g. genomic map required 
analyzing 80 trillion bytes 
• E.g.. Other computational 
modeling projects 
– the rise and fall of native 
cultures, 
– subnuclear particles 
– the Big Bang.
Question: 
How to best reason 
about models? 
Answer: 
automated software engineering 
8
The Human Condition: 
a balancing act between goals 
• The human condition 
– a constant balancing act between vaguely understood, often 
competing, goals. 
• For example: 
– Lets build the software faster... 
– ... with few bugs ... 
– ... using less budget. 
• For the consequences 
of "better, faster, cheaper” : 
– NASA's loss of the Mars Polar 
Orbiter 
– $300 million , wasted 
9
Example 
• Choices explored by satellite designers at NASA's Jet 
Propulsion Laboratory. 
– Dozens of experts in 
propulsion, 
communications, 
guidance and control etc 
– Week-long sessions 
– Thrash out possibilities 
for NASA's next deep 
space mission. 
• Groups sitting “here” can make decisions that impact 
“there”, and they just do not realize. 
10
Keeping track of all those decisions: 
Lightweight requirements 
notations 
• E.g. Martin Feather’s DDP 
language 
– Mitigations … 
– … that retire risks…. 
– …. That damage 
requirements 
• Multi-objective 
optimization 
– Find the cheapest 
mitigations that enable the 
most requirements 
11
Keeping track of all those decisions: 
Lightweight requirements 
notations 
• My optimizers out-performing 
state of the art tools 
– Faster 
– Simpler policies 
12 
Data Mining for Very Busy People, Tim Menzies, 
Ying Hu, IEEE Computer, October 2003
Keeping track of all those decisions: 
Lightweight requirements 
notations 
• E.g. John 
Mylopoulos‘ 
soft goals 
• Competing 
requirements 
• Simulations to 
explore all 
the what-ifs 
Chiang, Eliza, Menzies, Tim, Simulations for very early lifecycle quality evaluations, 13 
Software Process: Improvement and Practice 7(3-4), 2003,
More lightweight 
requirements notations 
• E.g. Kang’s product lines 
[Kang’90] 
• Add in known constraints 
– E.g. “if we use a camera 
then we need a high 
resolution screen”. 
• Extract products 
– Find subsets of the 
product lines that satisfy 
constraints. 
– If no constraints, linear 
time 
– Otherwise, can defeat 
state-of-the-art optimizers 
[Pohl et at, ASE’11] 
[Sayyad, Menzies ICSE’13]. 
Cross-Tree 
Constraints 
14 
A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the 
Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. 
November 2013.
Automated software engineering 
and optimization 
• Many SE activities are like optimization 
problems [Harman,Jones’01]. 
• Due to computational complexity, exact optimization methods 
can be impractical for large SBSE problems 
• So researchers and practitioners use metaheuristic search to 
find near optimal or good-enough solutions. 
– E.g. simulated annealing [Rosenbluth et al.’53] 
– E.g. genetic algorithms [Goldberg’79] 
– E.g. tabu search [Glover86] 
15
Optimization and 
evolutionary algorithms 
• Repeat till happy or exhausted 
– Selection (cull the herd) 
– Cross-over (the rude bit) 
– Mutation (stochastic jiggle) 
1 
-- better on some 
criteria, worse on none 
-- generation[i+1] comes 
from Pareto frontier of 
generation[i] 
2 
3 
5 
4 
Pareto frontier 
7 
6 
Selection: 
8 
9 
16
Long tradition of software, 
simulation, and optimization 
• Not one “best” solutions 
– Its all trade-offs 
– Satisficing = satisfy + sacrifice 
• Problems have to be 
explored via computer 
simulations 
– Try it out and see 
– And approach pioneered 
by John Von Neumann, 
in the 1950s 
17
Explosive growth of SE + optimization 
Q: Why? 
A: Thanks to Big Data, more access to more cpu. 
18
Applications of Optimization in SE 
1. Requirements Menzies, Feather, Bagnall, Mansouri, Zhang 
2. Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams 
3.Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd 
4. Management Alba, Antoniol, Chicano, Di Pentam Greer, Ruhe 
5. Heap allocation Cohen, Kooi, Srisa-an 
6. Regression test Li, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer 
7. SOA Canfora, Di Penta, Esposito, Villani 
8. Refactoring Antoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt 
9. Test Generation Alba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, 
Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, 
Wegener, Wilkins 
10. Maintenance Antoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift 
11. Model checking Alba, Chicano, Godefroid 
12. Probing Cohen, Elbaum 
13. UIOs Derderian, Guo, Hierons 
14. Comprehension Gold, Li, Mahdavi 
15. Protocols Alba, Clark, Jacob, Troya 
16. Component sel Baker, Skaliotis, Steinhofel, Yoo 
17. Agent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis 19
Example 1 
(of four) 
Automated program repair 
20
Multi-objective Optimization, 
in the 21st century, automated repair 
A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : 
Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 
21
A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : 
Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 
22
A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : 
Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 
23
• 
A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : 
Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 
24
Example 2 
(of four) 
Software Product Lines 
25
More lightweight 
requirements notations 
• E.g. Kang’s product lines 
[Kang’90] 
• Add in known constraints 
– E.g. “if we use a camera 
then we need a high 
resolution screen”. 
• Extract products 
– Find subsets of the 
product lines that satisfy 
constraints. 
– If no constraints, linear 
time 
– Otherwise, can defeat 
state-of-the-art optimizers 
[Pohl et at, ASE’11] 
[Sayyad, Menzies ICSE’13]. 
Cross-Tree 
Constraints 
26 
A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the 
Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. 
November 2013.
Problem: many competing goals 
2 or 3 or 4 or 5 goals 
Software engineering = navigating the user goals: 
1. Satisfy the most domain constraints (0 ≤ #violations ≤ 100%) 
2. Offers most features 
3. Build “stuff” In least time 
4. That we have used most before 
5. Using features with least known defects 
27 
A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the 
Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. 
November 2013.
Issues of scale up 
• This model: 10 features, 8 rules 
• [www.splot-research.org]: 
ESHOP: 290 Features, 421 Rules 
• LINUX kernel variability project 
LINUX x86 kernel 
6,888 Features; 344,000 Rules 
Cross-Tree Constraints 
28 
A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the 
Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. 
November 2013.
State of the Art (as of Nov’13) 
Features 
6888 
SPLOT Linux (LVAT) 
544 
290 
9 
Henard 
‘12 
White ‘07, ‘08, 09a, 09b, 
Pohl ‘11 Lopez- 
Herrejon 
‘11 
Sayyad, 
Menzies’13b 
Sayyad, 
Menzies’ 
13a 
Velazco 
‘13 
Johansen 
‘11 
Benavides 
‘05 
Shi ‘10, Guo ‘11 
Objectives 
Single-goal Multi-goal 
300,000+ 
clauses 
29 
A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the 
Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. 
November 2013.
Example 3 
(of four) 
Space ships! 
30
Skip re-entry 
• My optimizers vs state of the art numeric optimizers 
• My tools: ran 40 times faster 
– Generated better solutions 
• Powerful succinct explanation tool 
31 
Automatically Finding the Control Variables for Complex System Behavior Gregory Gay, Tim Menzies, Misty 
Davies, and Karen Gundy-Burlet Journal - Automated Software Engineering, 2010 [PDF]
Example 4 
(of four) 
Avionics Requirements Engineering 
32
33 
Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim 
Menzies, Misty Davies, IEEE Trans Human Factors, to appear
WMC: GIT’s Work Models that 
Compute [Kim’11] 
• Cognitive models of the agents 
(both pilots and computers) 
– Late descent, 
– Unpredicted rerouting, 
– Different tailwind conditions 
• Goal: validate operations 
procedures (are they safe?) 
• NASA’s analysts want to 
explore 7000 scenarios. 
– With current tools (NSGA-II) 
– 300 weeks to complete 
• Limited access to hardware 
– Queue of researchers wanting 
hardware access 
– Hardware pulled away if in-flight 
incidents for manned 
space missions 
Asiana Airlines 
Flight 214 
34 
Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim 
Menzies, Misty Davies, IEEE Trans Human Factors, to appear
Active Learning: Skip similar examples, 
focus on the most different 
4 mins (GALE) vs 7 hours (rest) 
Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim 
Menzies, Misty Davies, IEEE Trans Human Factors, to appear
Career advice 
Learn Modeling 
(it’s the next big thing in SE) 36
Question: 
How to reason 
about models? 
Answer: 
automated software engineering 
Cs791, fall 2015 
37

More Related Content

PPTX
Automation in software engineering
PPTX
Automated Software Enging, Fall 2015, NCSU
PPTX
In the age of Big Data, what role for Software Engineers?
PDF
Software Engineering an Introduction
PPTX
unit 1.pptx regasts sthatbabs shshsbsvsbsh
PPT
Software engineering introduction
PDF
Advance Software Engineering notes for ME students
PDF
[2015/2016] Software systems engineering PRINCIPLES
Automation in software engineering
Automated Software Enging, Fall 2015, NCSU
In the age of Big Data, what role for Software Engineers?
Software Engineering an Introduction
unit 1.pptx regasts sthatbabs shshsbsvsbsh
Software engineering introduction
Advance Software Engineering notes for ME students
[2015/2016] Software systems engineering PRINCIPLES

Similar to Automated Software Engineering (20)

PDF
On the Value of User Preferences in Search-Based Software Engineering:
PDF
Applying AI to software engineering problems: Do not forget the human!
PDF
Introduction to Software Engineering Notes
PPT
Introduction Software and Software Engineering
PPTX
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
PDF
software engineering unit 3 chapter1-190805164730.pdf
PPTX
Software Engineering by Pankaj Jalote
PPT
Software engineering
PPTX
software engineering introduction is a gateway of engineer
PPSX
Scope of software engineering
PPTX
01_IT4557.pptx
PPT
Cnpm bkdn
PDF
AI for Software Engineering
PPTX
Basics of se
PPTX
1-Nature of Software Software Engineering Software process project product Pr...
PDF
Software systems engineering PRINCIPLES
PPT
15 object orienteddesign
PPTX
Week1.pptx
PPTX
Requirements engineering
PPTX
what is software Engineering for students
On the Value of User Preferences in Search-Based Software Engineering:
Applying AI to software engineering problems: Do not forget the human!
Introduction to Software Engineering Notes
Introduction Software and Software Engineering
UNIT 1 - MPP.pptxdfvvnfuvbrrujfvbvndvnbn
software engineering unit 3 chapter1-190805164730.pdf
Software Engineering by Pankaj Jalote
Software engineering
software engineering introduction is a gateway of engineer
Scope of software engineering
01_IT4557.pptx
Cnpm bkdn
AI for Software Engineering
Basics of se
1-Nature of Software Software Engineering Software process project product Pr...
Software systems engineering PRINCIPLES
15 object orienteddesign
Week1.pptx
Requirements engineering
what is software Engineering for students
Ad

More from CS, NcState (20)

PPTX
Talks2015 novdec
PPTX
Future se oct15
PPTX
GALE: Geometric active learning for Search-Based Software Engineering
PPTX
Big Data: the weakest link
PPTX
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
PPTX
Lexisnexis june9
PPTX
Welcome to ICSE NIER’15 (new ideas and emerging results).
PPTX
Icse15 Tech-briefing Data Science
PPTX
Kits to Find the Bits that Fits
PPTX
Ai4se lab template
PPT
Requirements Engineering
PPT
172529main ken and_tim_software_assurance_research_at_west_virginia
PDF
Next Generation “Treatment Learning” (finding the diamonds in the dust)
PPTX
Tim Menzies, directions in Data Science
PPTX
Goldrush
PPTX
Dagstuhl14 intro-v1
PPTX
Know thy tools
PPTX
The Art and Science of Analyzing Software Data
PPTX
What Metrics Matter?
PDF
Sayyad slides ase13_v4
Talks2015 novdec
Future se oct15
GALE: Geometric active learning for Search-Based Software Engineering
Big Data: the weakest link
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
Lexisnexis june9
Welcome to ICSE NIER’15 (new ideas and emerging results).
Icse15 Tech-briefing Data Science
Kits to Find the Bits that Fits
Ai4se lab template
Requirements Engineering
172529main ken and_tim_software_assurance_research_at_west_virginia
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Tim Menzies, directions in Data Science
Goldrush
Dagstuhl14 intro-v1
Know thy tools
The Art and Science of Analyzing Software Data
What Metrics Matter?
Sayyad slides ase13_v4
Ad

Recently uploaded (20)

PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
master seminar digital applications in india
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PDF
Sports Quiz easy sports quiz sports quiz
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Classroom Observation Tools for Teachers
PDF
Insiders guide to clinical Medicine.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
Lesson notes of climatology university.
PDF
Pre independence Education in Inndia.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
01-Introduction-to-Information-Management.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
master seminar digital applications in india
Abdominal Access Techniques with Prof. Dr. R K Mishra
Renaissance Architecture: A Journey from Faith to Humanism
Sports Quiz easy sports quiz sports quiz
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Cell Structure & Organelles in detailed.
TR - Agricultural Crops Production NC III.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Microbial disease of the cardiovascular and lymphatic systems
Classroom Observation Tools for Teachers
Insiders guide to clinical Medicine.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Lesson notes of climatology university.
Pre independence Education in Inndia.pdf
Anesthesia in Laparoscopic Surgery in India
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
01-Introduction-to-Information-Management.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape

Automated Software Engineering

  • 1. Automated Software Engineering Cs791 Fall 2015 tjmenzie@ncsu.edu Nov 21, 2014
  • 2. Career advice Learn Modeling (it’s the next big thing in SE) 2
  • 3. This kind of modeling? No 3
  • 4. This kind of modeling? Nope (though it does look pretty cool, heh?) 4
  • 6. Software models: are everywhere • If you call an ambulance in London or New York, – those ambulances are controlled by emergency response models. • If you cross the border Arizona to Mexico, – A models determines if you are taken away for extra security measures. • If you default on your car loans, – A model determines when (or if) someone to repossess your car. • If the stock market crashes, – it might be that some model caused the crash. 6
  • 7. Software models: are everywhere • Karplus and Levitt – 2013 Nobel prize in chemistry – development of multi-scale models for complex chemical systems – Explored complex chemical reactions (e.g. split-second changes of photosynthesis). 7 • Models are now a central tool in scientific research. – in physics, biology and other fields of science – complex simulations using supercomputers. • E.g. genomic map required analyzing 80 trillion bytes • E.g.. Other computational modeling projects – the rise and fall of native cultures, – subnuclear particles – the Big Bang.
  • 8. Question: How to best reason about models? Answer: automated software engineering 8
  • 9. The Human Condition: a balancing act between goals • The human condition – a constant balancing act between vaguely understood, often competing, goals. • For example: – Lets build the software faster... – ... with few bugs ... – ... using less budget. • For the consequences of "better, faster, cheaper” : – NASA's loss of the Mars Polar Orbiter – $300 million , wasted 9
  • 10. Example • Choices explored by satellite designers at NASA's Jet Propulsion Laboratory. – Dozens of experts in propulsion, communications, guidance and control etc – Week-long sessions – Thrash out possibilities for NASA's next deep space mission. • Groups sitting “here” can make decisions that impact “there”, and they just do not realize. 10
  • 11. Keeping track of all those decisions: Lightweight requirements notations • E.g. Martin Feather’s DDP language – Mitigations … – … that retire risks…. – …. That damage requirements • Multi-objective optimization – Find the cheapest mitigations that enable the most requirements 11
  • 12. Keeping track of all those decisions: Lightweight requirements notations • My optimizers out-performing state of the art tools – Faster – Simpler policies 12 Data Mining for Very Busy People, Tim Menzies, Ying Hu, IEEE Computer, October 2003
  • 13. Keeping track of all those decisions: Lightweight requirements notations • E.g. John Mylopoulos‘ soft goals • Competing requirements • Simulations to explore all the what-ifs Chiang, Eliza, Menzies, Tim, Simulations for very early lifecycle quality evaluations, 13 Software Process: Improvement and Practice 7(3-4), 2003,
  • 14. More lightweight requirements notations • E.g. Kang’s product lines [Kang’90] • Add in known constraints – E.g. “if we use a camera then we need a high resolution screen”. • Extract products – Find subsets of the product lines that satisfy constraints. – If no constraints, linear time – Otherwise, can defeat state-of-the-art optimizers [Pohl et at, ASE’11] [Sayyad, Menzies ICSE’13]. Cross-Tree Constraints 14 A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. November 2013.
  • 15. Automated software engineering and optimization • Many SE activities are like optimization problems [Harman,Jones’01]. • Due to computational complexity, exact optimization methods can be impractical for large SBSE problems • So researchers and practitioners use metaheuristic search to find near optimal or good-enough solutions. – E.g. simulated annealing [Rosenbluth et al.’53] – E.g. genetic algorithms [Goldberg’79] – E.g. tabu search [Glover86] 15
  • 16. Optimization and evolutionary algorithms • Repeat till happy or exhausted – Selection (cull the herd) – Cross-over (the rude bit) – Mutation (stochastic jiggle) 1 -- better on some criteria, worse on none -- generation[i+1] comes from Pareto frontier of generation[i] 2 3 5 4 Pareto frontier 7 6 Selection: 8 9 16
  • 17. Long tradition of software, simulation, and optimization • Not one “best” solutions – Its all trade-offs – Satisficing = satisfy + sacrifice • Problems have to be explored via computer simulations – Try it out and see – And approach pioneered by John Von Neumann, in the 1950s 17
  • 18. Explosive growth of SE + optimization Q: Why? A: Thanks to Big Data, more access to more cpu. 18
  • 19. Applications of Optimization in SE 1. Requirements Menzies, Feather, Bagnall, Mansouri, Zhang 2. Transformation Cooper, Ryan, Schielke, Subramanian, Fatiregun, Williams 3.Effort prediction Aguilar-Ruiz, Burgess, Dolado, Lefley, Shepperd 4. Management Alba, Antoniol, Chicano, Di Pentam Greer, Ruhe 5. Heap allocation Cohen, Kooi, Srisa-an 6. Regression test Li, Yoo, Elbaum, Rothermel, Walcott, Soffa, Kampfhamer 7. SOA Canfora, Di Penta, Esposito, Villani 8. Refactoring Antoniol, Briand, Cinneide, O’Keeffe, Merlo, Seng, Tratt 9. Test Generation Alba, Binkley, Bottaci, Briand, Chicano, Clark, Cohen, Gutjahr, Harrold, Holcombe, Jones, Korel, Pargass, Reformat, Roper, McMinn, Michael, Sthamer, Tracy, Tonella,Xanthakis, Xiao, Wegener, Wilkins 10. Maintenance Antoniol, Lutz, Di Penta, Madhavi, Mancoridis, Mitchell, Swift 11. Model checking Alba, Chicano, Godefroid 12. Probing Cohen, Elbaum 13. UIOs Derderian, Guo, Hierons 14. Comprehension Gold, Li, Mahdavi 15. Protocols Alba, Clark, Jacob, Troya 16. Component sel Baker, Skaliotis, Steinhofel, Yoo 17. Agent Oriented Haas, Peysakhov, Sinclair, Shami, Mancoridis 19
  • 20. Example 1 (of four) Automated program repair 20
  • 21. Multi-objective Optimization, in the 21st century, automated repair A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 21
  • 22. A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 22
  • 23. A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 23
  • 24. • A Systematic Study Of Automated Program Repair: Fixing 55 Out Of 105 Bugs For $8 Each : Claire Le Goues ; Michael Dewey-vogt ;Stephanie Forrest ; Westley Weimer, ICSE’12 24
  • 25. Example 2 (of four) Software Product Lines 25
  • 26. More lightweight requirements notations • E.g. Kang’s product lines [Kang’90] • Add in known constraints – E.g. “if we use a camera then we need a high resolution screen”. • Extract products – Find subsets of the product lines that satisfy constraints. – If no constraints, linear time – Otherwise, can defeat state-of-the-art optimizers [Pohl et at, ASE’11] [Sayyad, Menzies ICSE’13]. Cross-Tree Constraints 26 A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. November 2013.
  • 27. Problem: many competing goals 2 or 3 or 4 or 5 goals Software engineering = navigating the user goals: 1. Satisfy the most domain constraints (0 ≤ #violations ≤ 100%) 2. Offers most features 3. Build “stuff” In least time 4. That we have used most before 5. Using features with least known defects 27 A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. November 2013.
  • 28. Issues of scale up • This model: 10 features, 8 rules • [www.splot-research.org]: ESHOP: 290 Features, 421 Rules • LINUX kernel variability project LINUX x86 kernel 6,888 Features; 344,000 Rules Cross-Tree Constraints 28 A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. November 2013.
  • 29. State of the Art (as of Nov’13) Features 6888 SPLOT Linux (LVAT) 544 290 9 Henard ‘12 White ‘07, ‘08, 09a, 09b, Pohl ‘11 Lopez- Herrejon ‘11 Sayyad, Menzies’13b Sayyad, Menzies’ 13a Velazco ‘13 Johansen ‘11 Benavides ‘05 Shi ‘10, Guo ‘11 Objectives Single-goal Multi-goal 300,000+ clauses 29 A.S. Sayyad, J. Ingram, T. Menzies, and H. Ammar: Scalable Product Line Configuration: A Straw to Break the Camel's Back. In the International Conference on Automated Software Engineering (ASE’13). Palo Alto, USA. November 2013.
  • 30. Example 3 (of four) Space ships! 30
  • 31. Skip re-entry • My optimizers vs state of the art numeric optimizers • My tools: ran 40 times faster – Generated better solutions • Powerful succinct explanation tool 31 Automatically Finding the Control Variables for Complex System Behavior Gregory Gay, Tim Menzies, Misty Davies, and Karen Gundy-Burlet Journal - Automated Software Engineering, 2010 [PDF]
  • 32. Example 4 (of four) Avionics Requirements Engineering 32
  • 33. 33 Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim Menzies, Misty Davies, IEEE Trans Human Factors, to appear
  • 34. WMC: GIT’s Work Models that Compute [Kim’11] • Cognitive models of the agents (both pilots and computers) – Late descent, – Unpredicted rerouting, – Different tailwind conditions • Goal: validate operations procedures (are they safe?) • NASA’s analysts want to explore 7000 scenarios. – With current tools (NSGA-II) – 300 weeks to complete • Limited access to hardware – Queue of researchers wanting hardware access – Hardware pulled away if in-flight incidents for manned space missions Asiana Airlines Flight 214 34 Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim Menzies, Misty Davies, IEEE Trans Human Factors, to appear
  • 35. Active Learning: Skip similar examples, focus on the most different 4 mins (GALE) vs 7 hours (rest) Better Model-Based Analysis of Human Factors for Safe Aircraft Approach, Joseph Krall, Tim Menzies, Misty Davies, IEEE Trans Human Factors, to appear
  • 36. Career advice Learn Modeling (it’s the next big thing in SE) 36
  • 37. Question: How to reason about models? Answer: automated software engineering Cs791, fall 2015 37