23
Continuous Maintenance (CM) [Pang et al. 2016] by Candy Pang ([email protected]) Abram Hindle ([email protected]) CASCON (2016-11-01)

[Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

Continuous Maintenance (CM)[Pang et al. 2016]

byCandy Pang

([email protected])Abram Hindle

([email protected])

CASCON (2016-11-01)

Page 2: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.2 © Candy Pang

• BizDev + Continuous* + DevOps [Fitzgerald et al. 2014]

Cont.Planning

Cont. Use

Cont. Trust

Cont. Run-TimeMonitoring

Cont. Improvement

Cont. Integration

Cont. Deployment

Cont. Delivery

Cont. Testing

Cont. Security

Cont. Compliance

Cont. Innovation

Bus Strategy Development Operations

Page 3: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.3 © Candy Pang

Related Works – Development Perspective

[Duvall et al. 2007] [Humble et al. 2010]

Page 4: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.4 © Candy Pang

Duvall et al. in Continuous Integration – Improving Software Quality and Reducing Risk

• Continuous code integration

• Continuous database integration

• Continuous testing

• Continuous delivery

• Continuous inspection

• Continuous feedback

Related Works – Development Perspective

http://www.integratebutton.com/

Page 5: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.5 © Candy Pang

• BizDev + Continuous* + DevOps [Fitzgerald et al. 2014]

Cont.Planning

Cont. Use

Cont. Trust

Cont. Run-TimeMonitoring

Cont. Improvement

Cont. Integration

Cont. Deployment

Cont. Delivery

Cont. Testing

Cont. Security

Cont. Compliance

Cont. Innovation

Bus Strategy Development Operations

Page 6: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.6 © Candy Pang

Related Work – Operations Perspective

ISO/IEC20000

Page 7: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.7 © Candy Pang

• DevOps “A culture, movement or practice that emphasizes the collaboration and communication of both software developers and other IT professionals while automating the process of software deliveryand infrastructure changes” [Schmidt 2016]

Related Work – Operations Perspective

Dev Ops

Page 8: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.8 © Candy Pang

• BizDev + Continuous* + DevOps [Fitzgerald et al. 2014]

Cont.Planning

Cont. Use

Cont. Trust

Cont. Run-TimeMonitoring

Cont. Improvement

Cont. Integration

Cont. Deployment

Cont. Delivery

Cont. Testing

Cont. Security

Cont. Compliance

Cont. Innovation

Bus Strategy Development Operations

ContinuousMaintenance

Page 9: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.9 © Candy Pang

Definition:Continuous maintenance (CM) seeks to maintain repositories and artifacts properly and consistently through automation, summarization, compaction, archival, and removal during pre- and post-production.

Continuous Maintenance (CM)

Meta DataMeta Data

Data

Page 10: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.10 © Candy Pang

Monitoring

Continuous Maintenance (CM)

Pre-ProductionPre-Production Post-ProductionPost-Production

Staging

Operating

Release

Page 11: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.11 © Candy Pang

• Repository summarization, compaction, defragmentation, and archival

Continuous Maintenance in Pre-Production

Page 12: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.12 © Candy Pang

• Storage summarization, compaction, and removal.

Continuous Maintenance in Pre-Production

Page 13: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.13 © Candy Pang

• Management systems automation

Continuous Maintenance in Pre-Production

Management Systems

Management Systems

Bugs TrackingBugs Tracking

Quality ControlQuality Control

……

Test

Inspection

Search Based SE*

ReportsAutomatedProcessesAutomatedProcesses

• Bug dedupers• Bug clusterers• Bug repair• Crash dedupers• Crash clusterers• …

• Bug dedupers• Bug clusterers• Bug repair• Crash dedupers• Crash clusterers• …

* [Campbell et al. 2015]

Page 14: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.14 © Candy Pang

• Temp data and logs summarization and archival

Continuous Maintenance in Post-Production

Create

Update

Delete

Query

Create/Update/DeleteAudit Log

QueryAudit Log

TempDataTempData

LogFilesLogFiles

Page 15: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.15 © Candy Pang

• Exception or violation analysis

Continuous Maintenance in Post-Production

Create/Update/DeleteAudit Log

QueryAudit Log

LogFilesLogFiles

• Intrusion attacks• Illegal accesses• Infrastructure

hitches• Capacity

constraints• …

• Intrusion attacks• Illegal accesses• Infrastructure

hitches• Capacity

constraints• …

• Illegal data accesses• Wrongful data usages• …

• Illegal data accesses• Wrongful data usages• …

Page 16: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.16 © Candy Pang

• Data elimination

Continuous Maintenance in Post-Production

AutomatedProcessesAutomatedProcesses

Freedom of Information and Protection of Privacy Act ("FOIP")

pppst.com

Page 17: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.17 © Candy Pang

• Data warehouse and analytics

Continuous Maintenance in Post-Production

AutomatedProcessesAutomatedProcesses

• Filter• Convert• Mask• Replace• Summarize • …

• Filter• Convert• Mask• Replace• Summarize • …

ProductionDatabase

DataWarehouse

Page 18: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.18 © Candy Pang

• What Continuous Maintenance processes have companies implemented?

• Who is accountable for the Continuous Maintenance processes?

• What are the challenges in Continuous Maintenance?

• What Continuous Maintenance tools are needed?

• Can Continuous Maintenance policy, guideline or checklist be defined?

Research Questions

Page 19: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.19 © Candy Pang

Continuous Maintenance

Data Warehouse

Pre-ProductionPre-Production Post-ProductionPost-Production

Page 20: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.20 © Candy Pang

Definition:There are many “continuous” practices in software engineering, for example continuous integration (CI), continuous delivery (CD), continuous release (CR) and DevOps. The continuous practices and applications depend on many repositories and artifacts, such as databases, servers, virtual machines, storage, data, meta-data, various logs, and reports. Continuous maintenance (CM) seeks to maintain these repositories and artifacts properly and consistently through automation, summarization, compaction, archival, and removal during pre-production and post-production.

Continuous Maintenance (CM)

Page 21: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.21 © Candy Pang

[Pang et al. 2016]C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings of the International Conference on Software Maintenance and Evolution, Raleigh, NC, USA, 2016.[Fitzgerald et al. 2014]B. Fitzgerald and S. Klaas-Jan, "Continuous Software Engineering and Beyond: Trends and Challenges," in Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, Hyderabad, India, 2014.

[Duvall et al. 2007] P. M. Duvall, S. Matyas and A. Glover, Continuous Integration –Improving Software Quality and Reducing Risk, Addison-Wesley, 2007.

References

Page 22: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.22 © Candy Pang

[Humble et al. 2010]J. Humble and D. Farley, Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, Pearson Education, 2010.

[Schmidt 2016]M. Schmidt, "DevOps and Continuous Delivery: Not the Same," Mediaops, LLC., 08 04 2016. [Online]. Available: http://devops.com/2016/04/08/devops-and-continuous-delivery-not-same.

[Campbell et al. 2015] J. C. Campbell and A. Hindle, "The charming code that error messages are talking about," PeerJ PrePrints, vol. 3, p. e1388, 2015.

References

Page 23: [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang et al. 2016] C. Pang and A Hindle, “Continuous Maintenance”, in the Proceedings

P.23 © Candy Pang

Continuous Integration (CI) Complexity