Clarity, Technology, and Solving Problems | PracticeThis.com
WP7 App with Key Windows Azure resources – Slides, Videos, How-To’s, and T-shooting – for quick consumption on the go.
How to streamline the process of capturing security flaws during security code review? How to save time and avoid switching between the tools? How to stay focused?
In this post I will show my simple technique to capture security flaws using Bookmarks in Visual Studio.
Create bookmark folders. Hit Ctrl + K and then Ctrl + W to bring Bookmarks window up. Create 10 folders according to security frame categories:
Focus on one category. Grab security checklist document you created using Guidance Explorer. Choose one category from the security frame, Authentication for example, and inspect the code manually. Do not pay attention to anything else on your way but Authentication issues. One category a time.
Bookmark security bugs. Once you find security bug hit Ctrl + K and then Ctrl +K again. You just created the bookmark. Drag it into the appropriate folder in Bookmarks window. Move on. When you finish the inspection using your checklist you should have something like this:
Copy to the report in one run. Just run through the bookmarks and paste the findings to your final report. One run. Mechanical work. Done. Peace of mind.
My related posts
Care about performance? Do you write your code with performance in mind? Want little help to spot performance bottlenecks automatically?
Practices Checker to the rescue.
The goal of the tool is
“Help you perform a manual code inspection by analyzing your application for potential coding and configuration settings that do not adhere to the patterns & practices ASP.NET Performance Checklist.”
The tool is available as free download here. Download, install, point to your web application solution folder and hit “Analyze” button. You will get the report for potential performance issues and recommendations on how to fix. I am sure you will be surprised by few findings.
Performance rules:
Case Study
I used Practices Checker with one of my recent engagements . The tool spotted in no time web pages where there were 30 loops, enormous amount of serialization issues, and few more.
patterns & practices team maintains Design for Operations [DFO] project on codeplex. The goal of the project focuses on:
“Developing tools and guidance to help enable the development of highly manageable applications on the Windows platform.”
This post summarize my understanding of the project’s problems and solutions frame. Most of the content is direct copy paste from more than 300 pages Manageability Guidance document found here and few interpretations of mine.
Problems Frame
Active players and their concerns
Operations Challenges
Solution Frame
Representing Applications as Managed Entities
A managed entity is any logical part of an application that a system administrator needs to configure, monitor, and create reports about while managing that application or service. Examples of managed entities are a Web service, a database, an Exchange routing group, an Active Directory site, a computer, a server role, a network device, a hardware component, or a subnet.
Model Comprehensive Management Models
Creating a comprehensive management model consists of modeling in a variety of different areas to provide a total system view, including the following:
Building Effective Health Models
An application is considered healthy if it is operating within a series of defined parameters. A number of factors may result in a change in application health, including the following:
Steps to handle the problem
Conclusion
There are few key terms mentioned above - "Modeling", "Design", "Building", "Maintain", "Testing". To me it is absolutely clear that Design For Operations is no different from Security Development Lifecycle or Performance Development Lifecycle. "Operations" is just another important non-functional requirement that needs to be taken throughout the whole development lifecycle to be successfully implemented and deployed in production. It had to be called Operations Development Lifecycle.