[Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang...
Transcript of [Pang et al. - University of Albertawebdocs.cs.ualberta.ca/~cspang/index/2016_CANCON_Candy...[Pang...
Continuous Maintenance (CM)[Pang et al. 2016]
byCandy Pang
([email protected])Abram Hindle
CASCON (2016-11-01)
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
P.3 © Candy Pang
Related Works – Development Perspective
[Duvall et al. 2007] [Humble et al. 2010]
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/
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
P.6 © Candy Pang
Related Work – Operations Perspective
ISO/IEC20000
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
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
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
P.10 © Candy Pang
Monitoring
Continuous Maintenance (CM)
Pre-ProductionPre-Production Post-ProductionPost-Production
Staging
Operating
Release
P.11 © Candy Pang
• Repository summarization, compaction, defragmentation, and archival
Continuous Maintenance in Pre-Production
P.12 © Candy Pang
• Storage summarization, compaction, and removal.
Continuous Maintenance in Pre-Production
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]
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
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• …
P.16 © Candy Pang
• Data elimination
Continuous Maintenance in Post-Production
AutomatedProcessesAutomatedProcesses
Freedom of Information and Protection of Privacy Act ("FOIP")
pppst.com
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
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
P.19 © Candy Pang
Continuous Maintenance
Data Warehouse
Pre-ProductionPre-Production Post-ProductionPost-Production
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)
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
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
P.23 © Candy Pang
Continuous Integration (CI) Complexity