Agile Event Session

Understanding Software Faster: Automated Code Simplification via Program Slicing

This video content is for Agile Alliance members only

If you’re already an active member, please log in.

To view this content, and gain access to many more valuable resources, conference discounts, and invitations to exclusive networking and learning events, please consider becoming an Agile Alliance member.

About this Event Session

Conceptualization and understanding are prerequisites for changing software. But they become harder to achieve as software becomes more complex and expands in scope.

We have many tools for writing software, but few at all for reading and understanding it. What if there were tools that helped us conceptualize systems so that we could change them with greater confidence? What would they look like and how would we use them?

This session describes a new approach that helps you build understanding of new software systems by generating an Idealized Commit Log: a simplified step-by-step deconstruction of a working software system.

The session covers a diverse set of topics including type analysis, code coverage tools, AST transformations and a much-ignored topic of academic computer science pioneered nearly forty years ago called program slicing.

Additional Resources

We hope you found this content informative

Before you move on, please consider supporting our non-profit mission by making a donation to Agile Alliance today. The opinions and ideas expressed in this video belong solely to the speaker or speakers, and may not represent the opinion or policy of Agile Alliance.

Speaker(s) may be willing to present this session at local group meetings and other events.

Technical Conference
Video
Practicing

More Agile Event Session Videos

FP vs. OOP: Beyond the Bikeshed
In object-oriented languages like Ruby, people often say that “everything is an object”—but first-class functions have become standard for object-oriented languages too. C# has had them and other related features for years, and even Java is in the ga…
Testing Without Mocks: A Practical Guide
Are your tests slow or brittle? Do you get a sinking feeling when you need to refactor? Do you worry your unit tests aren't actually testing anything important? If so, you could benefit from exploring a mock-free approach to TDD. This session is a c…
Building Your Team to Last
Hiring and on-boarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivit…
FP vs. OOP: Beyond the Bikeshed
In object-oriented languages like Ruby, people often say that “everything is an object”—but first-class functions have become standard for object-oriented languages too. C# has had them and other related features for years, and even Java is in the ga…
Testing Without Mocks: A Practical Guide
Are your tests slow or brittle? Do you get a sinking feeling when you need to refactor? Do you worry your unit tests aren't actually testing anything important? If so, you could benefit from exploring a mock-free approach to TDD. This session is a c…
Building Your Team to Last
Hiring and on-boarding new team members is an expensive and risky process. It's crucial to hire people who mesh well with the existing team and get them up to speed in a timely manner. Balancing this while minimizing the initial impact on productivit…

Have a comment? Join the conversation

Ready to join Agile Alliance?

Unlock members-only access to online learning sessions, Agile resources, annual conference discounts, and more! And when you join, you’ll be supporting our member initiatives, regional events, and global community groups.

Privacy Preference Center

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to SET UP AN ACCOUNT on the new platform to establish your user profile. Your previous login credentials will not work until you do this set up.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.