[Pang et al. - University of cspang/index/2016_CANCON_Candy... [Pang et al. 2016] C. Pang and A Hindle,

  • View
    5

  • Download
    0

Embed Size (px)

Text of [Pang et al. - University of cspang/index/2016_CANCON_Candy... [Pang et al. 2016] C. Pang and A...

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

    by Candy Pang

    (candy.pang@ualberta.ca) Abram Hindle

    (abram.hindle@ualberta.ca)

    CASCON (2016-11-01)

  • P.2 © Candy Pang

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

    Cont. Planning

    Cont. Use

    Cont. Trust

    Cont. Run-Time Monitoring

    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-Time Monitoring

    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/IEC 20000

  • 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 delivery and 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-Time Monitoring

    Cont. Improvement

    Cont. Integration

    Cont. Deployment

    Cont. Delivery

    Cont. Testing

    Cont. Security

    Cont. Compliance

    Cont. Innovation

    Bus Strategy Development Operations

    Continuous Maintenance

  • 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

    Inspe ction

    Search Based SE*

    Reports Automated Processes Automated Processes

    • 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/Delete Audit Log

    Query Audit Log

    Temp Data Temp Data

    Log Files Log Files

  • P.15 © Candy Pang

    • Exception or violation analysis

    Continuous Maintenance in Post-Production

    Create/Update/Delete Audit Log

    Query Audit Log

    Log Files Log Files

    • 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

    Automated Processes Automated Processes

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

    pppst.com

  • P.17 © Candy Pang

    • Data warehouse and analytics

    Continuous Maintenance in Post-Production

    Automated Processes Automated Processes

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

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

    Production Database

    Data Warehouse

  • 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