Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Intraprocedural dataflow analysis for software product lines
Brabrand C., Ribeiro M., Tolêdo T., Borba P.  AOSD 2012 (Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development, Potsdam, Germany, Mar 25-30, 2012)13-24.2012.Type:Proceedings
Date Reviewed: May 29 2013

Computer systems of any size are unlikely to be simple programs. Extracted from some sort of source code control, they will be configured and targeted for deployment using preprocessors, configuration, and make tools. These aspects are often neglected--for example, does your favorite refactoring tool ensure that tests and makefiles are refactored in step with the code?

One approach to taming this complexity is to use software product lines (SPLs), which the authors of this paper describe by means of sets of features (or configurations) that (de)activate certain program artifacts. They ask the following question: Given an SPL description, how does one analyze that description, for example, in a dataflow analysis? The naive approach is to analyze all the instances of the SPL, but in this paper, the authors show that a more thoughtful approach pays performance dividends, at least in the case of a number of intraprocedural analyses.

The first step of the new approach is to build an analysis that is feature sensitive so that each analysis can be performed for the features enabled by the configuration of the particular instance of the SPL, rather than making the analysis on the compiled version of the configuration. The second innovation is to perform an analysis of all the configurations simultaneously, by means of a product lattice. This has the distinct advantage of performing the fixed-point calculation once and for all, rather than repeating it for each configuration. The final innovation is to share computations in the simultaneous calculation of the analysis.

The paper gives a theoretical analysis of the speedups and presents data gathered in a number of real-world case studies. The simultaneous analysis performs particularly well in the case where the SPL is feature rich, producing a substantial speedup. Sharing computations can reduce the memory footprint of the analysis as well.

It will be interesting to see how the results of this well-written paper scale to larger systems and to interprocedural analyses in particular.

Reviewer:  Simon Thompson Review #: CR141255 (1308-0714)
Bookmark and Share
  Featured Reviewer  
 
Software/ Program Verification (D.2.4 )
 
 
Program Analysis (F.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Software/Program Verification": Date
Verification of sequential and concurrent programs
Krzysztof R., Olderog E., Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387975320)
Jul 1 1992
On verification of programs with goto statements
Lifschitz V. (ed) Information Processing Letters 18(4): 221-225, 1984. Type: Article
Mar 1 1985
The validation, verification and testing of software
Ince D. (ed), Oxford University Press, Inc., New York, NY, 1985. Type: Book (9789780198590040)
Sep 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy